commit c333fdd3656ee455e5909a6c9e1010cbdef91e6a Author: Aleksey Filippov Date: Tue Dec 3 13:37:42 2024 +0400 Lec1 diff --git a/.flake8 b/.flake8 new file mode 100644 index 0000000..79a16af --- /dev/null +++ b/.flake8 @@ -0,0 +1,2 @@ +[flake8] +max-line-length = 120 \ No newline at end of file diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..a550b61 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +* text=crlf \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d9d355f --- /dev/null +++ b/.gitignore @@ -0,0 +1,278 @@ + +# Created by https://www.toptal.com/developers/gitignore/api/python,pycharm+all +# Edit at https://www.toptal.com/developers/gitignore?templates=python,pycharm+all + +### PyCharm+all ### +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf + +# AWS User-specific +.idea/**/aws.xml + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/artifacts +# .idea/compiler.xml +# .idea/jarRepositories.xml +# .idea/modules.xml +# .idea/*.iml +# .idea/modules +# *.iml +# *.ipr + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# SonarLint plugin +.idea/sonarlint/ + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + +### PyCharm+all Patch ### +# Ignores the whole .idea folder and all .iml files +# See https://github.com/joeblau/gitignore.io/issues/186 and https://github.com/joeblau/gitignore.io/issues/360 + +.idea/* + +# Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-249601023 + +*.iml +modules.xml +.idea/misc.xml +*.ipr + +# Sonarlint plugin +.idea/sonarlint + +### Python ### +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintainted in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ + +### VisualStudioCode ### +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +!.vscode/*.code-snippets + +# Local History for Visual Studio Code +.history/ + +# Built Visual Studio Code Extensions +*.vsix + +### VisualStudioCode Patch ### +# Ignore all local history of files +.history +.ionide + +# End of https://www.toptal.com/developers/gitignore/api/python,pycharm+all + +# JS +node_modules/ + +test.csv \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..37c2cc0 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,13 @@ +{ + "recommendations": [ + "ms-python.black-formatter", + "ms-python.flake8", + "ms-python.isort", + "ms-toolsai.jupyter", + "ms-toolsai.datawrangler", + "ms-python.python", + "donjayamanne.python-environment-manager", + // optional + "usernamehw.errorlens" + ] +} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..a43b215 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,16 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "mai-service", + "type": "debugpy", + "request": "launch", + "program": "run.py", + "console": "integratedTerminal", + "justMyCode": true + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..06082f2 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,38 @@ +{ + "files.autoSave": "onFocusChange", + "files.exclude": { + "**/__pycache__": true + }, + "editor.detectIndentation": false, + "editor.formatOnType": false, + "editor.formatOnPaste": true, + "editor.formatOnSave": true, + "editor.tabSize": 4, + "editor.insertSpaces": true, + "editor.codeActionsOnSave": { + "source.organizeImports": "explicit", + "source.sortImports": "explicit" + }, + "editor.stickyScroll.enabled": false, + "diffEditor.ignoreTrimWhitespace": false, + "debug.showVariableTypes": true, + "workbench.editor.highlightModifiedTabs": true, + "git.suggestSmartCommit": false, + "git.autofetch": true, + "git.openRepositoryInParentFolders": "always", + "git.confirmSync": false, + "errorLens.gutterIconsEnabled": true, + "errorLens.messageEnabled": false, + "[python]": { + "editor.defaultFormatter": "ms-python.black-formatter", + }, + "python.languageServer": "Pylance", + "python.analysis.typeCheckingMode": "basic", + "python.analysis.autoImportCompletions": true, + "isort.args": [ + "--profile", + "black" + ], + "notebook.lineNumbers": "on", + "notebook.output.minimalErrorRendering": true, +} \ No newline at end of file diff --git a/assets/quantile.png b/assets/quantile.png new file mode 100644 index 0000000..d44e6ff Binary files /dev/null and b/assets/quantile.png differ diff --git a/data/dollar.csv b/data/dollar.csv new file mode 100644 index 0000000..3f87c92 --- /dev/null +++ b/data/dollar.csv @@ -0,0 +1,244 @@ +"my_date","my_value","bullet","bulletClass","label" +"28.03.2023","76.5662","","","" +"31.03.2023","77.0863","","","" +"01.04.2023","77.3233","","","" +"04.04.2023","77.9510","","","" +"05.04.2023","79.3563","","","" +"06.04.2023","79.4961","","","" +"07.04.2023","80.6713","","","" +"08.04.2023","82.3988","","","" +"11.04.2023","81.7441","","","" +"12.04.2023","82.1799","","","" +"13.04.2023","82.0934","","","" +"14.04.2023","81.6758","","","" +"15.04.2023","81.5045","","","" +"18.04.2023","81.6279","","","" +"19.04.2023","81.6028","","","" +"20.04.2023","81.6549","","","" +"21.04.2023","81.6188","","","" +"22.04.2023","81.4863","","","" +"25.04.2023","81.2745","","","" +"26.04.2023","81.5499","","","" +"27.04.2023","81.6274","","","" +"28.04.2023","81.5601","","","" +"29.04.2023","80.5093","","","" +"03.05.2023","79.9609","","","" +"04.05.2023","79.3071","","","" +"05.05.2023","78.6139","","","" +"06.05.2023","76.8207","","","" +"11.05.2023","76.6929","","","" +"12.05.2023","75.8846","round","min-pulsating-bullet","мин" +"13.05.2023","77.2041","","","" +"16.05.2023","79.1004","","","" +"17.05.2023","79.9798","","","" +"18.05.2023","80.7642","","","" +"19.05.2023","80.0366","","","" +"20.05.2023","79.9093","","","" +"23.05.2023","79.9379","","","" +"24.05.2023","80.1665","","","" +"25.05.2023","79.9669","","","" +"26.05.2023","79.9841","","","" +"27.05.2023","79.9667","","","" +"30.05.2023","80.0555","","","" +"31.05.2023","80.6872","","","" +"01.06.2023","80.9942","","","" +"02.06.2023","80.9657","","","" +"03.06.2023","80.8756","","","" +"06.06.2023","81.3294","","","" +"07.06.2023","81.2502","","","" +"08.06.2023","81.4581","","","" +"09.06.2023","82.0930","","","" +"10.06.2023","82.6417","","","" +"14.06.2023","83.6405","","","" +"15.06.2023","84.3249","","","" +"16.06.2023","83.9611","","","" +"17.06.2023","83.6498","","","" +"20.06.2023","83.9866","","","" +"21.06.2023","84.2336","","","" +"22.06.2023","84.2467","","","" +"23.06.2023","83.6077","","","" +"24.06.2023","84.0793","","","" +"27.06.2023","84.6642","","","" +"28.06.2023","85.0504","","","" +"29.06.2023","85.6192","","","" +"30.06.2023","87.0341","","","" +"01.07.2023","88.3844","","","" +"04.07.2023","89.3255","","","" +"05.07.2023","89.5450","","","" +"06.07.2023","90.3380","","","" +"07.07.2023","92.5695","","","" +"08.07.2023","91.6879","","","" +"11.07.2023","91.4931","","","" +"12.07.2023","90.5045","","","" +"13.07.2023","90.6253","","","" +"14.07.2023","90.1757","","","" +"15.07.2023","90.1190","","","" +"18.07.2023","90.4217","","","" +"19.07.2023","90.6906","","","" +"20.07.2023","91.2046","","","" +"21.07.2023","90.8545","","","" +"22.07.2023","90.3846","","","" +"25.07.2023","90.4890","","","" +"26.07.2023","90.0945","","","" +"27.07.2023","90.0468","","","" +"28.07.2023","90.0225","","","" +"29.07.2023","90.9783","","","" +"01.08.2023","91.5923","","","" +"02.08.2023","91.7755","","","" +"03.08.2023","92.8410","","","" +"04.08.2023","93.7792","","","" +"05.08.2023","94.8076","","","" +"08.08.2023","96.5668","","","" +"09.08.2023","96.0755","","","" +"10.08.2023","97.3999","","","" +"11.08.2023","97.2794","","","" +"12.08.2023","98.2066","","","" +"15.08.2023","101.0399","","","" +"16.08.2023","97.4217","","","" +"17.08.2023","96.7045","","","" +"18.08.2023","93.7460","","","" +"19.08.2023","93.4047","","","" +"22.08.2023","94.1424","","","" +"23.08.2023","94.1185","","","" +"24.08.2023","94.4421","","","" +"25.08.2023","94.4007","","","" +"26.08.2023","94.7117","","","" +"29.08.2023","95.4717","","","" +"30.08.2023","95.7070","","","" +"31.08.2023","95.9283","","","" +"01.09.2023","96.3344","","","" +"02.09.2023","96.3411","","","" +"05.09.2023","96.6199","","","" +"06.09.2023","97.5383","","","" +"07.09.2023","97.8439","","","" +"08.09.2023","98.1961","","","" +"09.09.2023","97.9241","","","" +"12.09.2023","96.5083","","","" +"13.09.2023","94.7035","","","" +"14.09.2023","95.9794","","","" +"15.09.2023","96.1609","","","" +"16.09.2023","96.6338","","","" +"19.09.2023","96.6472","","","" +"20.09.2023","96.2236","","","" +"21.09.2023","96.6172","","","" +"22.09.2023","96.0762","","","" +"23.09.2023","96.0419","","","" +"26.09.2023","96.1456","","","" +"27.09.2023","96.2378","","","" +"28.09.2023","96.5000","","","" +"29.09.2023","97.0018","","","" +"30.09.2023","97.4147","","","" +"03.10.2023","98.4785","","","" +"04.10.2023","99.2677","","","" +"05.10.2023","99.4555","","","" +"06.10.2023","99.6762","","","" +"07.10.2023","100.4911","","","" +"10.10.2023","101.3598","round","max-pulsating-bullet","макс" +"11.10.2023","99.9349","","","" +"12.10.2023","99.9808","","","" +"13.10.2023","96.9948","","","" +"14.10.2023","97.3075","","","" +"17.10.2023","97.2865","","","" +"18.10.2023","97.3458","","","" +"19.10.2023","97.3724","","","" +"20.10.2023","97.3074","","","" +"21.10.2023","95.9053","","","" +"24.10.2023","94.7081","","","" +"25.10.2023","93.5224","","","" +"26.10.2023","93.1507","","","" +"27.10.2023","93.5616","","","" +"28.10.2023","93.2174","","","" +"31.10.2023","93.2435","","","" +"01.11.2023","92.0226","","","" +"02.11.2023","93.2801","","","" +"03.11.2023","93.1730","","","" +"04.11.2023","93.0351","","","" +"08.11.2023","92.4151","","","" +"09.11.2023","92.1973","","","" +"10.11.2023","91.9266","","","" +"11.11.2023","92.0535","","","" +"14.11.2023","92.1185","","","" +"15.11.2023","91.2570","","","" +"16.11.2023","89.4565","","","" +"17.11.2023","88.9466","","","" +"18.11.2023","89.1237","","","" +"21.11.2023","88.4954","","","" +"22.11.2023","87.8701","","","" +"23.11.2023","88.1648","","","" +"24.11.2023","88.1206","","","" +"25.11.2023","88.8133","","","" +"28.11.2023","88.7045","","","" +"29.11.2023","88.6102","","","" +"30.11.2023","88.8841","","","" +"01.12.2023","88.5819","","","" +"02.12.2023","89.7619","","","" +"05.12.2023","90.6728","","","" +"06.12.2023","91.5823","","","" +"07.12.2023","92.7826","","","" +"08.12.2023","92.5654","","","" +"09.12.2023","91.6402","","","" +"12.12.2023","90.9846","","","" +"13.12.2023","90.2158","","","" +"14.12.2023","89.8926","","","" +"15.12.2023","89.6741","","","" +"16.12.2023","89.6966","","","" +"19.12.2023","90.4162","","","" +"20.12.2023","90.0870","","","" +"21.12.2023","90.4056","","","" +"22.12.2023","91.7062","","","" +"23.12.2023","91.9389","","","" +"26.12.2023","91.9690","","","" +"27.12.2023","91.7069","","","" +"28.12.2023","91.7051","","","" +"29.12.2023","90.3041","","","" +"30.12.2023","89.6883","","","" +"10.01.2024","90.4040","","","" +"11.01.2024","89.3939","","","" +"12.01.2024","88.7818","","","" +"13.01.2024","88.1324","","","" +"16.01.2024","87.6772","","","" +"17.01.2024","87.6457","","","" +"18.01.2024","88.3540","","","" +"19.01.2024","88.6610","","","" +"20.01.2024","88.5896","","","" +"23.01.2024","87.9724","","","" +"24.01.2024","87.9199","","","" +"25.01.2024","88.2829","","","" +"26.01.2024","88.6562","","","" +"27.01.2024","89.5159","","","" +"30.01.2024","89.6090","","","" +"31.01.2024","89.2887","","","" +"01.02.2024","89.6678","","","" +"02.02.2024","90.2299","","","" +"03.02.2024","90.6626","","","" +"06.02.2024","91.2434","","","" +"07.02.2024","90.6842","","","" +"08.02.2024","91.1514","","","" +"09.02.2024","91.2561","","","" +"10.02.2024","90.8901","","","" +"13.02.2024","91.0758","","","" +"14.02.2024","91.2057","","","" +"15.02.2024","91.4316","","","" +"16.02.2024","91.8237","","","" +"17.02.2024","92.5492","","","" +"20.02.2024","92.4102","","","" +"21.02.2024","92.3490","","","" +"22.02.2024","92.4387","","","" +"23.02.2024","92.7519","","","" +"27.02.2024","92.6321","","","" +"28.02.2024","92.0425","","","" +"29.02.2024","91.8692","","","" +"01.03.2024","90.8423","","","" +"02.03.2024","91.3336","","","" +"05.03.2024","91.3534","","","" +"06.03.2024","91.1604","","","" +"07.03.2024","90.3412","","","" +"08.03.2024","90.7493","","","" +"12.03.2024","90.6252","","","" +"13.03.2024","90.8818","","","" +"19.03.2024","91.9829","","","" +"20.03.2024","92.2243","","","" +"21.03.2024","92.6861","","","" +"22.03.2024","91.9499","","","" +"23.03.2024","92.6118","","","" +"26.03.2024","92.7761","","","" diff --git a/data/titanic.csv b/data/titanic.csv new file mode 100644 index 0000000..5cc466e --- /dev/null +++ b/data/titanic.csv @@ -0,0 +1,892 @@ +PassengerId,Survived,Pclass,Name,Sex,Age,SibSp,Parch,Ticket,Fare,Cabin,Embarked +1,0,3,"Braund, Mr. Owen Harris",male,22,1,0,A/5 21171,7.25,,S +2,1,1,"Cumings, Mrs. John Bradley (Florence Briggs Thayer)",female,38,1,0,PC 17599,71.2833,C85,C +3,1,3,"Heikkinen, Miss. Laina",female,26,0,0,STON/O2. 3101282,7.925,,S +4,1,1,"Futrelle, Mrs. Jacques Heath (Lily May Peel)",female,35,1,0,113803,53.1,C123,S +5,0,3,"Allen, Mr. William Henry",male,35,0,0,373450,8.05,,S +6,0,3,"Moran, Mr. James",male,,0,0,330877,8.4583,,Q +7,0,1,"McCarthy, Mr. Timothy J",male,54,0,0,17463,51.8625,E46,S +8,0,3,"Palsson, Master. Gosta Leonard",male,2,3,1,349909,21.075,,S +9,1,3,"Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)",female,27,0,2,347742,11.1333,,S +10,1,2,"Nasser, Mrs. Nicholas (Adele Achem)",female,14,1,0,237736,30.0708,,C +11,1,3,"Sandstrom, Miss. Marguerite Rut",female,4,1,1,PP 9549,16.7,G6,S +12,1,1,"Bonnell, Miss. Elizabeth",female,58,0,0,113783,26.55,C103,S +13,0,3,"Saundercock, Mr. William Henry",male,20,0,0,A/5. 2151,8.05,,S +14,0,3,"Andersson, Mr. Anders Johan",male,39,1,5,347082,31.275,,S +15,0,3,"Vestrom, Miss. Hulda Amanda Adolfina",female,14,0,0,350406,7.8542,,S +16,1,2,"Hewlett, Mrs. (Mary D Kingcome) ",female,55,0,0,248706,16,,S +17,0,3,"Rice, Master. Eugene",male,2,4,1,382652,29.125,,Q +18,1,2,"Williams, Mr. Charles Eugene",male,,0,0,244373,13,,S +19,0,3,"Vander Planke, Mrs. Julius (Emelia Maria Vandemoortele)",female,31,1,0,345763,18,,S +20,1,3,"Masselmani, Mrs. Fatima",female,,0,0,2649,7.225,,C +21,0,2,"Fynney, Mr. Joseph J",male,35,0,0,239865,26,,S +22,1,2,"Beesley, Mr. Lawrence",male,34,0,0,248698,13,D56,S +23,1,3,"McGowan, Miss. Anna ""Annie""",female,15,0,0,330923,8.0292,,Q +24,1,1,"Sloper, Mr. William Thompson",male,28,0,0,113788,35.5,A6,S +25,0,3,"Palsson, Miss. Torborg Danira",female,8,3,1,349909,21.075,,S +26,1,3,"Asplund, Mrs. Carl Oscar (Selma Augusta Emilia Johansson)",female,38,1,5,347077,31.3875,,S +27,0,3,"Emir, Mr. Farred Chehab",male,,0,0,2631,7.225,,C +28,0,1,"Fortune, Mr. Charles Alexander",male,19,3,2,19950,263,C23 C25 C27,S +29,1,3,"O'Dwyer, Miss. Ellen ""Nellie""",female,,0,0,330959,7.8792,,Q +30,0,3,"Todoroff, Mr. Lalio",male,,0,0,349216,7.8958,,S +31,0,1,"Uruchurtu, Don. Manuel E",male,40,0,0,PC 17601,27.7208,,C +32,1,1,"Spencer, Mrs. William Augustus (Marie Eugenie)",female,,1,0,PC 17569,146.5208,B78,C +33,1,3,"Glynn, Miss. Mary Agatha",female,,0,0,335677,7.75,,Q +34,0,2,"Wheadon, Mr. Edward H",male,66,0,0,C.A. 24579,10.5,,S +35,0,1,"Meyer, Mr. Edgar Joseph",male,28,1,0,PC 17604,82.1708,,C +36,0,1,"Holverson, Mr. Alexander Oskar",male,42,1,0,113789,52,,S +37,1,3,"Mamee, Mr. Hanna",male,,0,0,2677,7.2292,,C +38,0,3,"Cann, Mr. Ernest Charles",male,21,0,0,A./5. 2152,8.05,,S +39,0,3,"Vander Planke, Miss. Augusta Maria",female,18,2,0,345764,18,,S +40,1,3,"Nicola-Yarred, Miss. Jamila",female,14,1,0,2651,11.2417,,C +41,0,3,"Ahlin, Mrs. Johan (Johanna Persdotter Larsson)",female,40,1,0,7546,9.475,,S +42,0,2,"Turpin, Mrs. William John Robert (Dorothy Ann Wonnacott)",female,27,1,0,11668,21,,S +43,0,3,"Kraeff, Mr. Theodor",male,,0,0,349253,7.8958,,C +44,1,2,"Laroche, Miss. Simonne Marie Anne Andree",female,3,1,2,SC/Paris 2123,41.5792,,C +45,1,3,"Devaney, Miss. Margaret Delia",female,19,0,0,330958,7.8792,,Q +46,0,3,"Rogers, Mr. William John",male,,0,0,S.C./A.4. 23567,8.05,,S +47,0,3,"Lennon, Mr. Denis",male,,1,0,370371,15.5,,Q +48,1,3,"O'Driscoll, Miss. Bridget",female,,0,0,14311,7.75,,Q +49,0,3,"Samaan, Mr. Youssef",male,,2,0,2662,21.6792,,C +50,0,3,"Arnold-Franchi, Mrs. Josef (Josefine Franchi)",female,18,1,0,349237,17.8,,S +51,0,3,"Panula, Master. Juha Niilo",male,7,4,1,3101295,39.6875,,S +52,0,3,"Nosworthy, Mr. Richard Cater",male,21,0,0,A/4. 39886,7.8,,S +53,1,1,"Harper, Mrs. Henry Sleeper (Myna Haxtun)",female,49,1,0,PC 17572,76.7292,D33,C +54,1,2,"Faunthorpe, Mrs. Lizzie (Elizabeth Anne Wilkinson)",female,29,1,0,2926,26,,S +55,0,1,"Ostby, Mr. Engelhart Cornelius",male,65,0,1,113509,61.9792,B30,C +56,1,1,"Woolner, Mr. Hugh",male,,0,0,19947,35.5,C52,S +57,1,2,"Rugg, Miss. Emily",female,21,0,0,C.A. 31026,10.5,,S +58,0,3,"Novel, Mr. Mansouer",male,28.5,0,0,2697,7.2292,,C +59,1,2,"West, Miss. Constance Mirium",female,5,1,2,C.A. 34651,27.75,,S +60,0,3,"Goodwin, Master. William Frederick",male,11,5,2,CA 2144,46.9,,S +61,0,3,"Sirayanian, Mr. Orsen",male,22,0,0,2669,7.2292,,C +62,1,1,"Icard, Miss. Amelie",female,38,0,0,113572,80,B28, +63,0,1,"Harris, Mr. Henry Birkhardt",male,45,1,0,36973,83.475,C83,S +64,0,3,"Skoog, Master. Harald",male,4,3,2,347088,27.9,,S +65,0,1,"Stewart, Mr. Albert A",male,,0,0,PC 17605,27.7208,,C +66,1,3,"Moubarek, Master. Gerios",male,,1,1,2661,15.2458,,C +67,1,2,"Nye, Mrs. (Elizabeth Ramell)",female,29,0,0,C.A. 29395,10.5,F33,S +68,0,3,"Crease, Mr. Ernest James",male,19,0,0,S.P. 3464,8.1583,,S +69,1,3,"Andersson, Miss. Erna Alexandra",female,17,4,2,3101281,7.925,,S +70,0,3,"Kink, Mr. Vincenz",male,26,2,0,315151,8.6625,,S +71,0,2,"Jenkin, Mr. Stephen Curnow",male,32,0,0,C.A. 33111,10.5,,S +72,0,3,"Goodwin, Miss. Lillian Amy",female,16,5,2,CA 2144,46.9,,S +73,0,2,"Hood, Mr. Ambrose Jr",male,21,0,0,S.O.C. 14879,73.5,,S +74,0,3,"Chronopoulos, Mr. Apostolos",male,26,1,0,2680,14.4542,,C +75,1,3,"Bing, Mr. Lee",male,32,0,0,1601,56.4958,,S +76,0,3,"Moen, Mr. Sigurd Hansen",male,25,0,0,348123,7.65,F G73,S +77,0,3,"Staneff, Mr. Ivan",male,,0,0,349208,7.8958,,S +78,0,3,"Moutal, Mr. Rahamin Haim",male,,0,0,374746,8.05,,S +79,1,2,"Caldwell, Master. Alden Gates",male,0.83,0,2,248738,29,,S +80,1,3,"Dowdell, Miss. Elizabeth",female,30,0,0,364516,12.475,,S +81,0,3,"Waelens, Mr. Achille",male,22,0,0,345767,9,,S +82,1,3,"Sheerlinck, Mr. Jan Baptist",male,29,0,0,345779,9.5,,S +83,1,3,"McDermott, Miss. Brigdet Delia",female,,0,0,330932,7.7875,,Q +84,0,1,"Carrau, Mr. Francisco M",male,28,0,0,113059,47.1,,S +85,1,2,"Ilett, Miss. Bertha",female,17,0,0,SO/C 14885,10.5,,S +86,1,3,"Backstrom, Mrs. Karl Alfred (Maria Mathilda Gustafsson)",female,33,3,0,3101278,15.85,,S +87,0,3,"Ford, Mr. William Neal",male,16,1,3,W./C. 6608,34.375,,S +88,0,3,"Slocovski, Mr. Selman Francis",male,,0,0,SOTON/OQ 392086,8.05,,S +89,1,1,"Fortune, Miss. Mabel Helen",female,23,3,2,19950,263,C23 C25 C27,S +90,0,3,"Celotti, Mr. Francesco",male,24,0,0,343275,8.05,,S +91,0,3,"Christmann, Mr. Emil",male,29,0,0,343276,8.05,,S +92,0,3,"Andreasson, Mr. Paul Edvin",male,20,0,0,347466,7.8542,,S +93,0,1,"Chaffee, Mr. Herbert Fuller",male,46,1,0,W.E.P. 5734,61.175,E31,S +94,0,3,"Dean, Mr. Bertram Frank",male,26,1,2,C.A. 2315,20.575,,S +95,0,3,"Coxon, Mr. Daniel",male,59,0,0,364500,7.25,,S +96,0,3,"Shorney, Mr. Charles Joseph",male,,0,0,374910,8.05,,S +97,0,1,"Goldschmidt, Mr. George B",male,71,0,0,PC 17754,34.6542,A5,C +98,1,1,"Greenfield, Mr. William Bertram",male,23,0,1,PC 17759,63.3583,D10 D12,C +99,1,2,"Doling, Mrs. John T (Ada Julia Bone)",female,34,0,1,231919,23,,S +100,0,2,"Kantor, Mr. Sinai",male,34,1,0,244367,26,,S +101,0,3,"Petranec, Miss. Matilda",female,28,0,0,349245,7.8958,,S +102,0,3,"Petroff, Mr. Pastcho (""Pentcho"")",male,,0,0,349215,7.8958,,S +103,0,1,"White, Mr. Richard Frasar",male,21,0,1,35281,77.2875,D26,S +104,0,3,"Johansson, Mr. Gustaf Joel",male,33,0,0,7540,8.6542,,S +105,0,3,"Gustafsson, Mr. Anders Vilhelm",male,37,2,0,3101276,7.925,,S +106,0,3,"Mionoff, Mr. Stoytcho",male,28,0,0,349207,7.8958,,S +107,1,3,"Salkjelsvik, Miss. Anna Kristine",female,21,0,0,343120,7.65,,S +108,1,3,"Moss, Mr. Albert Johan",male,,0,0,312991,7.775,,S +109,0,3,"Rekic, Mr. Tido",male,38,0,0,349249,7.8958,,S +110,1,3,"Moran, Miss. Bertha",female,,1,0,371110,24.15,,Q +111,0,1,"Porter, Mr. Walter Chamberlain",male,47,0,0,110465,52,C110,S +112,0,3,"Zabour, Miss. Hileni",female,14.5,1,0,2665,14.4542,,C +113,0,3,"Barton, Mr. David John",male,22,0,0,324669,8.05,,S +114,0,3,"Jussila, Miss. Katriina",female,20,1,0,4136,9.825,,S +115,0,3,"Attalah, Miss. Malake",female,17,0,0,2627,14.4583,,C +116,0,3,"Pekoniemi, Mr. Edvard",male,21,0,0,STON/O 2. 3101294,7.925,,S +117,0,3,"Connors, Mr. Patrick",male,70.5,0,0,370369,7.75,,Q +118,0,2,"Turpin, Mr. William John Robert",male,29,1,0,11668,21,,S +119,0,1,"Baxter, Mr. Quigg Edmond",male,24,0,1,PC 17558,247.5208,B58 B60,C +120,0,3,"Andersson, Miss. Ellis Anna Maria",female,2,4,2,347082,31.275,,S +121,0,2,"Hickman, Mr. Stanley George",male,21,2,0,S.O.C. 14879,73.5,,S +122,0,3,"Moore, Mr. Leonard Charles",male,,0,0,A4. 54510,8.05,,S +123,0,2,"Nasser, Mr. Nicholas",male,32.5,1,0,237736,30.0708,,C +124,1,2,"Webber, Miss. Susan",female,32.5,0,0,27267,13,E101,S +125,0,1,"White, Mr. Percival Wayland",male,54,0,1,35281,77.2875,D26,S +126,1,3,"Nicola-Yarred, Master. Elias",male,12,1,0,2651,11.2417,,C +127,0,3,"McMahon, Mr. Martin",male,,0,0,370372,7.75,,Q +128,1,3,"Madsen, Mr. Fridtjof Arne",male,24,0,0,C 17369,7.1417,,S +129,1,3,"Peter, Miss. Anna",female,,1,1,2668,22.3583,F E69,C +130,0,3,"Ekstrom, Mr. Johan",male,45,0,0,347061,6.975,,S +131,0,3,"Drazenoic, Mr. Jozef",male,33,0,0,349241,7.8958,,C +132,0,3,"Coelho, Mr. Domingos Fernandeo",male,20,0,0,SOTON/O.Q. 3101307,7.05,,S +133,0,3,"Robins, Mrs. Alexander A (Grace Charity Laury)",female,47,1,0,A/5. 3337,14.5,,S +134,1,2,"Weisz, Mrs. Leopold (Mathilde Francoise Pede)",female,29,1,0,228414,26,,S +135,0,2,"Sobey, Mr. Samuel James Hayden",male,25,0,0,C.A. 29178,13,,S +136,0,2,"Richard, Mr. Emile",male,23,0,0,SC/PARIS 2133,15.0458,,C +137,1,1,"Newsom, Miss. Helen Monypeny",female,19,0,2,11752,26.2833,D47,S +138,0,1,"Futrelle, Mr. Jacques Heath",male,37,1,0,113803,53.1,C123,S +139,0,3,"Osen, Mr. Olaf Elon",male,16,0,0,7534,9.2167,,S +140,0,1,"Giglio, Mr. Victor",male,24,0,0,PC 17593,79.2,B86,C +141,0,3,"Boulos, Mrs. Joseph (Sultana)",female,,0,2,2678,15.2458,,C +142,1,3,"Nysten, Miss. Anna Sofia",female,22,0,0,347081,7.75,,S +143,1,3,"Hakkarainen, Mrs. Pekka Pietari (Elin Matilda Dolck)",female,24,1,0,STON/O2. 3101279,15.85,,S +144,0,3,"Burke, Mr. Jeremiah",male,19,0,0,365222,6.75,,Q +145,0,2,"Andrew, Mr. Edgardo Samuel",male,18,0,0,231945,11.5,,S +146,0,2,"Nicholls, Mr. Joseph Charles",male,19,1,1,C.A. 33112,36.75,,S +147,1,3,"Andersson, Mr. August Edvard (""Wennerstrom"")",male,27,0,0,350043,7.7958,,S +148,0,3,"Ford, Miss. Robina Maggie ""Ruby""",female,9,2,2,W./C. 6608,34.375,,S +149,0,2,"Navratil, Mr. Michel (""Louis M Hoffman"")",male,36.5,0,2,230080,26,F2,S +150,0,2,"Byles, Rev. Thomas Roussel Davids",male,42,0,0,244310,13,,S +151,0,2,"Bateman, Rev. Robert James",male,51,0,0,S.O.P. 1166,12.525,,S +152,1,1,"Pears, Mrs. Thomas (Edith Wearne)",female,22,1,0,113776,66.6,C2,S +153,0,3,"Meo, Mr. Alfonzo",male,55.5,0,0,A.5. 11206,8.05,,S +154,0,3,"van Billiard, Mr. Austin Blyler",male,40.5,0,2,A/5. 851,14.5,,S +155,0,3,"Olsen, Mr. Ole Martin",male,,0,0,Fa 265302,7.3125,,S +156,0,1,"Williams, Mr. Charles Duane",male,51,0,1,PC 17597,61.3792,,C +157,1,3,"Gilnagh, Miss. Katherine ""Katie""",female,16,0,0,35851,7.7333,,Q +158,0,3,"Corn, Mr. Harry",male,30,0,0,SOTON/OQ 392090,8.05,,S +159,0,3,"Smiljanic, Mr. Mile",male,,0,0,315037,8.6625,,S +160,0,3,"Sage, Master. Thomas Henry",male,,8,2,CA. 2343,69.55,,S +161,0,3,"Cribb, Mr. John Hatfield",male,44,0,1,371362,16.1,,S +162,1,2,"Watt, Mrs. James (Elizabeth ""Bessie"" Inglis Milne)",female,40,0,0,C.A. 33595,15.75,,S +163,0,3,"Bengtsson, Mr. John Viktor",male,26,0,0,347068,7.775,,S +164,0,3,"Calic, Mr. Jovo",male,17,0,0,315093,8.6625,,S +165,0,3,"Panula, Master. Eino Viljami",male,1,4,1,3101295,39.6875,,S +166,1,3,"Goldsmith, Master. Frank John William ""Frankie""",male,9,0,2,363291,20.525,,S +167,1,1,"Chibnall, Mrs. (Edith Martha Bowerman)",female,,0,1,113505,55,E33,S +168,0,3,"Skoog, Mrs. William (Anna Bernhardina Karlsson)",female,45,1,4,347088,27.9,,S +169,0,1,"Baumann, Mr. John D",male,,0,0,PC 17318,25.925,,S +170,0,3,"Ling, Mr. Lee",male,28,0,0,1601,56.4958,,S +171,0,1,"Van der hoef, Mr. Wyckoff",male,61,0,0,111240,33.5,B19,S +172,0,3,"Rice, Master. Arthur",male,4,4,1,382652,29.125,,Q +173,1,3,"Johnson, Miss. Eleanor Ileen",female,1,1,1,347742,11.1333,,S +174,0,3,"Sivola, Mr. Antti Wilhelm",male,21,0,0,STON/O 2. 3101280,7.925,,S +175,0,1,"Smith, Mr. James Clinch",male,56,0,0,17764,30.6958,A7,C +176,0,3,"Klasen, Mr. Klas Albin",male,18,1,1,350404,7.8542,,S +177,0,3,"Lefebre, Master. Henry Forbes",male,,3,1,4133,25.4667,,S +178,0,1,"Isham, Miss. Ann Elizabeth",female,50,0,0,PC 17595,28.7125,C49,C +179,0,2,"Hale, Mr. Reginald",male,30,0,0,250653,13,,S +180,0,3,"Leonard, Mr. Lionel",male,36,0,0,LINE,0,,S +181,0,3,"Sage, Miss. Constance Gladys",female,,8,2,CA. 2343,69.55,,S +182,0,2,"Pernot, Mr. Rene",male,,0,0,SC/PARIS 2131,15.05,,C +183,0,3,"Asplund, Master. Clarence Gustaf Hugo",male,9,4,2,347077,31.3875,,S +184,1,2,"Becker, Master. Richard F",male,1,2,1,230136,39,F4,S +185,1,3,"Kink-Heilmann, Miss. Luise Gretchen",female,4,0,2,315153,22.025,,S +186,0,1,"Rood, Mr. Hugh Roscoe",male,,0,0,113767,50,A32,S +187,1,3,"O'Brien, Mrs. Thomas (Johanna ""Hannah"" Godfrey)",female,,1,0,370365,15.5,,Q +188,1,1,"Romaine, Mr. Charles Hallace (""Mr C Rolmane"")",male,45,0,0,111428,26.55,,S +189,0,3,"Bourke, Mr. John",male,40,1,1,364849,15.5,,Q +190,0,3,"Turcin, Mr. Stjepan",male,36,0,0,349247,7.8958,,S +191,1,2,"Pinsky, Mrs. (Rosa)",female,32,0,0,234604,13,,S +192,0,2,"Carbines, Mr. William",male,19,0,0,28424,13,,S +193,1,3,"Andersen-Jensen, Miss. Carla Christine Nielsine",female,19,1,0,350046,7.8542,,S +194,1,2,"Navratil, Master. Michel M",male,3,1,1,230080,26,F2,S +195,1,1,"Brown, Mrs. James Joseph (Margaret Tobin)",female,44,0,0,PC 17610,27.7208,B4,C +196,1,1,"Lurette, Miss. Elise",female,58,0,0,PC 17569,146.5208,B80,C +197,0,3,"Mernagh, Mr. Robert",male,,0,0,368703,7.75,,Q +198,0,3,"Olsen, Mr. Karl Siegwart Andreas",male,42,0,1,4579,8.4042,,S +199,1,3,"Madigan, Miss. Margaret ""Maggie""",female,,0,0,370370,7.75,,Q +200,0,2,"Yrois, Miss. Henriette (""Mrs Harbeck"")",female,24,0,0,248747,13,,S +201,0,3,"Vande Walle, Mr. Nestor Cyriel",male,28,0,0,345770,9.5,,S +202,0,3,"Sage, Mr. Frederick",male,,8,2,CA. 2343,69.55,,S +203,0,3,"Johanson, Mr. Jakob Alfred",male,34,0,0,3101264,6.4958,,S +204,0,3,"Youseff, Mr. Gerious",male,45.5,0,0,2628,7.225,,C +205,1,3,"Cohen, Mr. Gurshon ""Gus""",male,18,0,0,A/5 3540,8.05,,S +206,0,3,"Strom, Miss. Telma Matilda",female,2,0,1,347054,10.4625,G6,S +207,0,3,"Backstrom, Mr. Karl Alfred",male,32,1,0,3101278,15.85,,S +208,1,3,"Albimona, Mr. Nassef Cassem",male,26,0,0,2699,18.7875,,C +209,1,3,"Carr, Miss. Helen ""Ellen""",female,16,0,0,367231,7.75,,Q +210,1,1,"Blank, Mr. Henry",male,40,0,0,112277,31,A31,C +211,0,3,"Ali, Mr. Ahmed",male,24,0,0,SOTON/O.Q. 3101311,7.05,,S +212,1,2,"Cameron, Miss. Clear Annie",female,35,0,0,F.C.C. 13528,21,,S +213,0,3,"Perkin, Mr. John Henry",male,22,0,0,A/5 21174,7.25,,S +214,0,2,"Givard, Mr. Hans Kristensen",male,30,0,0,250646,13,,S +215,0,3,"Kiernan, Mr. Philip",male,,1,0,367229,7.75,,Q +216,1,1,"Newell, Miss. Madeleine",female,31,1,0,35273,113.275,D36,C +217,1,3,"Honkanen, Miss. Eliina",female,27,0,0,STON/O2. 3101283,7.925,,S +218,0,2,"Jacobsohn, Mr. Sidney Samuel",male,42,1,0,243847,27,,S +219,1,1,"Bazzani, Miss. Albina",female,32,0,0,11813,76.2917,D15,C +220,0,2,"Harris, Mr. Walter",male,30,0,0,W/C 14208,10.5,,S +221,1,3,"Sunderland, Mr. Victor Francis",male,16,0,0,SOTON/OQ 392089,8.05,,S +222,0,2,"Bracken, Mr. James H",male,27,0,0,220367,13,,S +223,0,3,"Green, Mr. George Henry",male,51,0,0,21440,8.05,,S +224,0,3,"Nenkoff, Mr. Christo",male,,0,0,349234,7.8958,,S +225,1,1,"Hoyt, Mr. Frederick Maxfield",male,38,1,0,19943,90,C93,S +226,0,3,"Berglund, Mr. Karl Ivar Sven",male,22,0,0,PP 4348,9.35,,S +227,1,2,"Mellors, Mr. William John",male,19,0,0,SW/PP 751,10.5,,S +228,0,3,"Lovell, Mr. John Hall (""Henry"")",male,20.5,0,0,A/5 21173,7.25,,S +229,0,2,"Fahlstrom, Mr. Arne Jonas",male,18,0,0,236171,13,,S +230,0,3,"Lefebre, Miss. Mathilde",female,,3,1,4133,25.4667,,S +231,1,1,"Harris, Mrs. Henry Birkhardt (Irene Wallach)",female,35,1,0,36973,83.475,C83,S +232,0,3,"Larsson, Mr. Bengt Edvin",male,29,0,0,347067,7.775,,S +233,0,2,"Sjostedt, Mr. Ernst Adolf",male,59,0,0,237442,13.5,,S +234,1,3,"Asplund, Miss. Lillian Gertrud",female,5,4,2,347077,31.3875,,S +235,0,2,"Leyson, Mr. Robert William Norman",male,24,0,0,C.A. 29566,10.5,,S +236,0,3,"Harknett, Miss. Alice Phoebe",female,,0,0,W./C. 6609,7.55,,S +237,0,2,"Hold, Mr. Stephen",male,44,1,0,26707,26,,S +238,1,2,"Collyer, Miss. Marjorie ""Lottie""",female,8,0,2,C.A. 31921,26.25,,S +239,0,2,"Pengelly, Mr. Frederick William",male,19,0,0,28665,10.5,,S +240,0,2,"Hunt, Mr. George Henry",male,33,0,0,SCO/W 1585,12.275,,S +241,0,3,"Zabour, Miss. Thamine",female,,1,0,2665,14.4542,,C +242,1,3,"Murphy, Miss. Katherine ""Kate""",female,,1,0,367230,15.5,,Q +243,0,2,"Coleridge, Mr. Reginald Charles",male,29,0,0,W./C. 14263,10.5,,S +244,0,3,"Maenpaa, Mr. Matti Alexanteri",male,22,0,0,STON/O 2. 3101275,7.125,,S +245,0,3,"Attalah, Mr. Sleiman",male,30,0,0,2694,7.225,,C +246,0,1,"Minahan, Dr. William Edward",male,44,2,0,19928,90,C78,Q +247,0,3,"Lindahl, Miss. Agda Thorilda Viktoria",female,25,0,0,347071,7.775,,S +248,1,2,"Hamalainen, Mrs. William (Anna)",female,24,0,2,250649,14.5,,S +249,1,1,"Beckwith, Mr. Richard Leonard",male,37,1,1,11751,52.5542,D35,S +250,0,2,"Carter, Rev. Ernest Courtenay",male,54,1,0,244252,26,,S +251,0,3,"Reed, Mr. James George",male,,0,0,362316,7.25,,S +252,0,3,"Strom, Mrs. Wilhelm (Elna Matilda Persson)",female,29,1,1,347054,10.4625,G6,S +253,0,1,"Stead, Mr. William Thomas",male,62,0,0,113514,26.55,C87,S +254,0,3,"Lobb, Mr. William Arthur",male,30,1,0,A/5. 3336,16.1,,S +255,0,3,"Rosblom, Mrs. Viktor (Helena Wilhelmina)",female,41,0,2,370129,20.2125,,S +256,1,3,"Touma, Mrs. Darwis (Hanne Youssef Razi)",female,29,0,2,2650,15.2458,,C +257,1,1,"Thorne, Mrs. Gertrude Maybelle",female,,0,0,PC 17585,79.2,,C +258,1,1,"Cherry, Miss. Gladys",female,30,0,0,110152,86.5,B77,S +259,1,1,"Ward, Miss. Anna",female,35,0,0,PC 17755,512.3292,,C +260,1,2,"Parrish, Mrs. (Lutie Davis)",female,50,0,1,230433,26,,S +261,0,3,"Smith, Mr. Thomas",male,,0,0,384461,7.75,,Q +262,1,3,"Asplund, Master. Edvin Rojj Felix",male,3,4,2,347077,31.3875,,S +263,0,1,"Taussig, Mr. Emil",male,52,1,1,110413,79.65,E67,S +264,0,1,"Harrison, Mr. William",male,40,0,0,112059,0,B94,S +265,0,3,"Henry, Miss. Delia",female,,0,0,382649,7.75,,Q +266,0,2,"Reeves, Mr. David",male,36,0,0,C.A. 17248,10.5,,S +267,0,3,"Panula, Mr. Ernesti Arvid",male,16,4,1,3101295,39.6875,,S +268,1,3,"Persson, Mr. Ernst Ulrik",male,25,1,0,347083,7.775,,S +269,1,1,"Graham, Mrs. William Thompson (Edith Junkins)",female,58,0,1,PC 17582,153.4625,C125,S +270,1,1,"Bissette, Miss. Amelia",female,35,0,0,PC 17760,135.6333,C99,S +271,0,1,"Cairns, Mr. Alexander",male,,0,0,113798,31,,S +272,1,3,"Tornquist, Mr. William Henry",male,25,0,0,LINE,0,,S +273,1,2,"Mellinger, Mrs. (Elizabeth Anne Maidment)",female,41,0,1,250644,19.5,,S +274,0,1,"Natsch, Mr. Charles H",male,37,0,1,PC 17596,29.7,C118,C +275,1,3,"Healy, Miss. Hanora ""Nora""",female,,0,0,370375,7.75,,Q +276,1,1,"Andrews, Miss. Kornelia Theodosia",female,63,1,0,13502,77.9583,D7,S +277,0,3,"Lindblom, Miss. Augusta Charlotta",female,45,0,0,347073,7.75,,S +278,0,2,"Parkes, Mr. Francis ""Frank""",male,,0,0,239853,0,,S +279,0,3,"Rice, Master. Eric",male,7,4,1,382652,29.125,,Q +280,1,3,"Abbott, Mrs. Stanton (Rosa Hunt)",female,35,1,1,C.A. 2673,20.25,,S +281,0,3,"Duane, Mr. Frank",male,65,0,0,336439,7.75,,Q +282,0,3,"Olsson, Mr. Nils Johan Goransson",male,28,0,0,347464,7.8542,,S +283,0,3,"de Pelsmaeker, Mr. Alfons",male,16,0,0,345778,9.5,,S +284,1,3,"Dorking, Mr. Edward Arthur",male,19,0,0,A/5. 10482,8.05,,S +285,0,1,"Smith, Mr. Richard William",male,,0,0,113056,26,A19,S +286,0,3,"Stankovic, Mr. Ivan",male,33,0,0,349239,8.6625,,C +287,1,3,"de Mulder, Mr. Theodore",male,30,0,0,345774,9.5,,S +288,0,3,"Naidenoff, Mr. Penko",male,22,0,0,349206,7.8958,,S +289,1,2,"Hosono, Mr. Masabumi",male,42,0,0,237798,13,,S +290,1,3,"Connolly, Miss. Kate",female,22,0,0,370373,7.75,,Q +291,1,1,"Barber, Miss. Ellen ""Nellie""",female,26,0,0,19877,78.85,,S +292,1,1,"Bishop, Mrs. Dickinson H (Helen Walton)",female,19,1,0,11967,91.0792,B49,C +293,0,2,"Levy, Mr. Rene Jacques",male,36,0,0,SC/Paris 2163,12.875,D,C +294,0,3,"Haas, Miss. Aloisia",female,24,0,0,349236,8.85,,S +295,0,3,"Mineff, Mr. Ivan",male,24,0,0,349233,7.8958,,S +296,0,1,"Lewy, Mr. Ervin G",male,,0,0,PC 17612,27.7208,,C +297,0,3,"Hanna, Mr. Mansour",male,23.5,0,0,2693,7.2292,,C +298,0,1,"Allison, Miss. Helen Loraine",female,2,1,2,113781,151.55,C22 C26,S +299,1,1,"Saalfeld, Mr. Adolphe",male,,0,0,19988,30.5,C106,S +300,1,1,"Baxter, Mrs. James (Helene DeLaudeniere Chaput)",female,50,0,1,PC 17558,247.5208,B58 B60,C +301,1,3,"Kelly, Miss. Anna Katherine ""Annie Kate""",female,,0,0,9234,7.75,,Q +302,1,3,"McCoy, Mr. Bernard",male,,2,0,367226,23.25,,Q +303,0,3,"Johnson, Mr. William Cahoone Jr",male,19,0,0,LINE,0,,S +304,1,2,"Keane, Miss. Nora A",female,,0,0,226593,12.35,E101,Q +305,0,3,"Williams, Mr. Howard Hugh ""Harry""",male,,0,0,A/5 2466,8.05,,S +306,1,1,"Allison, Master. Hudson Trevor",male,0.92,1,2,113781,151.55,C22 C26,S +307,1,1,"Fleming, Miss. Margaret",female,,0,0,17421,110.8833,,C +308,1,1,"Penasco y Castellana, Mrs. Victor de Satode (Maria Josefa Perez de Soto y Vallejo)",female,17,1,0,PC 17758,108.9,C65,C +309,0,2,"Abelson, Mr. Samuel",male,30,1,0,P/PP 3381,24,,C +310,1,1,"Francatelli, Miss. Laura Mabel",female,30,0,0,PC 17485,56.9292,E36,C +311,1,1,"Hays, Miss. Margaret Bechstein",female,24,0,0,11767,83.1583,C54,C +312,1,1,"Ryerson, Miss. Emily Borie",female,18,2,2,PC 17608,262.375,B57 B59 B63 B66,C +313,0,2,"Lahtinen, Mrs. William (Anna Sylfven)",female,26,1,1,250651,26,,S +314,0,3,"Hendekovic, Mr. Ignjac",male,28,0,0,349243,7.8958,,S +315,0,2,"Hart, Mr. Benjamin",male,43,1,1,F.C.C. 13529,26.25,,S +316,1,3,"Nilsson, Miss. Helmina Josefina",female,26,0,0,347470,7.8542,,S +317,1,2,"Kantor, Mrs. Sinai (Miriam Sternin)",female,24,1,0,244367,26,,S +318,0,2,"Moraweck, Dr. Ernest",male,54,0,0,29011,14,,S +319,1,1,"Wick, Miss. Mary Natalie",female,31,0,2,36928,164.8667,C7,S +320,1,1,"Spedden, Mrs. Frederic Oakley (Margaretta Corning Stone)",female,40,1,1,16966,134.5,E34,C +321,0,3,"Dennis, Mr. Samuel",male,22,0,0,A/5 21172,7.25,,S +322,0,3,"Danoff, Mr. Yoto",male,27,0,0,349219,7.8958,,S +323,1,2,"Slayter, Miss. Hilda Mary",female,30,0,0,234818,12.35,,Q +324,1,2,"Caldwell, Mrs. Albert Francis (Sylvia Mae Harbaugh)",female,22,1,1,248738,29,,S +325,0,3,"Sage, Mr. George John Jr",male,,8,2,CA. 2343,69.55,,S +326,1,1,"Young, Miss. Marie Grice",female,36,0,0,PC 17760,135.6333,C32,C +327,0,3,"Nysveen, Mr. Johan Hansen",male,61,0,0,345364,6.2375,,S +328,1,2,"Ball, Mrs. (Ada E Hall)",female,36,0,0,28551,13,D,S +329,1,3,"Goldsmith, Mrs. Frank John (Emily Alice Brown)",female,31,1,1,363291,20.525,,S +330,1,1,"Hippach, Miss. Jean Gertrude",female,16,0,1,111361,57.9792,B18,C +331,1,3,"McCoy, Miss. Agnes",female,,2,0,367226,23.25,,Q +332,0,1,"Partner, Mr. Austen",male,45.5,0,0,113043,28.5,C124,S +333,0,1,"Graham, Mr. George Edward",male,38,0,1,PC 17582,153.4625,C91,S +334,0,3,"Vander Planke, Mr. Leo Edmondus",male,16,2,0,345764,18,,S +335,1,1,"Frauenthal, Mrs. Henry William (Clara Heinsheimer)",female,,1,0,PC 17611,133.65,,S +336,0,3,"Denkoff, Mr. Mitto",male,,0,0,349225,7.8958,,S +337,0,1,"Pears, Mr. Thomas Clinton",male,29,1,0,113776,66.6,C2,S +338,1,1,"Burns, Miss. Elizabeth Margaret",female,41,0,0,16966,134.5,E40,C +339,1,3,"Dahl, Mr. Karl Edwart",male,45,0,0,7598,8.05,,S +340,0,1,"Blackwell, Mr. Stephen Weart",male,45,0,0,113784,35.5,T,S +341,1,2,"Navratil, Master. Edmond Roger",male,2,1,1,230080,26,F2,S +342,1,1,"Fortune, Miss. Alice Elizabeth",female,24,3,2,19950,263,C23 C25 C27,S +343,0,2,"Collander, Mr. Erik Gustaf",male,28,0,0,248740,13,,S +344,0,2,"Sedgwick, Mr. Charles Frederick Waddington",male,25,0,0,244361,13,,S +345,0,2,"Fox, Mr. Stanley Hubert",male,36,0,0,229236,13,,S +346,1,2,"Brown, Miss. Amelia ""Mildred""",female,24,0,0,248733,13,F33,S +347,1,2,"Smith, Miss. Marion Elsie",female,40,0,0,31418,13,,S +348,1,3,"Davison, Mrs. Thomas Henry (Mary E Finck)",female,,1,0,386525,16.1,,S +349,1,3,"Coutts, Master. William Loch ""William""",male,3,1,1,C.A. 37671,15.9,,S +350,0,3,"Dimic, Mr. Jovan",male,42,0,0,315088,8.6625,,S +351,0,3,"Odahl, Mr. Nils Martin",male,23,0,0,7267,9.225,,S +352,0,1,"Williams-Lambert, Mr. Fletcher Fellows",male,,0,0,113510,35,C128,S +353,0,3,"Elias, Mr. Tannous",male,15,1,1,2695,7.2292,,C +354,0,3,"Arnold-Franchi, Mr. Josef",male,25,1,0,349237,17.8,,S +355,0,3,"Yousif, Mr. Wazli",male,,0,0,2647,7.225,,C +356,0,3,"Vanden Steen, Mr. Leo Peter",male,28,0,0,345783,9.5,,S +357,1,1,"Bowerman, Miss. Elsie Edith",female,22,0,1,113505,55,E33,S +358,0,2,"Funk, Miss. Annie Clemmer",female,38,0,0,237671,13,,S +359,1,3,"McGovern, Miss. Mary",female,,0,0,330931,7.8792,,Q +360,1,3,"Mockler, Miss. Helen Mary ""Ellie""",female,,0,0,330980,7.8792,,Q +361,0,3,"Skoog, Mr. Wilhelm",male,40,1,4,347088,27.9,,S +362,0,2,"del Carlo, Mr. Sebastiano",male,29,1,0,SC/PARIS 2167,27.7208,,C +363,0,3,"Barbara, Mrs. (Catherine David)",female,45,0,1,2691,14.4542,,C +364,0,3,"Asim, Mr. Adola",male,35,0,0,SOTON/O.Q. 3101310,7.05,,S +365,0,3,"O'Brien, Mr. Thomas",male,,1,0,370365,15.5,,Q +366,0,3,"Adahl, Mr. Mauritz Nils Martin",male,30,0,0,C 7076,7.25,,S +367,1,1,"Warren, Mrs. Frank Manley (Anna Sophia Atkinson)",female,60,1,0,110813,75.25,D37,C +368,1,3,"Moussa, Mrs. (Mantoura Boulos)",female,,0,0,2626,7.2292,,C +369,1,3,"Jermyn, Miss. Annie",female,,0,0,14313,7.75,,Q +370,1,1,"Aubart, Mme. Leontine Pauline",female,24,0,0,PC 17477,69.3,B35,C +371,1,1,"Harder, Mr. George Achilles",male,25,1,0,11765,55.4417,E50,C +372,0,3,"Wiklund, Mr. Jakob Alfred",male,18,1,0,3101267,6.4958,,S +373,0,3,"Beavan, Mr. William Thomas",male,19,0,0,323951,8.05,,S +374,0,1,"Ringhini, Mr. Sante",male,22,0,0,PC 17760,135.6333,,C +375,0,3,"Palsson, Miss. Stina Viola",female,3,3,1,349909,21.075,,S +376,1,1,"Meyer, Mrs. Edgar Joseph (Leila Saks)",female,,1,0,PC 17604,82.1708,,C +377,1,3,"Landergren, Miss. Aurora Adelia",female,22,0,0,C 7077,7.25,,S +378,0,1,"Widener, Mr. Harry Elkins",male,27,0,2,113503,211.5,C82,C +379,0,3,"Betros, Mr. Tannous",male,20,0,0,2648,4.0125,,C +380,0,3,"Gustafsson, Mr. Karl Gideon",male,19,0,0,347069,7.775,,S +381,1,1,"Bidois, Miss. Rosalie",female,42,0,0,PC 17757,227.525,,C +382,1,3,"Nakid, Miss. Maria (""Mary"")",female,1,0,2,2653,15.7417,,C +383,0,3,"Tikkanen, Mr. Juho",male,32,0,0,STON/O 2. 3101293,7.925,,S +384,1,1,"Holverson, Mrs. Alexander Oskar (Mary Aline Towner)",female,35,1,0,113789,52,,S +385,0,3,"Plotcharsky, Mr. Vasil",male,,0,0,349227,7.8958,,S +386,0,2,"Davies, Mr. Charles Henry",male,18,0,0,S.O.C. 14879,73.5,,S +387,0,3,"Goodwin, Master. Sidney Leonard",male,1,5,2,CA 2144,46.9,,S +388,1,2,"Buss, Miss. Kate",female,36,0,0,27849,13,,S +389,0,3,"Sadlier, Mr. Matthew",male,,0,0,367655,7.7292,,Q +390,1,2,"Lehmann, Miss. Bertha",female,17,0,0,SC 1748,12,,C +391,1,1,"Carter, Mr. William Ernest",male,36,1,2,113760,120,B96 B98,S +392,1,3,"Jansson, Mr. Carl Olof",male,21,0,0,350034,7.7958,,S +393,0,3,"Gustafsson, Mr. Johan Birger",male,28,2,0,3101277,7.925,,S +394,1,1,"Newell, Miss. Marjorie",female,23,1,0,35273,113.275,D36,C +395,1,3,"Sandstrom, Mrs. Hjalmar (Agnes Charlotta Bengtsson)",female,24,0,2,PP 9549,16.7,G6,S +396,0,3,"Johansson, Mr. Erik",male,22,0,0,350052,7.7958,,S +397,0,3,"Olsson, Miss. Elina",female,31,0,0,350407,7.8542,,S +398,0,2,"McKane, Mr. Peter David",male,46,0,0,28403,26,,S +399,0,2,"Pain, Dr. Alfred",male,23,0,0,244278,10.5,,S +400,1,2,"Trout, Mrs. William H (Jessie L)",female,28,0,0,240929,12.65,,S +401,1,3,"Niskanen, Mr. Juha",male,39,0,0,STON/O 2. 3101289,7.925,,S +402,0,3,"Adams, Mr. John",male,26,0,0,341826,8.05,,S +403,0,3,"Jussila, Miss. Mari Aina",female,21,1,0,4137,9.825,,S +404,0,3,"Hakkarainen, Mr. Pekka Pietari",male,28,1,0,STON/O2. 3101279,15.85,,S +405,0,3,"Oreskovic, Miss. Marija",female,20,0,0,315096,8.6625,,S +406,0,2,"Gale, Mr. Shadrach",male,34,1,0,28664,21,,S +407,0,3,"Widegren, Mr. Carl/Charles Peter",male,51,0,0,347064,7.75,,S +408,1,2,"Richards, Master. William Rowe",male,3,1,1,29106,18.75,,S +409,0,3,"Birkeland, Mr. Hans Martin Monsen",male,21,0,0,312992,7.775,,S +410,0,3,"Lefebre, Miss. Ida",female,,3,1,4133,25.4667,,S +411,0,3,"Sdycoff, Mr. Todor",male,,0,0,349222,7.8958,,S +412,0,3,"Hart, Mr. Henry",male,,0,0,394140,6.8583,,Q +413,1,1,"Minahan, Miss. Daisy E",female,33,1,0,19928,90,C78,Q +414,0,2,"Cunningham, Mr. Alfred Fleming",male,,0,0,239853,0,,S +415,1,3,"Sundman, Mr. Johan Julian",male,44,0,0,STON/O 2. 3101269,7.925,,S +416,0,3,"Meek, Mrs. Thomas (Annie Louise Rowley)",female,,0,0,343095,8.05,,S +417,1,2,"Drew, Mrs. James Vivian (Lulu Thorne Christian)",female,34,1,1,28220,32.5,,S +418,1,2,"Silven, Miss. Lyyli Karoliina",female,18,0,2,250652,13,,S +419,0,2,"Matthews, Mr. William John",male,30,0,0,28228,13,,S +420,0,3,"Van Impe, Miss. Catharina",female,10,0,2,345773,24.15,,S +421,0,3,"Gheorgheff, Mr. Stanio",male,,0,0,349254,7.8958,,C +422,0,3,"Charters, Mr. David",male,21,0,0,A/5. 13032,7.7333,,Q +423,0,3,"Zimmerman, Mr. Leo",male,29,0,0,315082,7.875,,S +424,0,3,"Danbom, Mrs. Ernst Gilbert (Anna Sigrid Maria Brogren)",female,28,1,1,347080,14.4,,S +425,0,3,"Rosblom, Mr. Viktor Richard",male,18,1,1,370129,20.2125,,S +426,0,3,"Wiseman, Mr. Phillippe",male,,0,0,A/4. 34244,7.25,,S +427,1,2,"Clarke, Mrs. Charles V (Ada Maria Winfield)",female,28,1,0,2003,26,,S +428,1,2,"Phillips, Miss. Kate Florence (""Mrs Kate Louise Phillips Marshall"")",female,19,0,0,250655,26,,S +429,0,3,"Flynn, Mr. James",male,,0,0,364851,7.75,,Q +430,1,3,"Pickard, Mr. Berk (Berk Trembisky)",male,32,0,0,SOTON/O.Q. 392078,8.05,E10,S +431,1,1,"Bjornstrom-Steffansson, Mr. Mauritz Hakan",male,28,0,0,110564,26.55,C52,S +432,1,3,"Thorneycroft, Mrs. Percival (Florence Kate White)",female,,1,0,376564,16.1,,S +433,1,2,"Louch, Mrs. Charles Alexander (Alice Adelaide Slow)",female,42,1,0,SC/AH 3085,26,,S +434,0,3,"Kallio, Mr. Nikolai Erland",male,17,0,0,STON/O 2. 3101274,7.125,,S +435,0,1,"Silvey, Mr. William Baird",male,50,1,0,13507,55.9,E44,S +436,1,1,"Carter, Miss. Lucile Polk",female,14,1,2,113760,120,B96 B98,S +437,0,3,"Ford, Miss. Doolina Margaret ""Daisy""",female,21,2,2,W./C. 6608,34.375,,S +438,1,2,"Richards, Mrs. Sidney (Emily Hocking)",female,24,2,3,29106,18.75,,S +439,0,1,"Fortune, Mr. Mark",male,64,1,4,19950,263,C23 C25 C27,S +440,0,2,"Kvillner, Mr. Johan Henrik Johannesson",male,31,0,0,C.A. 18723,10.5,,S +441,1,2,"Hart, Mrs. Benjamin (Esther Ada Bloomfield)",female,45,1,1,F.C.C. 13529,26.25,,S +442,0,3,"Hampe, Mr. Leon",male,20,0,0,345769,9.5,,S +443,0,3,"Petterson, Mr. Johan Emil",male,25,1,0,347076,7.775,,S +444,1,2,"Reynaldo, Ms. Encarnacion",female,28,0,0,230434,13,,S +445,1,3,"Johannesen-Bratthammer, Mr. Bernt",male,,0,0,65306,8.1125,,S +446,1,1,"Dodge, Master. Washington",male,4,0,2,33638,81.8583,A34,S +447,1,2,"Mellinger, Miss. Madeleine Violet",female,13,0,1,250644,19.5,,S +448,1,1,"Seward, Mr. Frederic Kimber",male,34,0,0,113794,26.55,,S +449,1,3,"Baclini, Miss. Marie Catherine",female,5,2,1,2666,19.2583,,C +450,1,1,"Peuchen, Major. Arthur Godfrey",male,52,0,0,113786,30.5,C104,S +451,0,2,"West, Mr. Edwy Arthur",male,36,1,2,C.A. 34651,27.75,,S +452,0,3,"Hagland, Mr. Ingvald Olai Olsen",male,,1,0,65303,19.9667,,S +453,0,1,"Foreman, Mr. Benjamin Laventall",male,30,0,0,113051,27.75,C111,C +454,1,1,"Goldenberg, Mr. Samuel L",male,49,1,0,17453,89.1042,C92,C +455,0,3,"Peduzzi, Mr. Joseph",male,,0,0,A/5 2817,8.05,,S +456,1,3,"Jalsevac, Mr. Ivan",male,29,0,0,349240,7.8958,,C +457,0,1,"Millet, Mr. Francis Davis",male,65,0,0,13509,26.55,E38,S +458,1,1,"Kenyon, Mrs. Frederick R (Marion)",female,,1,0,17464,51.8625,D21,S +459,1,2,"Toomey, Miss. Ellen",female,50,0,0,F.C.C. 13531,10.5,,S +460,0,3,"O'Connor, Mr. Maurice",male,,0,0,371060,7.75,,Q +461,1,1,"Anderson, Mr. Harry",male,48,0,0,19952,26.55,E12,S +462,0,3,"Morley, Mr. William",male,34,0,0,364506,8.05,,S +463,0,1,"Gee, Mr. Arthur H",male,47,0,0,111320,38.5,E63,S +464,0,2,"Milling, Mr. Jacob Christian",male,48,0,0,234360,13,,S +465,0,3,"Maisner, Mr. Simon",male,,0,0,A/S 2816,8.05,,S +466,0,3,"Goncalves, Mr. Manuel Estanslas",male,38,0,0,SOTON/O.Q. 3101306,7.05,,S +467,0,2,"Campbell, Mr. William",male,,0,0,239853,0,,S +468,0,1,"Smart, Mr. John Montgomery",male,56,0,0,113792,26.55,,S +469,0,3,"Scanlan, Mr. James",male,,0,0,36209,7.725,,Q +470,1,3,"Baclini, Miss. Helene Barbara",female,0.75,2,1,2666,19.2583,,C +471,0,3,"Keefe, Mr. Arthur",male,,0,0,323592,7.25,,S +472,0,3,"Cacic, Mr. Luka",male,38,0,0,315089,8.6625,,S +473,1,2,"West, Mrs. Edwy Arthur (Ada Mary Worth)",female,33,1,2,C.A. 34651,27.75,,S +474,1,2,"Jerwan, Mrs. Amin S (Marie Marthe Thuillard)",female,23,0,0,SC/AH Basle 541,13.7917,D,C +475,0,3,"Strandberg, Miss. Ida Sofia",female,22,0,0,7553,9.8375,,S +476,0,1,"Clifford, Mr. George Quincy",male,,0,0,110465,52,A14,S +477,0,2,"Renouf, Mr. Peter Henry",male,34,1,0,31027,21,,S +478,0,3,"Braund, Mr. Lewis Richard",male,29,1,0,3460,7.0458,,S +479,0,3,"Karlsson, Mr. Nils August",male,22,0,0,350060,7.5208,,S +480,1,3,"Hirvonen, Miss. Hildur E",female,2,0,1,3101298,12.2875,,S +481,0,3,"Goodwin, Master. Harold Victor",male,9,5,2,CA 2144,46.9,,S +482,0,2,"Frost, Mr. Anthony Wood ""Archie""",male,,0,0,239854,0,,S +483,0,3,"Rouse, Mr. Richard Henry",male,50,0,0,A/5 3594,8.05,,S +484,1,3,"Turkula, Mrs. (Hedwig)",female,63,0,0,4134,9.5875,,S +485,1,1,"Bishop, Mr. Dickinson H",male,25,1,0,11967,91.0792,B49,C +486,0,3,"Lefebre, Miss. Jeannie",female,,3,1,4133,25.4667,,S +487,1,1,"Hoyt, Mrs. Frederick Maxfield (Jane Anne Forby)",female,35,1,0,19943,90,C93,S +488,0,1,"Kent, Mr. Edward Austin",male,58,0,0,11771,29.7,B37,C +489,0,3,"Somerton, Mr. Francis William",male,30,0,0,A.5. 18509,8.05,,S +490,1,3,"Coutts, Master. Eden Leslie ""Neville""",male,9,1,1,C.A. 37671,15.9,,S +491,0,3,"Hagland, Mr. Konrad Mathias Reiersen",male,,1,0,65304,19.9667,,S +492,0,3,"Windelov, Mr. Einar",male,21,0,0,SOTON/OQ 3101317,7.25,,S +493,0,1,"Molson, Mr. Harry Markland",male,55,0,0,113787,30.5,C30,S +494,0,1,"Artagaveytia, Mr. Ramon",male,71,0,0,PC 17609,49.5042,,C +495,0,3,"Stanley, Mr. Edward Roland",male,21,0,0,A/4 45380,8.05,,S +496,0,3,"Yousseff, Mr. Gerious",male,,0,0,2627,14.4583,,C +497,1,1,"Eustis, Miss. Elizabeth Mussey",female,54,1,0,36947,78.2667,D20,C +498,0,3,"Shellard, Mr. Frederick William",male,,0,0,C.A. 6212,15.1,,S +499,0,1,"Allison, Mrs. Hudson J C (Bessie Waldo Daniels)",female,25,1,2,113781,151.55,C22 C26,S +500,0,3,"Svensson, Mr. Olof",male,24,0,0,350035,7.7958,,S +501,0,3,"Calic, Mr. Petar",male,17,0,0,315086,8.6625,,S +502,0,3,"Canavan, Miss. Mary",female,21,0,0,364846,7.75,,Q +503,0,3,"O'Sullivan, Miss. Bridget Mary",female,,0,0,330909,7.6292,,Q +504,0,3,"Laitinen, Miss. Kristina Sofia",female,37,0,0,4135,9.5875,,S +505,1,1,"Maioni, Miss. Roberta",female,16,0,0,110152,86.5,B79,S +506,0,1,"Penasco y Castellana, Mr. Victor de Satode",male,18,1,0,PC 17758,108.9,C65,C +507,1,2,"Quick, Mrs. Frederick Charles (Jane Richards)",female,33,0,2,26360,26,,S +508,1,1,"Bradley, Mr. George (""George Arthur Brayton"")",male,,0,0,111427,26.55,,S +509,0,3,"Olsen, Mr. Henry Margido",male,28,0,0,C 4001,22.525,,S +510,1,3,"Lang, Mr. Fang",male,26,0,0,1601,56.4958,,S +511,1,3,"Daly, Mr. Eugene Patrick",male,29,0,0,382651,7.75,,Q +512,0,3,"Webber, Mr. James",male,,0,0,SOTON/OQ 3101316,8.05,,S +513,1,1,"McGough, Mr. James Robert",male,36,0,0,PC 17473,26.2875,E25,S +514,1,1,"Rothschild, Mrs. Martin (Elizabeth L. Barrett)",female,54,1,0,PC 17603,59.4,,C +515,0,3,"Coleff, Mr. Satio",male,24,0,0,349209,7.4958,,S +516,0,1,"Walker, Mr. William Anderson",male,47,0,0,36967,34.0208,D46,S +517,1,2,"Lemore, Mrs. (Amelia Milley)",female,34,0,0,C.A. 34260,10.5,F33,S +518,0,3,"Ryan, Mr. Patrick",male,,0,0,371110,24.15,,Q +519,1,2,"Angle, Mrs. William A (Florence ""Mary"" Agnes Hughes)",female,36,1,0,226875,26,,S +520,0,3,"Pavlovic, Mr. Stefo",male,32,0,0,349242,7.8958,,S +521,1,1,"Perreault, Miss. Anne",female,30,0,0,12749,93.5,B73,S +522,0,3,"Vovk, Mr. Janko",male,22,0,0,349252,7.8958,,S +523,0,3,"Lahoud, Mr. Sarkis",male,,0,0,2624,7.225,,C +524,1,1,"Hippach, Mrs. Louis Albert (Ida Sophia Fischer)",female,44,0,1,111361,57.9792,B18,C +525,0,3,"Kassem, Mr. Fared",male,,0,0,2700,7.2292,,C +526,0,3,"Farrell, Mr. James",male,40.5,0,0,367232,7.75,,Q +527,1,2,"Ridsdale, Miss. Lucy",female,50,0,0,W./C. 14258,10.5,,S +528,0,1,"Farthing, Mr. John",male,,0,0,PC 17483,221.7792,C95,S +529,0,3,"Salonen, Mr. Johan Werner",male,39,0,0,3101296,7.925,,S +530,0,2,"Hocking, Mr. Richard George",male,23,2,1,29104,11.5,,S +531,1,2,"Quick, Miss. Phyllis May",female,2,1,1,26360,26,,S +532,0,3,"Toufik, Mr. Nakli",male,,0,0,2641,7.2292,,C +533,0,3,"Elias, Mr. Joseph Jr",male,17,1,1,2690,7.2292,,C +534,1,3,"Peter, Mrs. Catherine (Catherine Rizk)",female,,0,2,2668,22.3583,,C +535,0,3,"Cacic, Miss. Marija",female,30,0,0,315084,8.6625,,S +536,1,2,"Hart, Miss. Eva Miriam",female,7,0,2,F.C.C. 13529,26.25,,S +537,0,1,"Butt, Major. Archibald Willingham",male,45,0,0,113050,26.55,B38,S +538,1,1,"LeRoy, Miss. Bertha",female,30,0,0,PC 17761,106.425,,C +539,0,3,"Risien, Mr. Samuel Beard",male,,0,0,364498,14.5,,S +540,1,1,"Frolicher, Miss. Hedwig Margaritha",female,22,0,2,13568,49.5,B39,C +541,1,1,"Crosby, Miss. Harriet R",female,36,0,2,WE/P 5735,71,B22,S +542,0,3,"Andersson, Miss. Ingeborg Constanzia",female,9,4,2,347082,31.275,,S +543,0,3,"Andersson, Miss. Sigrid Elisabeth",female,11,4,2,347082,31.275,,S +544,1,2,"Beane, Mr. Edward",male,32,1,0,2908,26,,S +545,0,1,"Douglas, Mr. Walter Donald",male,50,1,0,PC 17761,106.425,C86,C +546,0,1,"Nicholson, Mr. Arthur Ernest",male,64,0,0,693,26,,S +547,1,2,"Beane, Mrs. Edward (Ethel Clarke)",female,19,1,0,2908,26,,S +548,1,2,"Padro y Manent, Mr. Julian",male,,0,0,SC/PARIS 2146,13.8625,,C +549,0,3,"Goldsmith, Mr. Frank John",male,33,1,1,363291,20.525,,S +550,1,2,"Davies, Master. John Morgan Jr",male,8,1,1,C.A. 33112,36.75,,S +551,1,1,"Thayer, Mr. John Borland Jr",male,17,0,2,17421,110.8833,C70,C +552,0,2,"Sharp, Mr. Percival James R",male,27,0,0,244358,26,,S +553,0,3,"O'Brien, Mr. Timothy",male,,0,0,330979,7.8292,,Q +554,1,3,"Leeni, Mr. Fahim (""Philip Zenni"")",male,22,0,0,2620,7.225,,C +555,1,3,"Ohman, Miss. Velin",female,22,0,0,347085,7.775,,S +556,0,1,"Wright, Mr. George",male,62,0,0,113807,26.55,,S +557,1,1,"Duff Gordon, Lady. (Lucille Christiana Sutherland) (""Mrs Morgan"")",female,48,1,0,11755,39.6,A16,C +558,0,1,"Robbins, Mr. Victor",male,,0,0,PC 17757,227.525,,C +559,1,1,"Taussig, Mrs. Emil (Tillie Mandelbaum)",female,39,1,1,110413,79.65,E67,S +560,1,3,"de Messemaeker, Mrs. Guillaume Joseph (Emma)",female,36,1,0,345572,17.4,,S +561,0,3,"Morrow, Mr. Thomas Rowan",male,,0,0,372622,7.75,,Q +562,0,3,"Sivic, Mr. Husein",male,40,0,0,349251,7.8958,,S +563,0,2,"Norman, Mr. Robert Douglas",male,28,0,0,218629,13.5,,S +564,0,3,"Simmons, Mr. John",male,,0,0,SOTON/OQ 392082,8.05,,S +565,0,3,"Meanwell, Miss. (Marion Ogden)",female,,0,0,SOTON/O.Q. 392087,8.05,,S +566,0,3,"Davies, Mr. Alfred J",male,24,2,0,A/4 48871,24.15,,S +567,0,3,"Stoytcheff, Mr. Ilia",male,19,0,0,349205,7.8958,,S +568,0,3,"Palsson, Mrs. Nils (Alma Cornelia Berglund)",female,29,0,4,349909,21.075,,S +569,0,3,"Doharr, Mr. Tannous",male,,0,0,2686,7.2292,,C +570,1,3,"Jonsson, Mr. Carl",male,32,0,0,350417,7.8542,,S +571,1,2,"Harris, Mr. George",male,62,0,0,S.W./PP 752,10.5,,S +572,1,1,"Appleton, Mrs. Edward Dale (Charlotte Lamson)",female,53,2,0,11769,51.4792,C101,S +573,1,1,"Flynn, Mr. John Irwin (""Irving"")",male,36,0,0,PC 17474,26.3875,E25,S +574,1,3,"Kelly, Miss. Mary",female,,0,0,14312,7.75,,Q +575,0,3,"Rush, Mr. Alfred George John",male,16,0,0,A/4. 20589,8.05,,S +576,0,3,"Patchett, Mr. George",male,19,0,0,358585,14.5,,S +577,1,2,"Garside, Miss. Ethel",female,34,0,0,243880,13,,S +578,1,1,"Silvey, Mrs. William Baird (Alice Munger)",female,39,1,0,13507,55.9,E44,S +579,0,3,"Caram, Mrs. Joseph (Maria Elias)",female,,1,0,2689,14.4583,,C +580,1,3,"Jussila, Mr. Eiriik",male,32,0,0,STON/O 2. 3101286,7.925,,S +581,1,2,"Christy, Miss. Julie Rachel",female,25,1,1,237789,30,,S +582,1,1,"Thayer, Mrs. John Borland (Marian Longstreth Morris)",female,39,1,1,17421,110.8833,C68,C +583,0,2,"Downton, Mr. William James",male,54,0,0,28403,26,,S +584,0,1,"Ross, Mr. John Hugo",male,36,0,0,13049,40.125,A10,C +585,0,3,"Paulner, Mr. Uscher",male,,0,0,3411,8.7125,,C +586,1,1,"Taussig, Miss. Ruth",female,18,0,2,110413,79.65,E68,S +587,0,2,"Jarvis, Mr. John Denzil",male,47,0,0,237565,15,,S +588,1,1,"Frolicher-Stehli, Mr. Maxmillian",male,60,1,1,13567,79.2,B41,C +589,0,3,"Gilinski, Mr. Eliezer",male,22,0,0,14973,8.05,,S +590,0,3,"Murdlin, Mr. Joseph",male,,0,0,A./5. 3235,8.05,,S +591,0,3,"Rintamaki, Mr. Matti",male,35,0,0,STON/O 2. 3101273,7.125,,S +592,1,1,"Stephenson, Mrs. Walter Bertram (Martha Eustis)",female,52,1,0,36947,78.2667,D20,C +593,0,3,"Elsbury, Mr. William James",male,47,0,0,A/5 3902,7.25,,S +594,0,3,"Bourke, Miss. Mary",female,,0,2,364848,7.75,,Q +595,0,2,"Chapman, Mr. John Henry",male,37,1,0,SC/AH 29037,26,,S +596,0,3,"Van Impe, Mr. Jean Baptiste",male,36,1,1,345773,24.15,,S +597,1,2,"Leitch, Miss. Jessie Wills",female,,0,0,248727,33,,S +598,0,3,"Johnson, Mr. Alfred",male,49,0,0,LINE,0,,S +599,0,3,"Boulos, Mr. Hanna",male,,0,0,2664,7.225,,C +600,1,1,"Duff Gordon, Sir. Cosmo Edmund (""Mr Morgan"")",male,49,1,0,PC 17485,56.9292,A20,C +601,1,2,"Jacobsohn, Mrs. Sidney Samuel (Amy Frances Christy)",female,24,2,1,243847,27,,S +602,0,3,"Slabenoff, Mr. Petco",male,,0,0,349214,7.8958,,S +603,0,1,"Harrington, Mr. Charles H",male,,0,0,113796,42.4,,S +604,0,3,"Torber, Mr. Ernst William",male,44,0,0,364511,8.05,,S +605,1,1,"Homer, Mr. Harry (""Mr E Haven"")",male,35,0,0,111426,26.55,,C +606,0,3,"Lindell, Mr. Edvard Bengtsson",male,36,1,0,349910,15.55,,S +607,0,3,"Karaic, Mr. Milan",male,30,0,0,349246,7.8958,,S +608,1,1,"Daniel, Mr. Robert Williams",male,27,0,0,113804,30.5,,S +609,1,2,"Laroche, Mrs. Joseph (Juliette Marie Louise Lafargue)",female,22,1,2,SC/Paris 2123,41.5792,,C +610,1,1,"Shutes, Miss. Elizabeth W",female,40,0,0,PC 17582,153.4625,C125,S +611,0,3,"Andersson, Mrs. Anders Johan (Alfrida Konstantia Brogren)",female,39,1,5,347082,31.275,,S +612,0,3,"Jardin, Mr. Jose Neto",male,,0,0,SOTON/O.Q. 3101305,7.05,,S +613,1,3,"Murphy, Miss. Margaret Jane",female,,1,0,367230,15.5,,Q +614,0,3,"Horgan, Mr. John",male,,0,0,370377,7.75,,Q +615,0,3,"Brocklebank, Mr. William Alfred",male,35,0,0,364512,8.05,,S +616,1,2,"Herman, Miss. Alice",female,24,1,2,220845,65,,S +617,0,3,"Danbom, Mr. Ernst Gilbert",male,34,1,1,347080,14.4,,S +618,0,3,"Lobb, Mrs. William Arthur (Cordelia K Stanlick)",female,26,1,0,A/5. 3336,16.1,,S +619,1,2,"Becker, Miss. Marion Louise",female,4,2,1,230136,39,F4,S +620,0,2,"Gavey, Mr. Lawrence",male,26,0,0,31028,10.5,,S +621,0,3,"Yasbeck, Mr. Antoni",male,27,1,0,2659,14.4542,,C +622,1,1,"Kimball, Mr. Edwin Nelson Jr",male,42,1,0,11753,52.5542,D19,S +623,1,3,"Nakid, Mr. Sahid",male,20,1,1,2653,15.7417,,C +624,0,3,"Hansen, Mr. Henry Damsgaard",male,21,0,0,350029,7.8542,,S +625,0,3,"Bowen, Mr. David John ""Dai""",male,21,0,0,54636,16.1,,S +626,0,1,"Sutton, Mr. Frederick",male,61,0,0,36963,32.3208,D50,S +627,0,2,"Kirkland, Rev. Charles Leonard",male,57,0,0,219533,12.35,,Q +628,1,1,"Longley, Miss. Gretchen Fiske",female,21,0,0,13502,77.9583,D9,S +629,0,3,"Bostandyeff, Mr. Guentcho",male,26,0,0,349224,7.8958,,S +630,0,3,"O'Connell, Mr. Patrick D",male,,0,0,334912,7.7333,,Q +631,1,1,"Barkworth, Mr. Algernon Henry Wilson",male,80,0,0,27042,30,A23,S +632,0,3,"Lundahl, Mr. Johan Svensson",male,51,0,0,347743,7.0542,,S +633,1,1,"Stahelin-Maeglin, Dr. Max",male,32,0,0,13214,30.5,B50,C +634,0,1,"Parr, Mr. William Henry Marsh",male,,0,0,112052,0,,S +635,0,3,"Skoog, Miss. Mabel",female,9,3,2,347088,27.9,,S +636,1,2,"Davis, Miss. Mary",female,28,0,0,237668,13,,S +637,0,3,"Leinonen, Mr. Antti Gustaf",male,32,0,0,STON/O 2. 3101292,7.925,,S +638,0,2,"Collyer, Mr. Harvey",male,31,1,1,C.A. 31921,26.25,,S +639,0,3,"Panula, Mrs. Juha (Maria Emilia Ojala)",female,41,0,5,3101295,39.6875,,S +640,0,3,"Thorneycroft, Mr. Percival",male,,1,0,376564,16.1,,S +641,0,3,"Jensen, Mr. Hans Peder",male,20,0,0,350050,7.8542,,S +642,1,1,"Sagesser, Mlle. Emma",female,24,0,0,PC 17477,69.3,B35,C +643,0,3,"Skoog, Miss. Margit Elizabeth",female,2,3,2,347088,27.9,,S +644,1,3,"Foo, Mr. Choong",male,,0,0,1601,56.4958,,S +645,1,3,"Baclini, Miss. Eugenie",female,0.75,2,1,2666,19.2583,,C +646,1,1,"Harper, Mr. Henry Sleeper",male,48,1,0,PC 17572,76.7292,D33,C +647,0,3,"Cor, Mr. Liudevit",male,19,0,0,349231,7.8958,,S +648,1,1,"Simonius-Blumer, Col. Oberst Alfons",male,56,0,0,13213,35.5,A26,C +649,0,3,"Willey, Mr. Edward",male,,0,0,S.O./P.P. 751,7.55,,S +650,1,3,"Stanley, Miss. Amy Zillah Elsie",female,23,0,0,CA. 2314,7.55,,S +651,0,3,"Mitkoff, Mr. Mito",male,,0,0,349221,7.8958,,S +652,1,2,"Doling, Miss. Elsie",female,18,0,1,231919,23,,S +653,0,3,"Kalvik, Mr. Johannes Halvorsen",male,21,0,0,8475,8.4333,,S +654,1,3,"O'Leary, Miss. Hanora ""Norah""",female,,0,0,330919,7.8292,,Q +655,0,3,"Hegarty, Miss. Hanora ""Nora""",female,18,0,0,365226,6.75,,Q +656,0,2,"Hickman, Mr. Leonard Mark",male,24,2,0,S.O.C. 14879,73.5,,S +657,0,3,"Radeff, Mr. Alexander",male,,0,0,349223,7.8958,,S +658,0,3,"Bourke, Mrs. John (Catherine)",female,32,1,1,364849,15.5,,Q +659,0,2,"Eitemiller, Mr. George Floyd",male,23,0,0,29751,13,,S +660,0,1,"Newell, Mr. Arthur Webster",male,58,0,2,35273,113.275,D48,C +661,1,1,"Frauenthal, Dr. Henry William",male,50,2,0,PC 17611,133.65,,S +662,0,3,"Badt, Mr. Mohamed",male,40,0,0,2623,7.225,,C +663,0,1,"Colley, Mr. Edward Pomeroy",male,47,0,0,5727,25.5875,E58,S +664,0,3,"Coleff, Mr. Peju",male,36,0,0,349210,7.4958,,S +665,1,3,"Lindqvist, Mr. Eino William",male,20,1,0,STON/O 2. 3101285,7.925,,S +666,0,2,"Hickman, Mr. Lewis",male,32,2,0,S.O.C. 14879,73.5,,S +667,0,2,"Butler, Mr. Reginald Fenton",male,25,0,0,234686,13,,S +668,0,3,"Rommetvedt, Mr. Knud Paust",male,,0,0,312993,7.775,,S +669,0,3,"Cook, Mr. Jacob",male,43,0,0,A/5 3536,8.05,,S +670,1,1,"Taylor, Mrs. Elmer Zebley (Juliet Cummins Wright)",female,,1,0,19996,52,C126,S +671,1,2,"Brown, Mrs. Thomas William Solomon (Elizabeth Catherine Ford)",female,40,1,1,29750,39,,S +672,0,1,"Davidson, Mr. Thornton",male,31,1,0,F.C. 12750,52,B71,S +673,0,2,"Mitchell, Mr. Henry Michael",male,70,0,0,C.A. 24580,10.5,,S +674,1,2,"Wilhelms, Mr. Charles",male,31,0,0,244270,13,,S +675,0,2,"Watson, Mr. Ennis Hastings",male,,0,0,239856,0,,S +676,0,3,"Edvardsson, Mr. Gustaf Hjalmar",male,18,0,0,349912,7.775,,S +677,0,3,"Sawyer, Mr. Frederick Charles",male,24.5,0,0,342826,8.05,,S +678,1,3,"Turja, Miss. Anna Sofia",female,18,0,0,4138,9.8417,,S +679,0,3,"Goodwin, Mrs. Frederick (Augusta Tyler)",female,43,1,6,CA 2144,46.9,,S +680,1,1,"Cardeza, Mr. Thomas Drake Martinez",male,36,0,1,PC 17755,512.3292,B51 B53 B55,C +681,0,3,"Peters, Miss. Katie",female,,0,0,330935,8.1375,,Q +682,1,1,"Hassab, Mr. Hammad",male,27,0,0,PC 17572,76.7292,D49,C +683,0,3,"Olsvigen, Mr. Thor Anderson",male,20,0,0,6563,9.225,,S +684,0,3,"Goodwin, Mr. Charles Edward",male,14,5,2,CA 2144,46.9,,S +685,0,2,"Brown, Mr. Thomas William Solomon",male,60,1,1,29750,39,,S +686,0,2,"Laroche, Mr. Joseph Philippe Lemercier",male,25,1,2,SC/Paris 2123,41.5792,,C +687,0,3,"Panula, Mr. Jaako Arnold",male,14,4,1,3101295,39.6875,,S +688,0,3,"Dakic, Mr. Branko",male,19,0,0,349228,10.1708,,S +689,0,3,"Fischer, Mr. Eberhard Thelander",male,18,0,0,350036,7.7958,,S +690,1,1,"Madill, Miss. Georgette Alexandra",female,15,0,1,24160,211.3375,B5,S +691,1,1,"Dick, Mr. Albert Adrian",male,31,1,0,17474,57,B20,S +692,1,3,"Karun, Miss. Manca",female,4,0,1,349256,13.4167,,C +693,1,3,"Lam, Mr. Ali",male,,0,0,1601,56.4958,,S +694,0,3,"Saad, Mr. Khalil",male,25,0,0,2672,7.225,,C +695,0,1,"Weir, Col. John",male,60,0,0,113800,26.55,,S +696,0,2,"Chapman, Mr. Charles Henry",male,52,0,0,248731,13.5,,S +697,0,3,"Kelly, Mr. James",male,44,0,0,363592,8.05,,S +698,1,3,"Mullens, Miss. Katherine ""Katie""",female,,0,0,35852,7.7333,,Q +699,0,1,"Thayer, Mr. John Borland",male,49,1,1,17421,110.8833,C68,C +700,0,3,"Humblen, Mr. Adolf Mathias Nicolai Olsen",male,42,0,0,348121,7.65,F G63,S +701,1,1,"Astor, Mrs. John Jacob (Madeleine Talmadge Force)",female,18,1,0,PC 17757,227.525,C62 C64,C +702,1,1,"Silverthorne, Mr. Spencer Victor",male,35,0,0,PC 17475,26.2875,E24,S +703,0,3,"Barbara, Miss. Saiide",female,18,0,1,2691,14.4542,,C +704,0,3,"Gallagher, Mr. Martin",male,25,0,0,36864,7.7417,,Q +705,0,3,"Hansen, Mr. Henrik Juul",male,26,1,0,350025,7.8542,,S +706,0,2,"Morley, Mr. Henry Samuel (""Mr Henry Marshall"")",male,39,0,0,250655,26,,S +707,1,2,"Kelly, Mrs. Florence ""Fannie""",female,45,0,0,223596,13.5,,S +708,1,1,"Calderhead, Mr. Edward Pennington",male,42,0,0,PC 17476,26.2875,E24,S +709,1,1,"Cleaver, Miss. Alice",female,22,0,0,113781,151.55,,S +710,1,3,"Moubarek, Master. Halim Gonios (""William George"")",male,,1,1,2661,15.2458,,C +711,1,1,"Mayne, Mlle. Berthe Antonine (""Mrs de Villiers"")",female,24,0,0,PC 17482,49.5042,C90,C +712,0,1,"Klaber, Mr. Herman",male,,0,0,113028,26.55,C124,S +713,1,1,"Taylor, Mr. Elmer Zebley",male,48,1,0,19996,52,C126,S +714,0,3,"Larsson, Mr. August Viktor",male,29,0,0,7545,9.4833,,S +715,0,2,"Greenberg, Mr. Samuel",male,52,0,0,250647,13,,S +716,0,3,"Soholt, Mr. Peter Andreas Lauritz Andersen",male,19,0,0,348124,7.65,F G73,S +717,1,1,"Endres, Miss. Caroline Louise",female,38,0,0,PC 17757,227.525,C45,C +718,1,2,"Troutt, Miss. Edwina Celia ""Winnie""",female,27,0,0,34218,10.5,E101,S +719,0,3,"McEvoy, Mr. Michael",male,,0,0,36568,15.5,,Q +720,0,3,"Johnson, Mr. Malkolm Joackim",male,33,0,0,347062,7.775,,S +721,1,2,"Harper, Miss. Annie Jessie ""Nina""",female,6,0,1,248727,33,,S +722,0,3,"Jensen, Mr. Svend Lauritz",male,17,1,0,350048,7.0542,,S +723,0,2,"Gillespie, Mr. William Henry",male,34,0,0,12233,13,,S +724,0,2,"Hodges, Mr. Henry Price",male,50,0,0,250643,13,,S +725,1,1,"Chambers, Mr. Norman Campbell",male,27,1,0,113806,53.1,E8,S +726,0,3,"Oreskovic, Mr. Luka",male,20,0,0,315094,8.6625,,S +727,1,2,"Renouf, Mrs. Peter Henry (Lillian Jefferys)",female,30,3,0,31027,21,,S +728,1,3,"Mannion, Miss. Margareth",female,,0,0,36866,7.7375,,Q +729,0,2,"Bryhl, Mr. Kurt Arnold Gottfrid",male,25,1,0,236853,26,,S +730,0,3,"Ilmakangas, Miss. Pieta Sofia",female,25,1,0,STON/O2. 3101271,7.925,,S +731,1,1,"Allen, Miss. Elisabeth Walton",female,29,0,0,24160,211.3375,B5,S +732,0,3,"Hassan, Mr. Houssein G N",male,11,0,0,2699,18.7875,,C +733,0,2,"Knight, Mr. Robert J",male,,0,0,239855,0,,S +734,0,2,"Berriman, Mr. William John",male,23,0,0,28425,13,,S +735,0,2,"Troupiansky, Mr. Moses Aaron",male,23,0,0,233639,13,,S +736,0,3,"Williams, Mr. Leslie",male,28.5,0,0,54636,16.1,,S +737,0,3,"Ford, Mrs. Edward (Margaret Ann Watson)",female,48,1,3,W./C. 6608,34.375,,S +738,1,1,"Lesurer, Mr. Gustave J",male,35,0,0,PC 17755,512.3292,B101,C +739,0,3,"Ivanoff, Mr. Kanio",male,,0,0,349201,7.8958,,S +740,0,3,"Nankoff, Mr. Minko",male,,0,0,349218,7.8958,,S +741,1,1,"Hawksford, Mr. Walter James",male,,0,0,16988,30,D45,S +742,0,1,"Cavendish, Mr. Tyrell William",male,36,1,0,19877,78.85,C46,S +743,1,1,"Ryerson, Miss. Susan Parker ""Suzette""",female,21,2,2,PC 17608,262.375,B57 B59 B63 B66,C +744,0,3,"McNamee, Mr. Neal",male,24,1,0,376566,16.1,,S +745,1,3,"Stranden, Mr. Juho",male,31,0,0,STON/O 2. 3101288,7.925,,S +746,0,1,"Crosby, Capt. Edward Gifford",male,70,1,1,WE/P 5735,71,B22,S +747,0,3,"Abbott, Mr. Rossmore Edward",male,16,1,1,C.A. 2673,20.25,,S +748,1,2,"Sinkkonen, Miss. Anna",female,30,0,0,250648,13,,S +749,0,1,"Marvin, Mr. Daniel Warner",male,19,1,0,113773,53.1,D30,S +750,0,3,"Connaghton, Mr. Michael",male,31,0,0,335097,7.75,,Q +751,1,2,"Wells, Miss. Joan",female,4,1,1,29103,23,,S +752,1,3,"Moor, Master. Meier",male,6,0,1,392096,12.475,E121,S +753,0,3,"Vande Velde, Mr. Johannes Joseph",male,33,0,0,345780,9.5,,S +754,0,3,"Jonkoff, Mr. Lalio",male,23,0,0,349204,7.8958,,S +755,1,2,"Herman, Mrs. Samuel (Jane Laver)",female,48,1,2,220845,65,,S +756,1,2,"Hamalainen, Master. Viljo",male,0.67,1,1,250649,14.5,,S +757,0,3,"Carlsson, Mr. August Sigfrid",male,28,0,0,350042,7.7958,,S +758,0,2,"Bailey, Mr. Percy Andrew",male,18,0,0,29108,11.5,,S +759,0,3,"Theobald, Mr. Thomas Leonard",male,34,0,0,363294,8.05,,S +760,1,1,"Rothes, the Countess. of (Lucy Noel Martha Dyer-Edwards)",female,33,0,0,110152,86.5,B77,S +761,0,3,"Garfirth, Mr. John",male,,0,0,358585,14.5,,S +762,0,3,"Nirva, Mr. Iisakki Antino Aijo",male,41,0,0,SOTON/O2 3101272,7.125,,S +763,1,3,"Barah, Mr. Hanna Assi",male,20,0,0,2663,7.2292,,C +764,1,1,"Carter, Mrs. William Ernest (Lucile Polk)",female,36,1,2,113760,120,B96 B98,S +765,0,3,"Eklund, Mr. Hans Linus",male,16,0,0,347074,7.775,,S +766,1,1,"Hogeboom, Mrs. John C (Anna Andrews)",female,51,1,0,13502,77.9583,D11,S +767,0,1,"Brewe, Dr. Arthur Jackson",male,,0,0,112379,39.6,,C +768,0,3,"Mangan, Miss. Mary",female,30.5,0,0,364850,7.75,,Q +769,0,3,"Moran, Mr. Daniel J",male,,1,0,371110,24.15,,Q +770,0,3,"Gronnestad, Mr. Daniel Danielsen",male,32,0,0,8471,8.3625,,S +771,0,3,"Lievens, Mr. Rene Aime",male,24,0,0,345781,9.5,,S +772,0,3,"Jensen, Mr. Niels Peder",male,48,0,0,350047,7.8542,,S +773,0,2,"Mack, Mrs. (Mary)",female,57,0,0,S.O./P.P. 3,10.5,E77,S +774,0,3,"Elias, Mr. Dibo",male,,0,0,2674,7.225,,C +775,1,2,"Hocking, Mrs. Elizabeth (Eliza Needs)",female,54,1,3,29105,23,,S +776,0,3,"Myhrman, Mr. Pehr Fabian Oliver Malkolm",male,18,0,0,347078,7.75,,S +777,0,3,"Tobin, Mr. Roger",male,,0,0,383121,7.75,F38,Q +778,1,3,"Emanuel, Miss. Virginia Ethel",female,5,0,0,364516,12.475,,S +779,0,3,"Kilgannon, Mr. Thomas J",male,,0,0,36865,7.7375,,Q +780,1,1,"Robert, Mrs. Edward Scott (Elisabeth Walton McMillan)",female,43,0,1,24160,211.3375,B3,S +781,1,3,"Ayoub, Miss. Banoura",female,13,0,0,2687,7.2292,,C +782,1,1,"Dick, Mrs. Albert Adrian (Vera Gillespie)",female,17,1,0,17474,57,B20,S +783,0,1,"Long, Mr. Milton Clyde",male,29,0,0,113501,30,D6,S +784,0,3,"Johnston, Mr. Andrew G",male,,1,2,W./C. 6607,23.45,,S +785,0,3,"Ali, Mr. William",male,25,0,0,SOTON/O.Q. 3101312,7.05,,S +786,0,3,"Harmer, Mr. Abraham (David Lishin)",male,25,0,0,374887,7.25,,S +787,1,3,"Sjoblom, Miss. Anna Sofia",female,18,0,0,3101265,7.4958,,S +788,0,3,"Rice, Master. George Hugh",male,8,4,1,382652,29.125,,Q +789,1,3,"Dean, Master. Bertram Vere",male,1,1,2,C.A. 2315,20.575,,S +790,0,1,"Guggenheim, Mr. Benjamin",male,46,0,0,PC 17593,79.2,B82 B84,C +791,0,3,"Keane, Mr. Andrew ""Andy""",male,,0,0,12460,7.75,,Q +792,0,2,"Gaskell, Mr. Alfred",male,16,0,0,239865,26,,S +793,0,3,"Sage, Miss. Stella Anna",female,,8,2,CA. 2343,69.55,,S +794,0,1,"Hoyt, Mr. William Fisher",male,,0,0,PC 17600,30.6958,,C +795,0,3,"Dantcheff, Mr. Ristiu",male,25,0,0,349203,7.8958,,S +796,0,2,"Otter, Mr. Richard",male,39,0,0,28213,13,,S +797,1,1,"Leader, Dr. Alice (Farnham)",female,49,0,0,17465,25.9292,D17,S +798,1,3,"Osman, Mrs. Mara",female,31,0,0,349244,8.6833,,S +799,0,3,"Ibrahim Shawah, Mr. Yousseff",male,30,0,0,2685,7.2292,,C +800,0,3,"Van Impe, Mrs. Jean Baptiste (Rosalie Paula Govaert)",female,30,1,1,345773,24.15,,S +801,0,2,"Ponesell, Mr. Martin",male,34,0,0,250647,13,,S +802,1,2,"Collyer, Mrs. Harvey (Charlotte Annie Tate)",female,31,1,1,C.A. 31921,26.25,,S +803,1,1,"Carter, Master. William Thornton II",male,11,1,2,113760,120,B96 B98,S +804,1,3,"Thomas, Master. Assad Alexander",male,0.42,0,1,2625,8.5167,,C +805,1,3,"Hedman, Mr. Oskar Arvid",male,27,0,0,347089,6.975,,S +806,0,3,"Johansson, Mr. Karl Johan",male,31,0,0,347063,7.775,,S +807,0,1,"Andrews, Mr. Thomas Jr",male,39,0,0,112050,0,A36,S +808,0,3,"Pettersson, Miss. Ellen Natalia",female,18,0,0,347087,7.775,,S +809,0,2,"Meyer, Mr. August",male,39,0,0,248723,13,,S +810,1,1,"Chambers, Mrs. Norman Campbell (Bertha Griggs)",female,33,1,0,113806,53.1,E8,S +811,0,3,"Alexander, Mr. William",male,26,0,0,3474,7.8875,,S +812,0,3,"Lester, Mr. James",male,39,0,0,A/4 48871,24.15,,S +813,0,2,"Slemen, Mr. Richard James",male,35,0,0,28206,10.5,,S +814,0,3,"Andersson, Miss. Ebba Iris Alfrida",female,6,4,2,347082,31.275,,S +815,0,3,"Tomlin, Mr. Ernest Portage",male,30.5,0,0,364499,8.05,,S +816,0,1,"Fry, Mr. Richard",male,,0,0,112058,0,B102,S +817,0,3,"Heininen, Miss. Wendla Maria",female,23,0,0,STON/O2. 3101290,7.925,,S +818,0,2,"Mallet, Mr. Albert",male,31,1,1,S.C./PARIS 2079,37.0042,,C +819,0,3,"Holm, Mr. John Fredrik Alexander",male,43,0,0,C 7075,6.45,,S +820,0,3,"Skoog, Master. Karl Thorsten",male,10,3,2,347088,27.9,,S +821,1,1,"Hays, Mrs. Charles Melville (Clara Jennings Gregg)",female,52,1,1,12749,93.5,B69,S +822,1,3,"Lulic, Mr. Nikola",male,27,0,0,315098,8.6625,,S +823,0,1,"Reuchlin, Jonkheer. John George",male,38,0,0,19972,0,,S +824,1,3,"Moor, Mrs. (Beila)",female,27,0,1,392096,12.475,E121,S +825,0,3,"Panula, Master. Urho Abraham",male,2,4,1,3101295,39.6875,,S +826,0,3,"Flynn, Mr. John",male,,0,0,368323,6.95,,Q +827,0,3,"Lam, Mr. Len",male,,0,0,1601,56.4958,,S +828,1,2,"Mallet, Master. Andre",male,1,0,2,S.C./PARIS 2079,37.0042,,C +829,1,3,"McCormack, Mr. Thomas Joseph",male,,0,0,367228,7.75,,Q +830,1,1,"Stone, Mrs. George Nelson (Martha Evelyn)",female,62,0,0,113572,80,B28, +831,1,3,"Yasbeck, Mrs. Antoni (Selini Alexander)",female,15,1,0,2659,14.4542,,C +832,1,2,"Richards, Master. George Sibley",male,0.83,1,1,29106,18.75,,S +833,0,3,"Saad, Mr. Amin",male,,0,0,2671,7.2292,,C +834,0,3,"Augustsson, Mr. Albert",male,23,0,0,347468,7.8542,,S +835,0,3,"Allum, Mr. Owen George",male,18,0,0,2223,8.3,,S +836,1,1,"Compton, Miss. Sara Rebecca",female,39,1,1,PC 17756,83.1583,E49,C +837,0,3,"Pasic, Mr. Jakob",male,21,0,0,315097,8.6625,,S +838,0,3,"Sirota, Mr. Maurice",male,,0,0,392092,8.05,,S +839,1,3,"Chip, Mr. Chang",male,32,0,0,1601,56.4958,,S +840,1,1,"Marechal, Mr. Pierre",male,,0,0,11774,29.7,C47,C +841,0,3,"Alhomaki, Mr. Ilmari Rudolf",male,20,0,0,SOTON/O2 3101287,7.925,,S +842,0,2,"Mudd, Mr. Thomas Charles",male,16,0,0,S.O./P.P. 3,10.5,,S +843,1,1,"Serepeca, Miss. Augusta",female,30,0,0,113798,31,,C +844,0,3,"Lemberopolous, Mr. Peter L",male,34.5,0,0,2683,6.4375,,C +845,0,3,"Culumovic, Mr. Jeso",male,17,0,0,315090,8.6625,,S +846,0,3,"Abbing, Mr. Anthony",male,42,0,0,C.A. 5547,7.55,,S +847,0,3,"Sage, Mr. Douglas Bullen",male,,8,2,CA. 2343,69.55,,S +848,0,3,"Markoff, Mr. Marin",male,35,0,0,349213,7.8958,,C +849,0,2,"Harper, Rev. John",male,28,0,1,248727,33,,S +850,1,1,"Goldenberg, Mrs. Samuel L (Edwiga Grabowska)",female,,1,0,17453,89.1042,C92,C +851,0,3,"Andersson, Master. Sigvard Harald Elias",male,4,4,2,347082,31.275,,S +852,0,3,"Svensson, Mr. Johan",male,74,0,0,347060,7.775,,S +853,0,3,"Boulos, Miss. Nourelain",female,9,1,1,2678,15.2458,,C +854,1,1,"Lines, Miss. Mary Conover",female,16,0,1,PC 17592,39.4,D28,S +855,0,2,"Carter, Mrs. Ernest Courtenay (Lilian Hughes)",female,44,1,0,244252,26,,S +856,1,3,"Aks, Mrs. Sam (Leah Rosen)",female,18,0,1,392091,9.35,,S +857,1,1,"Wick, Mrs. George Dennick (Mary Hitchcock)",female,45,1,1,36928,164.8667,,S +858,1,1,"Daly, Mr. Peter Denis ",male,51,0,0,113055,26.55,E17,S +859,1,3,"Baclini, Mrs. Solomon (Latifa Qurban)",female,24,0,3,2666,19.2583,,C +860,0,3,"Razi, Mr. Raihed",male,,0,0,2629,7.2292,,C +861,0,3,"Hansen, Mr. Claus Peter",male,41,2,0,350026,14.1083,,S +862,0,2,"Giles, Mr. Frederick Edward",male,21,1,0,28134,11.5,,S +863,1,1,"Swift, Mrs. Frederick Joel (Margaret Welles Barron)",female,48,0,0,17466,25.9292,D17,S +864,0,3,"Sage, Miss. Dorothy Edith ""Dolly""",female,,8,2,CA. 2343,69.55,,S +865,0,2,"Gill, Mr. John William",male,24,0,0,233866,13,,S +866,1,2,"Bystrom, Mrs. (Karolina)",female,42,0,0,236852,13,,S +867,1,2,"Duran y More, Miss. Asuncion",female,27,1,0,SC/PARIS 2149,13.8583,,C +868,0,1,"Roebling, Mr. Washington Augustus II",male,31,0,0,PC 17590,50.4958,A24,S +869,0,3,"van Melkebeke, Mr. Philemon",male,,0,0,345777,9.5,,S +870,1,3,"Johnson, Master. Harold Theodor",male,4,1,1,347742,11.1333,,S +871,0,3,"Balkic, Mr. Cerin",male,26,0,0,349248,7.8958,,S +872,1,1,"Beckwith, Mrs. Richard Leonard (Sallie Monypeny)",female,47,1,1,11751,52.5542,D35,S +873,0,1,"Carlsson, Mr. Frans Olof",male,33,0,0,695,5,B51 B53 B55,S +874,0,3,"Vander Cruyssen, Mr. Victor",male,47,0,0,345765,9,,S +875,1,2,"Abelson, Mrs. Samuel (Hannah Wizosky)",female,28,1,0,P/PP 3381,24,,C +876,1,3,"Najib, Miss. Adele Kiamie ""Jane""",female,15,0,0,2667,7.225,,C +877,0,3,"Gustafsson, Mr. Alfred Ossian",male,20,0,0,7534,9.8458,,S +878,0,3,"Petroff, Mr. Nedelio",male,19,0,0,349212,7.8958,,S +879,0,3,"Laleff, Mr. Kristo",male,,0,0,349217,7.8958,,S +880,1,1,"Potter, Mrs. Thomas Jr (Lily Alexenia Wilson)",female,56,0,1,11767,83.1583,C50,C +881,1,2,"Shelley, Mrs. William (Imanita Parrish Hall)",female,25,0,1,230433,26,,S +882,0,3,"Markun, Mr. Johann",male,33,0,0,349257,7.8958,,S +883,0,3,"Dahlberg, Miss. Gerda Ulrika",female,22,0,0,7552,10.5167,,S +884,0,2,"Banfield, Mr. Frederick James",male,28,0,0,C.A./SOTON 34068,10.5,,S +885,0,3,"Sutehall, Mr. Henry Jr",male,25,0,0,SOTON/OQ 392076,7.05,,S +886,0,3,"Rice, Mrs. William (Margaret Norton)",female,39,0,5,382652,29.125,,Q +887,0,2,"Montvila, Rev. Juozas",male,27,0,0,211536,13,,S +888,1,1,"Graham, Miss. Margaret Edith",female,19,0,0,112053,30,B42,S +889,0,3,"Johnston, Miss. Catherine Helen ""Carrie""",female,,1,2,W./C. 6607,23.45,,S +890,1,1,"Behr, Mr. Karl Howell",male,26,0,0,111369,30,C148,C +891,0,3,"Dooley, Mr. Patrick",male,32,0,0,370376,7.75,,Q diff --git a/docs/path1.png b/docs/path1.png new file mode 100644 index 0000000..a94aff4 Binary files /dev/null and b/docs/path1.png differ diff --git a/docs/path2.png b/docs/path2.png new file mode 100644 index 0000000..3b22399 Binary files /dev/null and b/docs/path2.png differ diff --git a/docs/path3.png b/docs/path3.png new file mode 100644 index 0000000..557256d Binary files /dev/null and b/docs/path3.png differ diff --git a/docs/path4.png b/docs/path4.png new file mode 100644 index 0000000..4f65865 Binary files /dev/null and b/docs/path4.png differ diff --git a/lec1.ipynb b/lec1.ipynb new file mode 100644 index 0000000..d1e2e0a --- /dev/null +++ b/lec1.ipynb @@ -0,0 +1,720 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Работа с NumPy" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "matrix = \n", + " [[4 5 0]\n", + " [9 9 9]] \n", + "\n", + "tmatrix = \n", + " [[4 9]\n", + " [5 9]\n", + " [0 9]] \n", + "\n", + "vector = \n", + " [4 5 0 9 9 9] \n", + "\n", + "tvector = \n", + " [[4]\n", + " [5]\n", + " [0]\n", + " [9]\n", + " [9]\n", + " [9]] \n", + "\n", + "list_matrix = \n", + " [array([4, 5, 0]), array([9, 9, 9])] \n", + "\n", + "matrix as str = \n", + " [[4 5 0]\n", + " [9 9 9]] \n", + "\n", + "matrix type is \n", + "\n", + "vector type is \n", + "\n", + "list_matrix type is \n", + "\n", + "str_matrix type is \n", + "\n", + "formatted_vector = \n", + " 4; 5; 0; 9; 9; 9 \n", + "\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "\n", + "matrix = np.array([[4, 5, 0], [9, 9, 9]])\n", + "print(\"matrix = \\n\", matrix, \"\\n\")\n", + "\n", + "tmatrix = matrix.T\n", + "print(\"tmatrix = \\n\", tmatrix, \"\\n\")\n", + "\n", + "vector = np.ravel(matrix)\n", + "print(\"vector = \\n\", vector, \"\\n\")\n", + "\n", + "tvector = np.reshape(vector, (6, 1))\n", + "print(\"tvector = \\n\", tvector, \"\\n\")\n", + "\n", + "list_matrix = list(matrix)\n", + "print(\"list_matrix = \\n\", list_matrix, \"\\n\")\n", + "\n", + "str_matrix = str(matrix)\n", + "print(\"matrix as str = \\n\", str_matrix, \"\\n\")\n", + "\n", + "print(\"matrix type is\", type(matrix), \"\\n\")\n", + "\n", + "print(\"vector type is\", type(vector), \"\\n\")\n", + "\n", + "print(\"list_matrix type is\", type(list_matrix), \"\\n\")\n", + "\n", + "print(\"str_matrix type is\", type(str_matrix), \"\\n\")\n", + "\n", + "formatted_vector = \"; \".join(map(str, vector))\n", + "print(\"formatted_vector = \\n\", formatted_vector, \"\\n\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Работа с Pandas DataFrame\n", + "\n", + "https://pandas.pydata.org/docs/user_guide/10min.html" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Работа с данными - чтение и запись CSV" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "\n", + "df = pd.read_csv(\"data/titanic.csv\", index_col=\"PassengerId\")\n", + "\n", + "df.to_csv(\"test.csv\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Работа с данными - основные команды" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Index: 891 entries, 1 to 891\n", + "Data columns (total 11 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 Survived 891 non-null int64 \n", + " 1 Pclass 891 non-null int64 \n", + " 2 Name 891 non-null object \n", + " 3 Sex 891 non-null object \n", + " 4 Age 714 non-null float64\n", + " 5 SibSp 891 non-null int64 \n", + " 6 Parch 891 non-null int64 \n", + " 7 Ticket 891 non-null object \n", + " 8 Fare 891 non-null float64\n", + " 9 Cabin 204 non-null object \n", + " 10 Embarked 889 non-null object \n", + "dtypes: float64(2), int64(4), object(5)\n", + "memory usage: 83.5+ KB\n", + " count mean std min 25% 50% 75% max\n", + "Survived 891.0 0.383838 0.486592 0.00 0.0000 0.0000 1.0 1.0000\n", + "Pclass 891.0 2.308642 0.836071 1.00 2.0000 3.0000 3.0 3.0000\n", + "Age 714.0 29.699118 14.526497 0.42 20.1250 28.0000 38.0 80.0000\n", + "SibSp 891.0 0.523008 1.102743 0.00 0.0000 0.0000 1.0 8.0000\n", + "Parch 891.0 0.381594 0.806057 0.00 0.0000 0.0000 0.0 6.0000\n", + "Fare 891.0 32.204208 49.693429 0.00 7.9104 14.4542 31.0 512.3292\n", + " Survived Pclass Sex Age SibSp Parch Fare Cabin\n", + "PassengerId \n", + "1 0 3 male 22.0 1 0 7.2500 NaN\n", + "2 1 1 female 38.0 1 0 71.2833 C85\n", + "3 1 3 female 26.0 0 0 7.9250 NaN\n", + "4 1 1 female 35.0 1 0 53.1000 C123\n", + "5 0 3 male 35.0 0 0 8.0500 NaN\n", + " Survived Pclass Sex Age SibSp Parch Fare Cabin\n", + "PassengerId \n", + "887 0 2 male 27.0 0 0 13.00 NaN\n", + "888 1 1 female 19.0 0 0 30.00 B42\n", + "889 0 3 female NaN 1 2 23.45 NaN\n", + "890 1 1 male 26.0 0 0 30.00 C148\n", + "891 0 3 male 32.0 0 0 7.75 NaN\n", + " Survived Pclass Sex Age SibSp Parch Fare Cabin\n", + "PassengerId \n", + "804 1 3 male 0.42 0 1 8.5167 NaN\n", + "756 1 2 male 0.67 1 1 14.5000 NaN\n", + "470 1 3 female 0.75 2 1 19.2583 NaN\n", + "645 1 3 female 0.75 2 1 19.2583 NaN\n", + "79 1 2 male 0.83 0 2 29.0000 NaN\n", + " Survived Pclass Sex Age SibSp Parch Fare Cabin\n", + "PassengerId \n", + "860 0 3 male NaN 0 0 7.2292 NaN\n", + "864 0 3 female NaN 8 2 69.5500 NaN\n", + "869 0 3 male NaN 0 0 9.5000 NaN\n", + "879 0 3 male NaN 0 0 7.8958 NaN\n", + "889 0 3 female NaN 1 2 23.4500 NaN\n" + ] + } + ], + "source": [ + "df.info()\n", + "\n", + "print(df.describe().transpose())\n", + "\n", + "cleared_df = df.drop([\"Name\", \"Ticket\", \"Embarked\"], axis=1)\n", + "print(cleared_df.head())\n", + "print(cleared_df.tail())\n", + "\n", + "sorted_df = cleared_df.sort_values(by=\"Age\")\n", + "print(sorted_df.head())\n", + "print(sorted_df.tail())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Работа с данными - работа с элементами" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PassengerId\n", + "1 22.0\n", + "2 38.0\n", + "3 26.0\n", + "4 35.0\n", + "5 35.0\n", + " ... \n", + "887 27.0\n", + "888 19.0\n", + "889 NaN\n", + "890 26.0\n", + "891 32.0\n", + "Name: Age, Length: 891, dtype: float64\n", + "Survived 0\n", + "Pclass 2\n", + "Name Kantor, Mr. Sinai\n", + "Sex male\n", + "Age 34.0\n", + "SibSp 1\n", + "Parch 0\n", + "Ticket 244367\n", + "Fare 26.0\n", + "Cabin NaN\n", + "Embarked S\n", + "Name: 100, dtype: object\n", + "Kantor, Mr. Sinai\n", + " Age Name\n", + "PassengerId \n", + "100 34.0 Kantor, Mr. Sinai\n", + "101 28.0 Petranec, Miss. Matilda\n", + "102 NaN Petroff, Mr. Pastcho (\"Pentcho\")\n", + "103 21.0 White, Mr. Richard Frasar\n", + "104 33.0 Johansson, Mr. Gustaf Joel\n", + "... ... ...\n", + "196 58.0 Lurette, Miss. Elise\n", + "197 NaN Mernagh, Mr. Robert\n", + "198 42.0 Olsen, Mr. Karl Siegwart Andreas\n", + "199 NaN Madigan, Miss. Margaret \"Maggie\"\n", + "200 24.0 Yrois, Miss. Henriette (\"Mrs Harbeck\")\n", + "\n", + "[101 rows x 2 columns]\n", + " Survived Pclass \\\n", + "PassengerId \n", + "1 0 3 \n", + "2 1 1 \n", + "3 1 3 \n", + "\n", + " Name Sex Age \\\n", + "PassengerId \n", + "1 Braund, Mr. Owen Harris male 22.0 \n", + "2 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 \n", + "3 Heikkinen, Miss. Laina female 26.0 \n", + "\n", + " SibSp Parch Ticket Fare Cabin Embarked \n", + "PassengerId \n", + "1 1 0 A/5 21171 7.2500 NaN S \n", + "2 1 0 PC 17599 71.2833 C85 C \n", + "3 0 0 STON/O2. 3101282 7.9250 NaN S \n", + "Survived 0\n", + "Pclass 3\n", + "Name Braund, Mr. Owen Harris\n", + "Sex male\n", + "Age 22.0\n", + "SibSp 1\n", + "Parch 0\n", + "Ticket A/5 21171\n", + "Fare 7.25\n", + "Cabin NaN\n", + "Embarked S\n", + "Name: 1, dtype: object\n", + " Survived Pclass\n", + "PassengerId \n", + "4 1 1\n", + "5 0 3\n", + " Survived Pclass\n", + "PassengerId \n", + "4 1 1\n", + "5 0 3\n" + ] + } + ], + "source": [ + "print(df[\"Age\"])\n", + "\n", + "print(df.loc[100])\n", + "\n", + "print(df.loc[100, \"Name\"])\n", + "\n", + "print(df.loc[100:200, [\"Age\", \"Name\"]])\n", + "\n", + "print(df[0:3])\n", + "\n", + "print(df.iloc[0])\n", + "\n", + "print(df.iloc[3:5, 0:2])\n", + "\n", + "print(df.iloc[[3, 4], [0, 1]])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Работа с данными - отбор и группировка" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['male' 'female']\n", + "male count = 577\n", + "female count = 314\n", + "Total count = 891\n", + " Pclass Survived Count\n", + "0 1 0 80\n", + "1 1 1 136\n", + "2 2 0 97\n", + "3 2 1 87\n", + "4 3 0 372\n", + "5 3 1 119\n" + ] + } + ], + "source": [ + "s_values = df[\"Sex\"].unique()\n", + "print(s_values)\n", + "\n", + "s_total = 0\n", + "for s_value in s_values:\n", + " count = df[df[\"Sex\"] == s_value].shape[0]\n", + " s_total += count\n", + " print(s_value, \"count =\", count)\n", + "print(\"Total count = \", s_total)\n", + "\n", + "print(df.groupby([\"Pclass\", \"Survived\"]).size().reset_index(name=\"Count\")) # type: ignore" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Визуализация - Исходные данные" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Pclass Survived Age\n", + "PassengerId \n", + "1 3 0 22.0\n", + "2 1 1 38.0\n", + "3 3 1 26.0\n", + "4 1 1 35.0\n", + "5 3 0 35.0\n", + "... ... ... ...\n", + "886 3 0 39.0\n", + "887 2 0 27.0\n", + "888 1 1 19.0\n", + "890 1 1 26.0\n", + "891 3 0 32.0\n", + "\n", + "[714 rows x 3 columns]\n" + ] + } + ], + "source": [ + "data = df[[\"Pclass\", \"Survived\", \"Age\"]].copy()\n", + "data.dropna(subset=[\"Age\"], inplace=True)\n", + "print(data)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Визуализация - Сводка пяти чисел\n", + "\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Age \n", + " min q1 q2 median q3 max\n", + "Pclass \n", + "1 0.92 27.0 37.0 37.0 49.0 80.0\n", + "2 0.67 23.0 29.0 29.0 36.0 70.0\n", + "3 0.42 18.0 24.0 24.0 32.0 74.0" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + " Age \n", + " low_iqr iqr high_iqr\n", + "Pclass \n", + "1 0.0 22.0 82.0\n", + "2 3.5 13.0 55.5\n", + "3 0.0 14.0 53.0\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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RbVHPi528P+Tg8HWr9FoUOoMPNqlAweXERGRpPGp0kRERCQpDC9EREQkKQwvREREJCkML0RERCQpDC9EREQkKQwvREREJCkML0RERCQpDC9EREQkKQwvREREJCkML0RERCQpDC9EREQkKQwvREREJCkML0RERCQpDC9EREQkKQwvREREJCkML0RERCQpDC9EREQkKQwvREREJCkML0RERCQpDC9EREQkKQwvREREJCkML0RERCQpDC9EREQkKQwvREREJCkML0RERCQpDC9EREQkKQwvREREJCkML0RERCQpDC9EREQkKQwvREREJCkPFF7mzp0LmUyGKVOmiNNu376NxMREdOzYEXZ2doiLi0NZWdmD1klEREQE4AHCy9GjR/Hxxx+jT58+OtOnTp2Kbdu2YePGjcjNzUVJSQliY2MfuFAiIiIioJnh5datW/jLX/6CTz/9FB06dBCnV1RUYPXq1Vi0aBGGDRuGfv36IT09HYcOHYJKpWqxoomIiKj9smjOQomJiRg5ciRCQ0Px3nvvidPz8vKg0WgQGhoqTvPz84OXlxcOHz6MoKCgButSq9VQq9Xi68rKSgCARqOBRqNpTnmSUltbK3415P7Wr9uQ22itfaG2i8cQSQWP1Zanz/uod3jZsGEDfvjhBxw9erTBvNLSUlhaWsLR0VFnuqurK0pLSxtdX2pqKmbPnt1genZ2NmxsbPQtT3Iu3AIACxw8eBDn7Ay/vZycHIOtu7X3hdqe+mNIpVLh4gljV0N0bzxWW151dXWT2+oVXi5cuIDJkycjJycHVlZWehfWmJSUFCQlJYmvKysr4enpifDwcCiVyhbZhin7saQSCwpUGDhwIHp7GG5/NRoNcnJyEBYWBrlcbpBttNa+UNt1/Pw1oOAYgoKC8LCXk7HLIbonHqstr/7MS1PoFV7y8vJw+fJlPProo+I0rVaL/fv346OPPsKuXbtw584d3LhxQ6f3paysDG5ubo2uU6FQQKFQNJgul8sN9iFrSiwsLMSvrbG/hnxfW3tfqO3hMURSwWO15enzPuoVXoYPH46CggKdaS+99BL8/Pzw5ptvwtPTE3K5HHv27EFcXBwA4PTp0zh//jyCg4P12RQRERFRo/QKL/b29vD399eZZmtri44dO4rTx40bh6SkJDg5OUGpVGLixIkIDg5udLAuERERkb6adbXR/Sxe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5XI55HJ5S5bXrllYWIhf+b6SqeJxSlLBY7Xl6fM+tuh9Xry9veHm5oY9e/aI0yorK3HkyBEEBwe35KaIiIiondK75+XWrVsoKioSXxcXFyM/Px9OTk7w8vLClClT8N5776F79+7w9vbGO++8Aw8PD8TExLRk3URERNRO6R1ejh07hqFDh4qv68erJCQkYM2aNXjjjTdQVVWFv//977hx4wYGDhyInTt3wsrKquWqJiIionZL7/AyZMgQCIJwz/kymQxz5szBnDlzHqgwIiIiosbw2UZEREQkKQwvREREJCkML0RERCQpDC9EREQkKQwvREREJCkML0RERCQpDC9EREQkKQwvREREJCkML0RERCQpDC9EREQkKQwvREREJCkML0RERCQpDC9EREQkKQwvREREJCkML0RERCQpDC9EREQkKQwvREREJCkWxi6AiNqu6upqnDp1qklta2pqMOuDeSj592m8XuCLWdPfgLW1dZO35efnBxsbm+aWSkQSwvBCRAZz6tQp9OvXT+/ldl86jd3bt+q1TF5eHh599FG9t0VE0sPwQkQG4+fnh7y8vPu2SUpKQm5uLuRyOZ55djRsOnVG9ZVf8Y9vNkCj0SAkJASLFi1q0raIqH1geCEig7Gxsblvb0hNTQ1yc3NhaWmJmzdvQiaTYfv27RgxYjY+X/0Z7O3tkZubi549e+p1ComI2jYO2CUio3n99dcB3O19AYBly5bhk08+wbJlywAAU6ZM0WlHRASw54WIjKiwsBAAcOXKFdja2qK2thYAsH37drz11ltISEjQaUdEBLDnhYiMqHv37gCAzz77DB07dsSqVauQnp6OVatWoWPHjli9erVOOyIigOGFiIzo/fffF///yy+/YOzYsejQoQPGjh2LX375pdF2REQML0RkNOnp6eL/HR0dER4ejkWLFiE8PByOjo6NtiMi4pgXIjKaM2fOAAC6dOmCc+fOYd++fTrz66fXtyMiAtjzQkRG1K1bNwDAuXPnGp1fP72+HRERwPBCREb0t7/9Tfy/paUl3njjDaxcuRJvvPEGLC0tG21HRMTTRhKkz/Ni6p2+dAPq0iKcPGGNuquOTV6Oz4shQ0pLSxP/7+DggK5du0KhUKBr165wcHBAeXm52O7NN980VplEZGIMFl7S0tIwf/58lJaW4uGHH8by5cvRv39/Q22uXWnu82IA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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "def q1(x):\n", + " return x.quantile(0.25)\n", + "\n", + "\n", + "# median = quantile(0.5)\n", + "def q2(x):\n", + " return x.quantile(0.5)\n", + "\n", + "\n", + "def q3(x):\n", + " return x.quantile(0.75)\n", + "\n", + "\n", + "def iqr(x):\n", + " return q3(x) - q1(x)\n", + "\n", + "\n", + "def low_iqr(x):\n", + " return max(0, q1(x) - 1.5 * iqr(x))\n", + "\n", + "\n", + "def high_iqr(x):\n", + " return q3(x) + 1.5 * iqr(x)\n", + "\n", + "\n", + "quantiles = data[[\"Pclass\", \"Age\"]].groupby([\"Pclass\"]).aggregate([\"min\", q1, q2, \"median\", q3, \"max\"])\n", + "print(quantiles)\n", + "\n", + "iqrs = data[[\"Pclass\", \"Age\"]].groupby([\"Pclass\"]).aggregate([low_iqr, iqr, high_iqr])\n", + "print(iqrs)\n", + "\n", + "data.boxplot(column=\"Age\", by=\"Pclass\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Визуализация - Гистограмма" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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ba699lpTXFzseZ04ccKz3vb+fffdd6Zdu3Zm4sSJZvv27earr74y69evN/v37/dsY/v3zfHjx72O34YNG4wks2nTJmOM/cfQGGPmzp1rWrdubd555x1TVFRkVq9ebVq2bGkWLVrk2cap40iQaYC+ffuazMxMz3JVVZVJSkoy2dnZDlZ16X4cZNxut0lISDDz58/3tJ08edJERESY1157zYEK/eP48eNGksnPzzfGnO9TWFiYWb16tWeb//f//p+RZLZt2+ZUmZfkyiuvNP/7v/8bdH07deqU6dSpk9mwYYP5+c9/7gkywdDP2bNnm549e9a4Lhj6N336dDNgwIBa1wfj982UKVNMhw4djNvtDopjaIwxo0aNMvfdd59X25gxY8z48eONMc4eRy4t1VNlZaV27typoUOHetqaNWumoUOHatu2bQ5W5n9FRUU6evSoV19jYmLUr18/q/taUlIiSWrVqpUkaefOnTp79qxXP7t27aqUlBTr+llVVaWVK1eqvLxc6enpQdU3ScrMzNSoUaO8+iMFzzHct2+fkpKSdPXVV2v8+PE6dOiQpODo31tvvaXrr79e//Ef/6G4uDj16tVL//M//+NZH2zfN5WVlXrllVd03333yeVyBcUxlKSf/exnysvL0969eyVJu3bt0tatWzVixAhJzh7HgH+yb6D417/+paqqqmpPFI6Pj9eXX37pUFWN4+jRo5JUY18vrLON2+3W1KlT1b9/f3Xv3l3S+X6Gh4dXm1TUpn5+9tlnSk9P15kzZ9SyZUutXbtW3bp1U0FBgfV9u2DlypX65JNP9PHHH1dbFwzHsF+/fsrNzVWXLl1UXFysOXPmaODAgdqzZ09Q9O+rr77SkiVLlJWVpSeeeEIff/yxHnnkEYWHhysjIyPovm/eeOMNnTx5UhMnTpQUHP+NStKMGTNUWlqqrl27KiQkRFVVVZo7d67Gjx8vydm/GwQZXBYyMzO1Z88ebd261elS/KpLly4qKChQSUmJ/vKXvygjI0P5+flOl+U3hw8f1pQpU7RhwwY1b97c6XIaxYX/o5WktLQ09evXT+3atdOqVasUGRnpYGX+4Xa7df311+sPf/iDJKlXr17as2ePli5dqoyMDIer879ly5ZpxIgRSkpKcroUv1q1apVeffVVrVixQtdee60KCgo0depUJSUlOX4cubRUT23atFFISEi1kebHjh1TQkKCQ1U1jgv9CZa+Tp48We+88442bdqktm3betoTEhJUWVmpkydPem1vUz/Dw8PVsWNH9e7dW9nZ2erZs6cWLVoUFH2Tzl9aOX78uK677jqFhoYqNDRU+fn5ev755xUaGqr4+Pig6OcPxcbGqnPnztq/f39QHMfExER169bNq+2aa67xXD4Lpu+bgwcPauPGjfrlL3/paQuGYyhJv/nNbzRjxgzdeeed6tGjh/7zP/9T06ZNU3Z2tiRnjyNBpp7Cw8PVu3dv5eXledrcbrfy8vKUnp7uYGX+l5qaqoSEBK++lpaWavv27Vb11RijyZMna+3atfrggw+Umprqtb53794KCwvz6mdhYaEOHTpkVT9/yO12q6KiImj6NmTIEH322WcqKCjwvK6//nqNHz/e8+9g6OcPlZWV6cCBA0pMTAyK49i/f/9qjz3Yu3ev2rVrJyl4vm8kKScnR3FxcRo1apSnLRiOoSSdPn1azZp5R4aQkBC53W5JDh/HRh1KHGRWrlxpIiIiTG5urvniiy/MAw88YGJjY83Ro0edLq3BTp06ZT799FPz6aefGklm4cKF5tNPPzUHDx40xpy/jS42Nta8+eabZvfu3ea2226z6nZIY4x56KGHTExMjNm8ebPXrZGnT5/2bPPggw+alJQU88EHH5gdO3aY9PR0k56e7mDV9TdjxgyTn59vioqKzO7du82MGTOMy+Uy77//vjHG7r7V5Yd3LRljfz8fffRRs3nzZlNUVGT+/ve/m6FDh5o2bdqY48ePG2Ps799HH31kQkNDzdy5c82+ffvMq6++alq0aGFeeeUVzzbB8H1TVVVlUlJSzPTp06uts/0YGmNMRkaG+clPfuK5/XrNmjWmTZs25vHHH/ds49RxJMg00H/913+ZlJQUEx4ebvr27Ws+/PBDp0vyyaZNm4ykaq+MjAxjzPlb6Z566ikTHx9vIiIizJAhQ0xhYaGzRTdQTf2TZHJycjzb/Pvf/za//vWvzZVXXmlatGhhbr/9dlNcXOxc0Q1w3333mXbt2pnw8HBz1VVXmSFDhnhCjDF2960uPw4ytvdz3LhxJjEx0YSHh5uf/OQnZty4cV7PWLG9f8YY8/bbb5vu3bubiIgI07VrV/Pf//3fXuuD4ftm/fr1RlKNdQfDMSwtLTVTpkwxKSkppnnz5ubqq682Tz75pKmoqPBs49RxdBnzg8fyAQAAWIQxMgAAwFoEGQAAYC2CDAAAsBZBBgAAWIsgAwAArEWQAQAA1iLIAAAAaxFkAACAtQgyAADAWgQZAABgLYIMAACwFkEGAABY6/8DtPi+4IjxfqwAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "data.plot.hist(column=[\"Age\"], bins=80)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Визуализация - Точечная диаграмма" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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AgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsECIAgAAsGAVolatWuX1vjfeeMO6GAAAgIrCKkTddNNNGjlypH766Sdn27Fjx3Trrbdq9OjRpVYcAABAeWX9SdSSJUvUvn17bd++XcuXL1fr1q2Vl5en9PT0Ui4RAACg/LEKUZ06dVJ6erpat26tdu3a6fbbb9eIESO0evVqNWrUqLRrBAAAKHesTyzfuXOn0tLS1LBhQwUFBWnHjh0qKCgozdoAAADKLasQ9fLLLyslJUU33HCDtm7dqvXr12vTpk1KTEzUunXrSrtGAACAcscqRE2dOlVLly7V9OnTVaVKFbVu3Vrr16/XHXfcoeuuu66USwQAACh/gmwe9O233yomJsalLTg4WJMmTdItt9xSKoUBAACUZ1afRMXExCgnJ0dvv/22xowZoxMnTkiSNm7cqISEhFItEAAAoDyy+iRqy5Yt6tGjhyIjI7V3714NHjxYNWvW1IcffqisrCzNmzevtOsEAAAoV6w+iRoxYoQGDRqkjIwMValSxdl+880364svvii14gAAAMorq0+i0tLS9Oabb7q1N2jQQIcOHbrsogAAAMo7q0+iQkNDlZeX59a+c+dO1apV67KLAgAAKO+sQtRtt92m559/3vm38xwOh7KysjRq1CjdeeedpVogAABAeWQVoiZPnqxTp06pdu3aOn36tLp166amTZsqPDxcEyZMKO0aAQAAyh2rc6IiIyO1YsUKrVmzRlu2bNGpU6d09dVXq3v37qVdHwAAQLnk0ydR69at00cffeS83aVLF1WrVk2vvfaa+vXrp4ceekhnzpwp9SIBAADKG59C1PPPP69t27Y5b3/77bcaPHiwbrjhBo0ePVp///vfNXHixFIvEgAAoLzxKUSlp6e7/Mpu/vz56tChg9566y09/vjjmjZtmhYuXFjqRQIAAJQ3PoWo7Oxs1alTx3k7NTVVvXr1ct5u37699u/fX3rVAQAAlFM+hag6deooMzNTknT27Flt3LhRHTt2dN5/8uRJBQcHl26FAAAA5ZBPIermm2/W6NGj9eWXX2rMmDEKCwtT165dnfdv2bJFTZs2LfUiAQAAyhufLnHwwgsv6I477lC3bt0UHh6uuXPnKiQkxHn/7Nmz1bNnz1IvEgAAoLxxGGOMrw/Kzc1VeHi4AgMDXdpPnDih8PBwl2D1W5WXl6fIyEjl5uYqIiLC3+UAAIAS8OX92/pim57UrFnTZjgAAIAKx+rPvgAAAPzWEaIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIAAAAsEKIkDRo0SH369PF3GQAAoAIJ8ncB8N2eo6f0deZx7Tx8Ul98d0y5P57V9S3raNLdbZx9ZqzM0Nrdx9S1WS09en2C1zZJen7ZNn2155i6JNTS2Fta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xDRo0MD07dvX5fpJFX1+F/z97383rVu3NqGhoaZly5bmzTffdLm/oq83//znP40kjzVXhm2Yl5dnhg0bZuLi4kyVKlVMkyZNzNNPP23OnDnj7OPPbegwpshlPwEAAFAinBMFAABggRAFAABggRAFAABggRAFAABggRAFAABggRAFAABggRAFAABggRAFAABggRAFAABggRAFAEWsW7dOgYGBLn/MFQA84c++AEARDz74oMLDwzVr1izt2LFD9evX93dJAMopPokCgP84deqUFixYoEceeUS9e/fWnDlzXO5ftmyZmjVrpipVquj666/X3Llz5XA4lJOT4+yzZs0ade3aVVWrVlVsbKwee+wx5efn/7oTAfCrIEQBwH8sXLhQLVu2VIsWLXTvvfdq9uzZuvBhfWZmpu666y716dNHmzdv1h//+Ec9/fTTLo/fvXu3brrpJt15553asmWLFixYoDVr1mjo0KH+mA6AMsav8wDgPzp37qx77rlHw4YN07lz51SvXj0tWrRI1113nUaPHq3ly5fr22+/dfYfO3asJkyYoOzsbEVFRenBBx9UYGCg3njjDWefNWvWqFu3bsrPz1eVKlX8MS0AZYRPogBA0o4dO7R+/Xr169dPkhQUFKS+fftq1qxZzvvbt2/v8pgOHTq43N68ebPmzJmj8PBw58+NN96owsJCZWZm/joTAfCrCfJ3AQBQHsyaNUvnzp1zOZHcGKPQ0FDNmDGjRGOcOnVKf/zjH/XYY4+53RcXF1dqtQIoHwhRAH7zzp07p3nz5mny5Mnq2bOny319+vTRBx98oBYtWugf//iHy30bNmxwud2uXTtt375dCQkJZV4zAP/jnCgAv3lLly5V3759deTIEUVGRrrcN2rUKH3++edauHChWrRooREjRuiBBx5Qenq6nnjiCX3//ffKyclRZGSktmzZoo4dO+r+++/Xgw8+qGrVqmn79u1asWJFiT/NAlBxcE4UgN+8WbNmqUePHm4BSpLuvPNOpaWl6eTJk1q8eLE+/PBDJSYm6vXXX3d+Oy80NFSSlJiYqNTUVO3cuVNdu3ZVUlKSxo0bx7WmgEqKT6IAwNKECRM0c+ZM7d+/39+lAPADzokCgBJ67bXX1L59e0VHR2vt2rWaNGkS14ACfsMIUQBQQhkZGXrxxRd14sQJxcXF6YknntCYMWP8XRYAP+HXeQAAABY4sRwAAMACIQoAAMACIQoAAMACIQoAAMACIQoAAMACIQoAAMACIQoAAMACIQoAAMDC/wfGGnH4UTTIJwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjIAAAGwCAYAAACzXI8XAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/GU6VOAAAACXBIWXMAAA9hAAAPYQGoP6dpAABLqUlEQVR4nO3dfVwVdfo//tfhHgQO9yDJrRLeJN5DqGkmRa5r+cvM/LRlZdtWaKt2s9Jv07XaoFtL09zM1G68yW01u9FuSDEV71BKswgEBUNuJOBwk4Aw3z+Ik0cOcxg4Z2aO83o+HuexMdecwzU7DueamWveb50gCAKIiIiI7JCD0gkQERERdRcLGSIiIrJbLGSIiIjIbrGQISIiIrvFQoaIiIjsFgsZIiIislssZIiIiMhuOSmdgK21traipKQEXl5e0Ol0SqdDREREXSAIAmpraxEaGgoHh86vu1zxhUxJSQnCwsKUToOIiIi6obi4GH369Ok0fsUXMl5eXgDa/o/w9vZWOBsiIiLqCoPBgLCwMOP3eGeu+EKm/XaSt7c3CxkiIiI7Y6kthM2+REREZLdYyBAREZHdYiFDREREdouFDBEREdktFjJERERkt1jIEBERkd1iIUNERER2i4UMERER2S0WMkRERGS3WMgQERGR3VK0kGlpacHTTz+NqKgouLu7o2/fvnj22WchCIJxHUEQsGjRIvTu3Rvu7u5ISkpCXl6eglm3Kaiow67cchSer1c6FSIiIs1SdK6lF154AW+++SbWr1+PQYMG4ciRI7jvvvug1+vx6KOPAgBefPFFLFu2DOvXr0dUVBSefvppJCcn4+TJk3Bzc5M95+qGJjy6MQd78iqMy8bFBGL5zGHQezjLng8REZGW6YRLL3/I7M9//jOCg4OxZs0a47Jp06bB3d0d77//PgRBQGhoKB577DE8/vjjAICamhoEBwdj3bp1uPPOOy3+DoPBAL1ej5qaGqtMGnnPmkPYl38eLZf83+ao02FMvwC8Ozu+x59PREREXf/+VvTW0ujRo5GRkYGff/4ZAPDdd99h7969mDRpEgCgsLAQpaWlSEpKMr5Hr9cjISEBWVlZZj+zsbERBoPB5GUtBRV12JNXYVLEAECLIGBPXgVvMxEREclM0VtLCxcuhMFgQP/+/eHo6IiWlhb8+9//xl133QUAKC0tBQAEBwebvC84ONgYu1xaWhqWLFlik3zP/NogGj9dWY+ogF42+d1ERETUkaJXZD788EN88MEH2LBhA44ePYr169fj5Zdfxvr167v9mampqaipqTG+iouLrZZvhJ+HaDzSn0UMERGRnBS9IvPEE09g4cKFxl6XwYMH48yZM0hLS8OsWbMQEhICACgrK0Pv3r2N7ysrK8PQoUPNfqarqytcXV1tkm90oCfGxQR22iPDqzFERETyUvSKTENDAxwcTFNwdHREa2srACAqKgohISHIyMgwxg0GAw4ePIjExERZc223fOYwjOkXYLJsTL8ALJ85TJF8iIiItEzRKzJTpkzBv//9b4SHh2PQoEE4duwYXn31Vdx///0AAJ1Oh3nz5uG5555DTEyM8fHr0NBQTJ06VZGc9R7OeHd2PArP1+N0ZT0i/XvxSgwREZFCFC1kli9fjqeffhqPPPIIysvLERoair/97W9YtGiRcZ0nn3wS9fX1ePDBB1FdXY2xY8di586diowhc6moABYwRERESlN0HBk5WHscGSIiIrI9uxhHhoiIiKgnWMgQERGR3WIhQ0RERHaLhQwRERHZLRYyREREZLdYyBAREZHdYiFDREREdouFDBEREdktFjJERERkt1jIEBERkd1iIUNERER2i4UMERER2S0WMkRERGS3WMgQERGR3XJSOgEiIiKyTwUVdTjzawMi/XshKqCXIjmwkCEiIiJJqhua8OjGHOzJqzAuGxcTiOUzh0Hv4SxrLry1RERERJI8ujEH+/LPmyzbl38eczcekz0XFjJERETUZQUVddiTV4EWQTBZ3iII2JNXgcLz9bLmw0KGiIiIuuzMrw2i8dOVLGSIiIhIpSL8PETjkf7yNv2ykCEiIqIuiw70xLiYQDjqdCbLHXU6jIsJlP3pJRYyREREJMnymcMwpl+AybIx/QKwfOYw2XPh49dEREQkid7DGe/Ojkfh+XqcrqznODJERERkf6IClCtg2vHWEhEREdktFjJERERkt1jIEBERkd1ij0w3ZeaWI+dsNYaH++K6mECl0yEiItIkFjISnamsx9QV+1DV0Gxc5uvhjO0pYxHmLz5IEBEREVkXby1JdHkRAwBVDc24ZcVehTIiIiJSRkFFHXbllss+v9KleEVGgszc8g5FTLuqhmZ8m1fB20xERHTFq25owqMbc7Anr8K4bFxMIJbPHAa9h7Os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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df.plot.scatter(x=\"Age\", y=\"Sex\")\n", + "\n", + "df.plot.scatter(x=\"Pclass\", y=\"Age\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Визуализация - Столбчатая диаграмма" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAigAAAGrCAYAAADqwWxuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/GU6VOAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAqnElEQVR4nO3deXhU5aHH8d8kIRtkJg2QTPKQsIrsaxAjiAgpIVhkVZZUiXLhyqKFWGlzryyCvUGuCkW223uvBIUIUgsCAkJZwhZQ0oKK7AWDDyThgsmwJYRk7h88TDslLIGEeRO+n+c5z+PMec+Zd2Da+XLOmRmL0+l0CgAAwCBenp4AAADAPyNQAACAcQgUAABgHAIFAAAYh0ABAADGIVAAAIBxCBQAAGAcH09P4F6UlJTo9OnTCgoKksVi8fR0AADAXXA6nbpw4YIiIiLk5XX7YySVMlBOnz6tyMhIT08DAADcg1OnTqlOnTq3HVMpAyUoKEjS9SdotVo9PBsAAHA3HA6HIiMjXe/jt1MpA+XGaR2r1UqgAABQydzN5RlcJAsAAIxDoAAAAOMQKAAAwDiV8hqUu1VcXKyioiJPTwOGqVatmry9vT09DQDAbVTJQHE6ncrOzlZeXp6npwJDBQcHy2638z06AGCoKhkoN+IkNDRUgYGBvAnBxel06vLly8rNzZUkhYeHe3hGAIDSVLlAKS4udsVJzZo1PT0dGCggIECSlJubq9DQUE73AICBqtxFsjeuOQkMDPTwTGCyG68PrlECADNVuUC5gdM6uB1eHwBgtiobKAAAoPIiUAAAgHGq3EWyt5W+98E91lPRD+6xKpGTJ0+qfv36+utf/6o2bdpU2ONMmTJFK1eu1L59+yrsMQAAFYcjKIZITEyUxWLR9OnT3e5fuXJlma+XqFevnmbNmlWOsys/kZGROnPmjFq0aOHpqQAADEagGMTf31/vvPOOfvrpJ09P5Z7czSdivL29Zbfb5ePzcB28AwCUDYFikNjYWNntdqWkpNx23GeffabmzZvLz89P9erV03vvveda17VrV/3www8aP368LBbLLY++OJ1OTZkyRVFRUfLz81NERIRee+0113qLxaKVK1e6bRMcHKzU1FRJ10/VWCwWLVu2TE899ZT8/f01f/58BQQEaN26dW7brVixQkFBQbp8+bJru3379qmkpER16tTR/Pnz3cb/9a9/lZeXl3744QdJUl5env7lX/5FtWvXltVqVbdu3bR//363baZPn66wsDAFBQVp+PDhKigouO2fIQDAbPwz1iDe3t76j//4Dw0dOlSvvfaa6tSpc9OYzMxMPf/885oyZYoGDRqkXbt2afTo0apZs6YSExP1pz/9Sa1bt9bIkSM1YsSIWz7WZ599ppkzZ2rp0qVq3ry5srOzb3rTvxu//e1v9d5776lt27by9/fX9u3blZaWpvj4eNeYJUuWqG/fvjd9N42Xl5eGDBmitLQ0jRo1ym18p06dVLduXUnSc8895wofm82m//qv/1L37t115MgRhYSE6NNPP9WUKVM0d+5cde7cWR9//LFmz56tBg0alPn5APCAB3l94L3iusIHjiMohunXr5/atGmjyZMnl7r+/fffV/fu3TVx4kQ1btxYiYmJGjt2rP7zP/9TkhQSEiJvb28FBQXJbrfLbreXup+srCzZ7XbFxsYqKipKjz322G2D5lbGjRun/v37q379+goPD1dCQoJWrlypy5cvS5IcDoe++OILJSQklLp9QkKCdu7cqaysLElSSUmJli5d6hq/Y8cOffXVV1q+fLmio6P1yCOP6N1331VwcLD++Mc/SpJmzZql4cOHa/jw4Xr00Uf19ttvq1mzZmV+LgAAcxAoBnrnnXe0aNEiHTx48KZ1Bw8eVKdOndzu69Spk44ePari4uK7foznnntOV65cUYMGDTRixAitWLFC165dK/Nco6Pd/1XRq1cvVatWTatWrZJ0/UiN1WpVbGxsqdu3adNGTZs2VVpamiQpPT1dubm5eu655yRJ+/fv18WLF1WzZk3VqFHDtZw4cULHjx+XdP3PpGPHjm77jYmJKfNzAQCYg0AxUJcuXRQXF6fk5OQKe4zIyEgdPnxY8+bNU0BAgEaPHq0uXbq4LnS1WCxyOp1u25R2EWz16tXdbvv6+mrgwIGu4EhLS9OgQYNue1FsQkKC2/iePXu6fkfp4sWLCg8P1759+9yWw4cP64033rj3PwAAgNEIFENNnz5dq1evVkZGhtv9TZs21c6dO93u27lzpxo3buz60TtfX9+7OpoSEBCg3r17a/bs2dq6dasyMjL07bffSpJq166tM2fOuMYePXrUddrmThISErR+/XodOHBAmzdvvuXpnRuGDh2q7777TpmZmfrjH//oNr5du3bKzs6Wj4+PGjVq5LbUqlXL9WeyZ88et33u3r37ruYKADATF8kaqmXLlkpISNDs2bPd7n/99dfVoUMHTZs2TYMGDVJGRobmzJmjefPmucbUq1dP27Zt0+DBg+Xn5+d6I/9HqampKi4uVseOHRUYGKjFixcrICDAdWFqt27dNGfOHMXExKi4uFi/+c1vVK1atbuae5cuXWS325WQkKD69evfdPrln9WrV09PPPGEhg8fruLiYj377LOudbGxsYqJiVHfvn01Y8YMNW7cWKdPn9YXX3yhfv36KTo6Wr/61a+UmJio6OhoderUSUuWLNGBAwe4SBYAKrGHK1Aq2VXYU6dO1bJly9zua9eunT799FNNmjRJ06ZNU3h4uKZOnarExES37f71X/9VDRs2VGFh4U2naqTrHxmePn26kpKSVFxcrJYtW2r16tWuUyvvvfeeXnrpJT355JOKiIjQ73//e2VmZt7VvC0Wi4YMGaIZM2Zo0qRJd7VNQkKCRo8erRdffFEBAQFu+1q7dq3+/d//XS+99JLOnj0ru92uLl26KCwsTJI0aNAgHT9+XBMmTFBBQYEGDBigUaNG6csvv7yrxwYAmMfiLO3dy3AOh0M2m035+fmyWq1u6woKCnTixAnVr19f/v7+HpohTMfrBDAIHzN+aNzu/fufcQ0KAAAwDoECAACMQ6AAAADjECgAAMA4BAoAADAOgQIAAIxDoAAAAOMQKAAAwDgECrR161ZZLBbl5eVV6OMkJiaqb9++FfoYAICq4aH6qnvLW5YH9ljOyWX/gt6zZ89q0qRJ+uKLL5STk6Of/exnat26tSZNmqROnTpVwCyve+KJJ3TmzBnZbLYKewwAAMrioQoU0w0YMEBXr17VokWL1KBBA+Xk5GjTpk06d+7cPe3P6XSquLhYPj63/2v29fWV3W6/p8cAAKAicIrHEHl5edq+fbveeecdPf3006pbt64ee+wxJScn69lnn9XJkydlsVi0b98+t20sFou2bt0q6e+natatW6f27dvLz89PH374oSwWiw4dOuT2eDNnzlTDhg3dtsvLy5PD4VBAQIDWrVvnNn7FihUKCgrS5cuXJUmnTp3S888/r+DgYIWEhKhPnz46efKka3xxcbGSkpIUHBysmjVrasKECaX+aCEAAKUhUAxRo0YN1ahRQytXrlRhYeF97eu3v/2tpk+froMH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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot = data.groupby([\"Pclass\", \"Survived\"]).size().unstack().plot.bar(color=[\"pink\", \"green\"])\n", + "plot.legend([\"Not survived\", \"Survived\"])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Визуализация - Временные ряды" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 243 entries, 0 to 242\n", + "Data columns (total 6 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 my_date 243 non-null object \n", + " 1 my_value 243 non-null float64 \n", + " 2 bullet 2 non-null object \n", + " 3 bulletClass 2 non-null object \n", + " 4 label 2 non-null object \n", + " 5 date 243 non-null datetime64[ns]\n", + "dtypes: datetime64[ns](1), float64(1), object(4)\n", + "memory usage: 11.5+ KB\n", + " my_date my_value bullet bulletClass label date\n", + "0 28.03.2023 76.5662 NaN NaN NaN 2023-03-28\n", + "1 31.03.2023 77.0863 NaN NaN NaN 2023-03-31\n", + "2 01.04.2023 77.3233 NaN NaN NaN 2023-04-01\n", + "3 04.04.2023 77.9510 NaN NaN NaN 2023-04-04\n", + "4 05.04.2023 79.3563 NaN NaN NaN 2023-04-05\n", + ".. ... ... ... ... ... ...\n", + "238 20.03.2024 92.2243 NaN NaN NaN 2024-03-20\n", + "239 21.03.2024 92.6861 NaN NaN NaN 2024-03-21\n", + "240 22.03.2024 91.9499 NaN NaN NaN 2024-03-22\n", + "241 23.03.2024 92.6118 NaN NaN NaN 2024-03-23\n", + "242 26.03.2024 92.7761 NaN NaN NaN 2024-03-26\n", + "\n", + "[243 rows x 6 columns]\n" + ] + }, + { + "data": { + "image/png": "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cO+995odx8fHBxcvXqw3posXL8LHx8fmMm6//XbMnTsXR48etTj20aNHMX/+fNxxxx1mz2s0GrNj11VcXAyNRtOsMqReCznGJMfrLceYHn74YcycORMrV67E8ePHkZ2djezsbBw/fhwrV67E7NmzMXfuXLMyQ0JCcOjQoXpjOnTokNinw5Yy5HieAMd/Xm05vhzvIXK8/9tynuzKYalPM913333Ut29fqxnrn3/+Sf3796cZM2YQEVF6ejr16NGDVCoV9e3bl8aPH0/jx4+nvn37kkqlol69elF6errZMWzZR0pMtpQhx5jKy8vp0UcfJRcXF1IoFKTVakmr1ZJCoSAXFxeaP38+lZeXm5W7ePFi8vX1pTfffJOSkpIoKyuLsrKyKCkpid58803y8/OjF154weYy8vPzafz48SQIAvn5+VGXLl2oS5cu5OfnRwqFgiZMmEAFBQVmMT322GMUHR1N33//vVl1dlFREX3//fcUExNDjz/+eLPKkHot5BiTHK+3HGMiInr11VcpNDSUBEEghUJBCoWCBEGg0NBQWrFihcX5/s9//kMajYaefPJJ2rhxIx04cIAOHDhAGzdupCeffJJcXV3pvffes7kMuZ4nR39ebTm+HO8hcrz/23Ke7Em2o3gKCgpw3333YevWrfD19TXr0V9YWIhx48bhq6++ErN7g8GArVu34sCBAxa9q8eOHWu157PUfaTGZEsZcowJMP5CSkxMNNu+f//+8PLysnb5sGLFCrz99tvIysoSlyInIoSEhGDBggVYuHBhs8s4c+aM1X9Dly5dLLatqKjAggUL8Omnn6K6ulr81VFZWQmVSoWHHnoIK1euNPsFJLUMqddCjjHZei1a4nrLMSYASEtLM9s+Nja23m3Xr1+PlStXIjExEXq9HgCgVCrRv39/PP3005g+fXqzy5DreXL051XK8VsqJqllyPX+b8u5tQfZJigmrXViOCb7kHJjbQm23Filknot5BiTreR2vQF5xlRVVSVWswcEBNh1jgtbyfE8tcRnoy3EJNf7f7M5rG6mFej1+nqfv3Tpkt32cXRccouprKyM9uzZQ6dOnbLY/vr167RmzZpmx2NLGRkZGVRcXGzxfGVlJe3atavZMbVUGVI5OiY5Xm85xpSZmUlffPEF/fzzz1RRUWH2WklJCS1durTZMUktQ47nycTR71tbji/H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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from datetime import datetime\n", + "import matplotlib.dates as md\n", + "\n", + "ts = pd.read_csv(\"data/dollar.csv\")\n", + "ts[\"date\"] = ts.apply(lambda row: datetime.strptime(row[\"my_date\"], \"%d.%m.%Y\"), axis=1)\n", + "ts.info()\n", + "\n", + "print(ts)\n", + "\n", + "plot = ts.plot.line(x=\"date\", y=\"my_value\")\n", + "plot.xaxis.set_major_locator(md.DayLocator(interval=10))\n", + "plot.xaxis.set_major_formatter(md.DateFormatter(\"%d.%m.%Y\"))\n", + "plot.tick_params(axis=\"x\", labelrotation=90)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/poetry.lock b/poetry.lock new file mode 100644 index 0000000..375a1b5 --- /dev/null +++ b/poetry.lock @@ -0,0 +1,2794 @@ +# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. + +[[package]] +name = "anyio" +version = "4.6.2.post1" +description = "High level compatibility layer for multiple asynchronous event loop implementations" +optional = false +python-versions = ">=3.9" +files = [ + {file = "anyio-4.6.2.post1-py3-none-any.whl", hash = "sha256:6d170c36fba3bdd840c73d3868c1e777e33676a69c3a72cf0a0d5d6d8009b61d"}, + {file = "anyio-4.6.2.post1.tar.gz", hash = "sha256:4c8bc31ccdb51c7f7bd251f51c609e038d63e34219b44aa86e47576389880b4c"}, +] + +[package.dependencies] +idna = ">=2.8" +sniffio = ">=1.1" + +[package.extras] +doc = ["Sphinx (>=7.4,<8.0)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"] +test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "truststore (>=0.9.1)", "uvloop (>=0.21.0b1)"] +trio = ["trio (>=0.26.1)"] + +[[package]] +name = "appnope" +version = "0.1.4" +description = "Disable App Nap on macOS >= 10.9" +optional = false +python-versions = ">=3.6" +files = [ + {file = "appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c"}, + {file = "appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee"}, +] + +[[package]] +name = "argon2-cffi" +version = "23.1.0" +description = "Argon2 for Python" +optional = false +python-versions = ">=3.7" +files = [ + {file = "argon2_cffi-23.1.0-py3-none-any.whl", hash = "sha256:c670642b78ba29641818ab2e68bd4e6a78ba53b7eff7b4c3815ae16abf91c7ea"}, + {file = "argon2_cffi-23.1.0.tar.gz", hash = "sha256:879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08"}, +] + +[package.dependencies] +argon2-cffi-bindings = "*" + +[package.extras] +dev = ["argon2-cffi[tests,typing]", "tox (>4)"] +docs = ["furo", "myst-parser", "sphinx", "sphinx-copybutton", "sphinx-notfound-page"] +tests = ["hypothesis", "pytest"] +typing = ["mypy"] + +[[package]] +name = "argon2-cffi-bindings" +version = "21.2.0" +description = "Low-level CFFI bindings for Argon2" +optional = false +python-versions = ">=3.6" +files = [ + {file = "argon2-cffi-bindings-21.2.0.tar.gz", hash = "sha256:bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ccb949252cb2ab3a08c02024acb77cfb179492d5701c7cbdbfd776124d4d2367"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9524464572e12979364b7d600abf96181d3541da11e23ddf565a32e70bd4dc0d"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b746dba803a79238e925d9046a63aa26bf86ab2a2fe74ce6b009a1c3f5c8f2ae"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58ed19212051f49a523abb1dbe954337dc82d947fb6e5a0da60f7c8471a8476c"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:bd46088725ef7f58b5a1ef7ca06647ebaf0eb4baff7d1d0d177c6cc8744abd86"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_i686.whl", hash = "sha256:8cd69c07dd875537a824deec19f978e0f2078fdda07fd5c42ac29668dda5f40f"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:f1152ac548bd5b8bcecfb0b0371f082037e47128653df2e8ba6e914d384f3c3e"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-win32.whl", hash = "sha256:603ca0aba86b1349b147cab91ae970c63118a0f30444d4bc80355937c950c082"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-win_amd64.whl", hash = "sha256:b2ef1c30440dbbcba7a5dc3e319408b59676e2e039e2ae11a8775ecf482b192f"}, + {file = "argon2_cffi_bindings-21.2.0-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e415e3f62c8d124ee16018e491a009937f8cf7ebf5eb430ffc5de21b900dad93"}, + {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3e385d1c39c520c08b53d63300c3ecc28622f076f4c2b0e6d7e796e9f6502194"}, + {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c3e3cc67fdb7d82c4718f19b4e7a87123caf8a93fde7e23cf66ac0337d3cb3f"}, + {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a22ad9800121b71099d0fb0a65323810a15f2e292f2ba450810a7316e128ee5"}, + {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f9f8b450ed0547e3d473fdc8612083fd08dd2120d6ac8f73828df9b7d45bb351"}, + {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:93f9bf70084f97245ba10ee36575f0c3f1e7d7724d67d8e5b08e61787c320ed7"}, + {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3b9ef65804859d335dc6b31582cad2c5166f0c3e7975f324d9ffaa34ee7e6583"}, + {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4966ef5848d820776f5f562a7d45fdd70c2f330c961d0d745b784034bd9f48d"}, + {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:20ef543a89dee4db46a1a6e206cd015360e5a75822f76df533845c3cbaf72670"}, + {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed2937d286e2ad0cc79a7087d3c272832865f779430e0cc2b4f3718d3159b0cb"}, + {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5e00316dabdaea0b2dd82d141cc66889ced0cdcbfa599e8b471cf22c620c329a"}, +] + +[package.dependencies] +cffi = ">=1.0.1" + +[package.extras] +dev = ["cogapp", "pre-commit", "pytest", "wheel"] +tests = ["pytest"] + +[[package]] +name = "arrow" +version = "1.3.0" +description = "Better dates & times for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "arrow-1.3.0-py3-none-any.whl", hash = "sha256:c728b120ebc00eb84e01882a6f5e7927a53960aa990ce7dd2b10f39005a67f80"}, + {file = "arrow-1.3.0.tar.gz", hash = "sha256:d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85"}, +] + +[package.dependencies] +python-dateutil = ">=2.7.0" +types-python-dateutil = ">=2.8.10" + +[package.extras] +doc = ["doc8", "sphinx (>=7.0.0)", "sphinx-autobuild", "sphinx-autodoc-typehints", "sphinx_rtd_theme (>=1.3.0)"] +test = ["dateparser (==1.*)", "pre-commit", "pytest", "pytest-cov", "pytest-mock", "pytz (==2021.1)", "simplejson (==3.*)"] + +[[package]] +name = "asttokens" +version = "3.0.0" +description = "Annotate AST trees with source code positions" +optional = false +python-versions = ">=3.8" +files = [ + {file = "asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2"}, + {file = "asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7"}, +] + +[package.extras] +astroid = ["astroid (>=2,<4)"] +test = ["astroid (>=2,<4)", "pytest", "pytest-cov", "pytest-xdist"] + +[[package]] +name = "async-lru" +version = "2.0.4" +description = "Simple LRU cache for asyncio" +optional = false +python-versions = ">=3.8" +files = [ + {file = "async-lru-2.0.4.tar.gz", hash = "sha256:b8a59a5df60805ff63220b2a0c5b5393da5521b113cd5465a44eb037d81a5627"}, + {file = "async_lru-2.0.4-py3-none-any.whl", hash = "sha256:ff02944ce3c288c5be660c42dbcca0742b32c3b279d6dceda655190240b99224"}, +] + +[[package]] +name = "attrs" +version = "24.2.0" +description = "Classes Without Boilerplate" +optional = false +python-versions = ">=3.7" +files = [ + {file = "attrs-24.2.0-py3-none-any.whl", hash = "sha256:81921eb96de3191c8258c199618104dd27ac608d9366f5e35d011eae1867ede2"}, + {file = "attrs-24.2.0.tar.gz", hash = "sha256:5cfb1b9148b5b086569baec03f20d7b6bf3bcacc9a42bebf87ffaaca362f6346"}, +] + +[package.extras] +benchmark = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +cov = ["cloudpickle", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier (<24.7)"] +tests = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +tests-mypy = ["mypy (>=1.11.1)", "pytest-mypy-plugins"] + +[[package]] +name = "babel" +version = "2.16.0" +description = "Internationalization utilities" +optional = false +python-versions = ">=3.8" +files = [ + {file = "babel-2.16.0-py3-none-any.whl", hash = "sha256:368b5b98b37c06b7daf6696391c3240c938b37767d4584413e8438c5c435fa8b"}, + {file = "babel-2.16.0.tar.gz", hash = "sha256:d1f3554ca26605fe173f3de0c65f750f5a42f924499bf134de6423582298e316"}, +] + +[package.extras] +dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] + +[[package]] +name = "beautifulsoup4" +version = "4.12.3" +description = "Screen-scraping library" +optional = false +python-versions = ">=3.6.0" +files = [ + {file = "beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed"}, + {file = "beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051"}, +] + +[package.dependencies] +soupsieve = ">1.2" + +[package.extras] +cchardet = ["cchardet"] +chardet = ["chardet"] +charset-normalizer = ["charset-normalizer"] +html5lib = ["html5lib"] +lxml = ["lxml"] + +[[package]] +name = "bleach" +version = "6.2.0" +description = "An easy safelist-based HTML-sanitizing tool." +optional = false +python-versions = ">=3.9" +files = [ + {file = "bleach-6.2.0-py3-none-any.whl", hash = "sha256:117d9c6097a7c3d22fd578fcd8d35ff1e125df6736f554da4e432fdd63f31e5e"}, + {file = "bleach-6.2.0.tar.gz", hash = "sha256:123e894118b8a599fd80d3ec1a6d4cc7ce4e5882b1317a7e1ba69b56e95f991f"}, +] + +[package.dependencies] +webencodings = "*" + +[package.extras] +css = ["tinycss2 (>=1.1.0,<1.5)"] + +[[package]] +name = "certifi" +version = "2024.8.30" +description = "Python package for providing Mozilla's CA Bundle." +optional = false +python-versions = ">=3.6" +files = [ + {file = "certifi-2024.8.30-py3-none-any.whl", hash = "sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8"}, + {file = "certifi-2024.8.30.tar.gz", hash = "sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"}, +] + +[[package]] +name = "cffi" +version = "1.17.1" +description = "Foreign Function Interface for Python calling C code." +optional = false +python-versions = ">=3.8" +files = [ + {file = "cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14"}, + {file = "cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17"}, + {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8"}, + {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e"}, + {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be"}, + {file = "cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c"}, + {file = "cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15"}, + {file = "cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401"}, + {file = "cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d"}, + {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6"}, + {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f"}, + {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b"}, + {file = "cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655"}, + {file = "cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0"}, + {file = "cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4"}, + {file = "cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93"}, + {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3"}, + {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8"}, + {file = "cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65"}, + {file = "cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903"}, + {file = "cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e"}, + {file = "cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd"}, + {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed"}, + {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9"}, + {file = "cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d"}, + {file = "cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a"}, + {file = "cffi-1.17.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1"}, + {file = "cffi-1.17.1-cp38-cp38-win32.whl", hash = "sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8"}, + {file = "cffi-1.17.1-cp38-cp38-win_amd64.whl", hash = "sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1"}, + {file = "cffi-1.17.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16"}, + {file = "cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3"}, + {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595"}, + {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a"}, + {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e"}, + {file = "cffi-1.17.1-cp39-cp39-win32.whl", hash = "sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7"}, + {file = "cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662"}, + {file = "cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824"}, +] + +[package.dependencies] +pycparser = "*" + +[[package]] +name = "charset-normalizer" +version = "3.4.0" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4f9fc98dad6c2eaa32fc3af1417d95b5e3d08aff968df0cd320066def971f9a6"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0de7b687289d3c1b3e8660d0741874abe7888100efe14bd0f9fd7141bcbda92b"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5ed2e36c3e9b4f21dd9422f6893dec0abf2cca553af509b10cd630f878d3eb99"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d3ff7fc90b98c637bda91c89d51264a3dcf210cade3a2c6f838c7268d7a4ca"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1110e22af8ca26b90bd6364fe4c763329b0ebf1ee213ba32b68c73de5752323d"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:86f4e8cca779080f66ff4f191a685ced73d2f72d50216f7112185dc02b90b9b7"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f683ddc7eedd742e2889d2bfb96d69573fde1d92fcb811979cdb7165bb9c7d3"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:27623ba66c183eca01bf9ff833875b459cad267aeeb044477fedac35e19ba907"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f606a1881d2663630ea5b8ce2efe2111740df4b687bd78b34a8131baa007f79b"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0b309d1747110feb25d7ed6b01afdec269c647d382c857ef4663bbe6ad95a912"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:136815f06a3ae311fae551c3df1f998a1ebd01ddd424aa5603a4336997629e95"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:14215b71a762336254351b00ec720a8e85cada43b987da5a042e4ce3e82bd68e"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:79983512b108e4a164b9c8d34de3992f76d48cadc9554c9e60b43f308988aabe"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-win32.whl", hash = "sha256:c94057af19bc953643a33581844649a7fdab902624d2eb739738a30e2b3e60fc"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:55f56e2ebd4e3bc50442fbc0888c9d8c94e4e06a933804e2af3e89e2f9c1c749"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0d99dd8ff461990f12d6e42c7347fd9ab2532fb70e9621ba520f9e8637161d7c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c57516e58fd17d03ebe67e181a4e4e2ccab1168f8c2976c6a334d4f819fe5944"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6dba5d19c4dfab08e58d5b36304b3f92f3bd5d42c1a3fa37b5ba5cdf6dfcbcee"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf4475b82be41b07cc5e5ff94810e6a01f276e37c2d55571e3fe175e467a1a1c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce031db0408e487fd2775d745ce30a7cd2923667cf3b69d48d219f1d8f5ddeb6"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ff4e7cdfdb1ab5698e675ca622e72d58a6fa2a8aa58195de0c0061288e6e3ea"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3710a9751938947e6327ea9f3ea6332a09bf0ba0c09cae9cb1f250bd1f1549bc"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82357d85de703176b5587dbe6ade8ff67f9f69a41c0733cf2425378b49954de5"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47334db71978b23ebcf3c0f9f5ee98b8d65992b65c9c4f2d34c2eaf5bcaf0594"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8ce7fd6767a1cc5a92a639b391891bf1c268b03ec7e021c7d6d902285259685c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f1a2f519ae173b5b6a2c9d5fa3116ce16e48b3462c8b96dfdded11055e3d6365"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:63bc5c4ae26e4bc6be6469943b8253c0fd4e4186c43ad46e713ea61a0ba49129"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bcb4f8ea87d03bc51ad04add8ceaf9b0f085ac045ab4d74e73bbc2dc033f0236"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-win32.whl", hash = "sha256:9ae4ef0b3f6b41bad6366fb0ea4fc1d7ed051528e113a60fa2a65a9abb5b1d99"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cee4373f4d3ad28f1ab6290684d8e2ebdb9e7a1b74fdc39e4c211995f77bec27"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0713f3adb9d03d49d365b70b84775d0a0d18e4ab08d12bc46baa6132ba78aaf6"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:de7376c29d95d6719048c194a9cf1a1b0393fbe8488a22008610b0361d834ecf"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b295729485b06c1a0683af02a9e42d2caa9db04a373dc38a6a58cdd1e8abddf1"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee803480535c44e7f5ad00788526da7d85525cfefaf8acf8ab9a310000be4b03"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d59d125ffbd6d552765510e3f31ed75ebac2c7470c7274195b9161a32350284"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cda06946eac330cbe6598f77bb54e690b4ca93f593dee1568ad22b04f347c15"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07afec21bbbbf8a5cc3651aa96b980afe2526e7f048fdfb7f1014d84acc8b6d8"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6b40e8d38afe634559e398cc32b1472f376a4099c75fe6299ae607e404c033b2"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b8dcd239c743aa2f9c22ce674a145e0a25cb1566c495928440a181ca1ccf6719"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:84450ba661fb96e9fd67629b93d2941c871ca86fc38d835d19d4225ff946a631"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:44aeb140295a2f0659e113b31cfe92c9061622cadbc9e2a2f7b8ef6b1e29ef4b"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1db4e7fefefd0f548d73e2e2e041f9df5c59e178b4c72fbac4cc6f535cfb1565"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-win32.whl", hash = "sha256:5726cf76c982532c1863fb64d8c6dd0e4c90b6ece9feb06c9f202417a31f7dd7"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:b197e7094f232959f8f20541ead1d9862ac5ebea1d58e9849c1bf979255dfac9"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:dd4eda173a9fcccb5f2e2bd2a9f423d180194b1bf17cf59e3269899235b2a114"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e9e3c4c9e1ed40ea53acf11e2a386383c3304212c965773704e4603d589343ed"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92a7e36b000bf022ef3dbb9c46bfe2d52c047d5e3f3343f43204263c5addc250"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54b6a92d009cbe2fb11054ba694bc9e284dad30a26757b1e372a1fdddaf21920"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ffd9493de4c922f2a38c2bf62b831dcec90ac673ed1ca182fe11b4d8e9f2a64"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35c404d74c2926d0287fbd63ed5d27eb911eb9e4a3bb2c6d294f3cfd4a9e0c23"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4796efc4faf6b53a18e3d46343535caed491776a22af773f366534056c4e1fbc"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7fdd52961feb4c96507aa649550ec2a0d527c086d284749b2f582f2d40a2e0d"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:92db3c28b5b2a273346bebb24857fda45601aef6ae1c011c0a997106581e8a88"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ab973df98fc99ab39080bfb0eb3a925181454d7c3ac8a1e695fddfae696d9e90"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4b67fdab07fdd3c10bb21edab3cbfe8cf5696f453afce75d815d9d7223fbe88b"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:aa41e526a5d4a9dfcfbab0716c7e8a1b215abd3f3df5a45cf18a12721d31cb5d"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ffc519621dce0c767e96b9c53f09c5d215578e10b02c285809f76509a3931482"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-win32.whl", hash = "sha256:f19c1585933c82098c2a520f8ec1227f20e339e33aca8fa6f956f6691b784e67"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:707b82d19e65c9bd28b81dde95249b07bf9f5b90ebe1ef17d9b57473f8a64b7b"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dbe03226baf438ac4fda9e2d0715022fd579cb641c4cf639fa40d53b2fe6f3e2"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd9a8bd8900e65504a305bf8ae6fa9fbc66de94178c420791d0293702fce2df7"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8831399554b92b72af5932cdbbd4ddc55c55f631bb13ff8fe4e6536a06c5c51"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a14969b8691f7998e74663b77b4c36c0337cb1df552da83d5c9004a93afdb574"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcaf7c1524c0542ee2fc82cc8ec337f7a9f7edee2532421ab200d2b920fc97cf"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425c5f215d0eecee9a56cdb703203dda90423247421bf0d67125add85d0c4455"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:d5b054862739d276e09928de37c79ddeec42a6e1bfc55863be96a36ba22926f6"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:f3e73a4255342d4eb26ef6df01e3962e73aa29baa3124a8e824c5d3364a65748"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:2f6c34da58ea9c1a9515621f4d9ac379871a8f21168ba1b5e09d74250de5ad62"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:f09cb5a7bbe1ecae6e87901a2eb23e0256bb524a79ccc53eb0b7629fbe7677c4"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:0099d79bdfcf5c1f0c2c72f91516702ebf8b0b8ddd8905f97a8aecf49712c621"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-win32.whl", hash = "sha256:9c98230f5042f4945f957d006edccc2af1e03ed5e37ce7c373f00a5a4daa6149"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:62f60aebecfc7f4b82e3f639a7d1433a20ec32824db2199a11ad4f5e146ef5ee"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:af73657b7a68211996527dbfeffbb0864e043d270580c5aef06dc4b659a4b578"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cab5d0b79d987c67f3b9e9c53f54a61360422a5a0bc075f43cab5621d530c3b6"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9289fd5dddcf57bab41d044f1756550f9e7cf0c8e373b8cdf0ce8773dc4bd417"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b493a043635eb376e50eedf7818f2f322eabbaa974e948bd8bdd29eb7ef2a51"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fa2566ca27d67c86569e8c85297aaf413ffab85a8960500f12ea34ff98e4c41"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8e538f46104c815be19c975572d74afb53f29650ea2025bbfaef359d2de2f7f"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fd30dc99682dc2c603c2b315bded2799019cea829f8bf57dc6b61efde6611c8"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2006769bd1640bdf4d5641c69a3d63b71b81445473cac5ded39740a226fa88ab"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:dc15e99b2d8a656f8e666854404f1ba54765871104e50c8e9813af8a7db07f12"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ab2e5bef076f5a235c3774b4f4028a680432cded7cad37bba0fd90d64b187d19"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:4ec9dd88a5b71abfc74e9df5ebe7921c35cbb3b641181a531ca65cdb5e8e4dea"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:43193c5cda5d612f247172016c4bb71251c784d7a4d9314677186a838ad34858"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:aa693779a8b50cd97570e5a0f343538a8dbd3e496fa5dcb87e29406ad0299654"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-win32.whl", hash = "sha256:7706f5850360ac01d80c89bcef1640683cc12ed87f42579dab6c5d3ed6888613"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:c3e446d253bd88f6377260d07c895816ebf33ffffd56c1c792b13bff9c3e1ade"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:980b4f289d1d90ca5efcf07958d3eb38ed9c0b7676bf2831a54d4f66f9c27dfa"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f28f891ccd15c514a0981f3b9db9aa23d62fe1a99997512b0491d2ed323d229a"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8aacce6e2e1edcb6ac625fb0f8c3a9570ccc7bfba1f63419b3769ccf6a00ed0"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd7af3717683bea4c87acd8c0d3d5b44d56120b26fd3f8a692bdd2d5260c620a"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ff2ed8194587faf56555927b3aa10e6fb69d931e33953943bc4f837dfee2242"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e91f541a85298cf35433bf66f3fab2a4a2cff05c127eeca4af174f6d497f0d4b"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:309a7de0a0ff3040acaebb35ec45d18db4b28232f21998851cfa709eeff49d62"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:285e96d9d53422efc0d7a17c60e59f37fbf3dfa942073f666db4ac71e8d726d0"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5d447056e2ca60382d460a604b6302d8db69476fd2015c81e7c35417cfabe4cd"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:20587d20f557fe189b7947d8e7ec5afa110ccf72a3128d61a2a387c3313f46be"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:130272c698667a982a5d0e626851ceff662565379baf0ff2cc58067b81d4f11d"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ab22fbd9765e6954bc0bcff24c25ff71dcbfdb185fcdaca49e81bac68fe724d3"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7782afc9b6b42200f7362858f9e73b1f8316afb276d316336c0ec3bd73312742"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-win32.whl", hash = "sha256:2de62e8801ddfff069cd5c504ce3bc9672b23266597d4e4f50eda28846c322f2"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:95c3c157765b031331dd4db3c775e58deaee050a3042fcad72cbc4189d7c8dca"}, + {file = "charset_normalizer-3.4.0-py3-none-any.whl", hash = "sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079"}, + {file = "charset_normalizer-3.4.0.tar.gz", hash = "sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e"}, +] + +[[package]] +name = "colorama" +version = "0.4.6" +description = "Cross-platform colored terminal text." +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +files = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] + +[[package]] +name = "comm" +version = "0.2.2" +description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc." +optional = false +python-versions = ">=3.8" +files = [ + {file = "comm-0.2.2-py3-none-any.whl", hash = "sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3"}, + {file = "comm-0.2.2.tar.gz", hash = "sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e"}, +] + +[package.dependencies] +traitlets = ">=4" + +[package.extras] +test = ["pytest"] + +[[package]] +name = "contourpy" +version = "1.3.1" +description = "Python library for calculating contours of 2D quadrilateral grids" +optional = false +python-versions = ">=3.10" +files = [ + {file = "contourpy-1.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a045f341a77b77e1c5de31e74e966537bba9f3c4099b35bf4c2e3939dd54cdab"}, + {file = "contourpy-1.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:500360b77259914f7805af7462e41f9cb7ca92ad38e9f94d6c8641b089338124"}, + {file = "contourpy-1.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2f926efda994cdf3c8d3fdb40b9962f86edbc4457e739277b961eced3d0b4c1"}, + {file = "contourpy-1.3.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:adce39d67c0edf383647a3a007de0a45fd1b08dedaa5318404f1a73059c2512b"}, + {file = "contourpy-1.3.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abbb49fb7dac584e5abc6636b7b2a7227111c4f771005853e7d25176daaf8453"}, + {file = "contourpy-1.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0cffcbede75c059f535725c1680dfb17b6ba8753f0c74b14e6a9c68c29d7ea3"}, + {file = "contourpy-1.3.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ab29962927945d89d9b293eabd0d59aea28d887d4f3be6c22deaefbb938a7277"}, + {file = "contourpy-1.3.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:974d8145f8ca354498005b5b981165b74a195abfae9a8129df3e56771961d595"}, + {file = "contourpy-1.3.1-cp310-cp310-win32.whl", hash = "sha256:ac4578ac281983f63b400f7fe6c101bedc10651650eef012be1ccffcbacf3697"}, + {file = "contourpy-1.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:174e758c66bbc1c8576992cec9599ce8b6672b741b5d336b5c74e35ac382b18e"}, + {file = "contourpy-1.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3e8b974d8db2c5610fb4e76307e265de0edb655ae8169e8b21f41807ccbeec4b"}, + {file = "contourpy-1.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:20914c8c973f41456337652a6eeca26d2148aa96dd7ac323b74516988bea89fc"}, + {file = "contourpy-1.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19d40d37c1c3a4961b4619dd9d77b12124a453cc3d02bb31a07d58ef684d3d86"}, + {file = "contourpy-1.3.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:113231fe3825ebf6f15eaa8bc1f5b0ddc19d42b733345eae0934cb291beb88b6"}, + {file = "contourpy-1.3.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4dbbc03a40f916a8420e420d63e96a1258d3d1b58cbdfd8d1f07b49fcbd38e85"}, + {file = "contourpy-1.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a04ecd68acbd77fa2d39723ceca4c3197cb2969633836ced1bea14e219d077c"}, + {file = "contourpy-1.3.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c414fc1ed8ee1dbd5da626cf3710c6013d3d27456651d156711fa24f24bd1291"}, + {file = "contourpy-1.3.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:31c1b55c1f34f80557d3830d3dd93ba722ce7e33a0b472cba0ec3b6535684d8f"}, + {file = "contourpy-1.3.1-cp311-cp311-win32.whl", hash = "sha256:f611e628ef06670df83fce17805c344710ca5cde01edfdc72751311da8585375"}, + {file = "contourpy-1.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:b2bdca22a27e35f16794cf585832e542123296b4687f9fd96822db6bae17bfc9"}, + {file = "contourpy-1.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0ffa84be8e0bd33410b17189f7164c3589c229ce5db85798076a3fa136d0e509"}, + {file = "contourpy-1.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805617228ba7e2cbbfb6c503858e626ab528ac2a32a04a2fe88ffaf6b02c32bc"}, + {file = "contourpy-1.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ade08d343436a94e633db932e7e8407fe7de8083967962b46bdfc1b0ced39454"}, + {file = "contourpy-1.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:47734d7073fb4590b4a40122b35917cd77be5722d80683b249dac1de266aac80"}, + {file = "contourpy-1.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2ba94a401342fc0f8b948e57d977557fbf4d515f03c67682dd5c6191cb2d16ec"}, + {file = "contourpy-1.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efa874e87e4a647fd2e4f514d5e91c7d493697127beb95e77d2f7561f6905bd9"}, + {file = "contourpy-1.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1bf98051f1045b15c87868dbaea84f92408337d4f81d0e449ee41920ea121d3b"}, + {file = "contourpy-1.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:61332c87493b00091423e747ea78200659dc09bdf7fd69edd5e98cef5d3e9a8d"}, + {file = "contourpy-1.3.1-cp312-cp312-win32.whl", hash = "sha256:e914a8cb05ce5c809dd0fe350cfbb4e881bde5e2a38dc04e3afe1b3e58bd158e"}, + {file = "contourpy-1.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:08d9d449a61cf53033612cb368f3a1b26cd7835d9b8cd326647efe43bca7568d"}, + {file = "contourpy-1.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a761d9ccfc5e2ecd1bf05534eda382aa14c3e4f9205ba5b1684ecfe400716ef2"}, + {file = "contourpy-1.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:523a8ee12edfa36f6d2a49407f705a6ef4c5098de4f498619787e272de93f2d5"}, + {file = "contourpy-1.3.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece6df05e2c41bd46776fbc712e0996f7c94e0d0543af1656956d150c4ca7c81"}, + {file = "contourpy-1.3.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:573abb30e0e05bf31ed067d2f82500ecfdaec15627a59d63ea2d95714790f5c2"}, + {file = "contourpy-1.3.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9fa36448e6a3a1a9a2ba23c02012c43ed88905ec80163f2ffe2421c7192a5d7"}, + {file = "contourpy-1.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ea9924d28fc5586bf0b42d15f590b10c224117e74409dd7a0be3b62b74a501c"}, + {file = "contourpy-1.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5b75aa69cb4d6f137b36f7eb2ace9280cfb60c55dc5f61c731fdf6f037f958a3"}, + {file = "contourpy-1.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:041b640d4ec01922083645a94bb3b2e777e6b626788f4095cf21abbe266413c1"}, + {file = "contourpy-1.3.1-cp313-cp313-win32.whl", hash = "sha256:36987a15e8ace5f58d4d5da9dca82d498c2bbb28dff6e5d04fbfcc35a9cb3a82"}, + {file = "contourpy-1.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:a7895f46d47671fa7ceec40f31fae721da51ad34bdca0bee83e38870b1f47ffd"}, + {file = "contourpy-1.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:9ddeb796389dadcd884c7eb07bd14ef12408aaae358f0e2ae24114d797eede30"}, + {file = "contourpy-1.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:19c1555a6801c2f084c7ddc1c6e11f02eb6a6016ca1318dd5452ba3f613a1751"}, + {file = "contourpy-1.3.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:841ad858cff65c2c04bf93875e384ccb82b654574a6d7f30453a04f04af71342"}, + {file = "contourpy-1.3.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4318af1c925fb9a4fb190559ef3eec206845f63e80fb603d47f2d6d67683901c"}, + {file = "contourpy-1.3.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:14c102b0eab282427b662cb590f2e9340a9d91a1c297f48729431f2dcd16e14f"}, + {file = "contourpy-1.3.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05e806338bfeaa006acbdeba0ad681a10be63b26e1b17317bfac3c5d98f36cda"}, + {file = "contourpy-1.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4d76d5993a34ef3df5181ba3c92fabb93f1eaa5729504fb03423fcd9f3177242"}, + {file = "contourpy-1.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:89785bb2a1980c1bd87f0cb1517a71cde374776a5f150936b82580ae6ead44a1"}, + {file = "contourpy-1.3.1-cp313-cp313t-win32.whl", hash = "sha256:8eb96e79b9f3dcadbad2a3891672f81cdcab7f95b27f28f1c67d75f045b6b4f1"}, + {file = "contourpy-1.3.1-cp313-cp313t-win_amd64.whl", hash = "sha256:287ccc248c9e0d0566934e7d606201abd74761b5703d804ff3df8935f523d546"}, + {file = "contourpy-1.3.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b457d6430833cee8e4b8e9b6f07aa1c161e5e0d52e118dc102c8f9bd7dd060d6"}, + {file = "contourpy-1.3.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb76c1a154b83991a3cbbf0dfeb26ec2833ad56f95540b442c73950af2013750"}, + {file = "contourpy-1.3.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:44a29502ca9c7b5ba389e620d44f2fbe792b1fb5734e8b931ad307071ec58c53"}, + {file = "contourpy-1.3.1.tar.gz", hash = "sha256:dfd97abd83335045a913e3bcc4a09c0ceadbe66580cf573fe961f4a825efa699"}, +] + +[package.dependencies] +numpy = ">=1.23" + +[package.extras] +bokeh = ["bokeh", "selenium"] +docs = ["furo", "sphinx (>=7.2)", "sphinx-copybutton"] +mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.11.1)", "types-Pillow"] +test = ["Pillow", "contourpy[test-no-images]", "matplotlib"] +test-no-images = ["pytest", "pytest-cov", "pytest-rerunfailures", "pytest-xdist", "wurlitzer"] + +[[package]] +name = "cycler" +version = "0.12.1" +description = "Composable style cycles" +optional = false +python-versions = ">=3.8" +files = [ + {file = "cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30"}, + {file = "cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c"}, +] + +[package.extras] +docs = ["ipython", "matplotlib", "numpydoc", "sphinx"] +tests = ["pytest", "pytest-cov", "pytest-xdist"] + +[[package]] +name = "debugpy" +version = "1.8.9" +description = "An implementation of the Debug Adapter Protocol for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "debugpy-1.8.9-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:cfe1e6c6ad7178265f74981edf1154ffce97b69005212fbc90ca22ddfe3d017e"}, + {file = "debugpy-1.8.9-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ada7fb65102a4d2c9ab62e8908e9e9f12aed9d76ef44880367bc9308ebe49a0f"}, + {file = "debugpy-1.8.9-cp310-cp310-win32.whl", hash = "sha256:c36856343cbaa448171cba62a721531e10e7ffb0abff838004701454149bc037"}, + {file = "debugpy-1.8.9-cp310-cp310-win_amd64.whl", hash = "sha256:17c5e0297678442511cf00a745c9709e928ea4ca263d764e90d233208889a19e"}, + {file = "debugpy-1.8.9-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:b74a49753e21e33e7cf030883a92fa607bddc4ede1aa4145172debc637780040"}, + {file = "debugpy-1.8.9-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62d22dacdb0e296966d7d74a7141aaab4bec123fa43d1a35ddcb39bf9fd29d70"}, + {file = "debugpy-1.8.9-cp311-cp311-win32.whl", hash = "sha256:8138efff315cd09b8dcd14226a21afda4ca582284bf4215126d87342bba1cc66"}, + {file = "debugpy-1.8.9-cp311-cp311-win_amd64.whl", hash = "sha256:ff54ef77ad9f5c425398efb150239f6fe8e20c53ae2f68367eba7ece1e96226d"}, + {file = "debugpy-1.8.9-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:957363d9a7a6612a37458d9a15e72d03a635047f946e5fceee74b50d52a9c8e2"}, + {file = "debugpy-1.8.9-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e565fc54b680292b418bb809f1386f17081d1346dca9a871bf69a8ac4071afe"}, + {file = "debugpy-1.8.9-cp312-cp312-win32.whl", hash = "sha256:3e59842d6c4569c65ceb3751075ff8d7e6a6ada209ceca6308c9bde932bcef11"}, + {file = "debugpy-1.8.9-cp312-cp312-win_amd64.whl", hash = "sha256:66eeae42f3137eb428ea3a86d4a55f28da9bd5a4a3d369ba95ecc3a92c1bba53"}, + {file = "debugpy-1.8.9-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:957ecffff80d47cafa9b6545de9e016ae8c9547c98a538ee96ab5947115fb3dd"}, + {file = "debugpy-1.8.9-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1efbb3ff61487e2c16b3e033bc8595aea578222c08aaf3c4bf0f93fadbd662ee"}, + {file = "debugpy-1.8.9-cp313-cp313-win32.whl", hash = "sha256:7c4d65d03bee875bcb211c76c1d8f10f600c305dbd734beaed4077e902606fee"}, + {file = "debugpy-1.8.9-cp313-cp313-win_amd64.whl", hash = "sha256:e46b420dc1bea64e5bbedd678148be512442bc589b0111bd799367cde051e71a"}, + {file = "debugpy-1.8.9-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:472a3994999fe6c0756945ffa359e9e7e2d690fb55d251639d07208dbc37caea"}, + {file = "debugpy-1.8.9-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:365e556a4772d7d0d151d7eb0e77ec4db03bcd95f26b67b15742b88cacff88e9"}, + {file = "debugpy-1.8.9-cp38-cp38-win32.whl", hash = "sha256:54a7e6d3014c408eb37b0b06021366ee985f1539e12fe49ca2ee0d392d9ceca5"}, + {file = "debugpy-1.8.9-cp38-cp38-win_amd64.whl", hash = "sha256:8e99c0b1cc7bf86d83fb95d5ccdc4ad0586d4432d489d1f54e4055bcc795f693"}, + {file = "debugpy-1.8.9-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:7e8b079323a56f719977fde9d8115590cb5e7a1cba2fcee0986ef8817116e7c1"}, + {file = "debugpy-1.8.9-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6953b335b804a41f16a192fa2e7851bdcfd92173cbb2f9f777bb934f49baab65"}, + {file = "debugpy-1.8.9-cp39-cp39-win32.whl", hash = "sha256:7e646e62d4602bb8956db88b1e72fe63172148c1e25c041e03b103a25f36673c"}, + {file = "debugpy-1.8.9-cp39-cp39-win_amd64.whl", hash = "sha256:3d9755e77a2d680ce3d2c5394a444cf42be4a592caaf246dbfbdd100ffcf7ae5"}, + {file = "debugpy-1.8.9-py2.py3-none-any.whl", hash = "sha256:cc37a6c9987ad743d9c3a14fa1b1a14b7e4e6041f9dd0c8abf8895fe7a97b899"}, + {file = "debugpy-1.8.9.zip", hash = "sha256:1339e14c7d980407248f09824d1b25ff5c5616651689f1e0f0e51bdead3ea13e"}, +] + +[[package]] +name = "decorator" +version = "5.1.1" +description = "Decorators for Humans" +optional = false +python-versions = ">=3.5" +files = [ + {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, + {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, +] + +[[package]] +name = "defusedxml" +version = "0.7.1" +description = "XML bomb protection for Python stdlib modules" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"}, + {file = "defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"}, +] + +[[package]] +name = "executing" +version = "2.1.0" +description = "Get the currently executing AST node of a frame, and other information" +optional = false +python-versions = ">=3.8" +files = [ + {file = "executing-2.1.0-py2.py3-none-any.whl", hash = "sha256:8d63781349375b5ebccc3142f4b30350c0cd9c79f921cde38be2be4637e98eaf"}, + {file = "executing-2.1.0.tar.gz", hash = "sha256:8ea27ddd260da8150fa5a708269c4a10e76161e2496ec3e587da9e3c0fe4b9ab"}, +] + +[package.extras] +tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipython", "littleutils", "pytest", "rich"] + +[[package]] +name = "fastjsonschema" +version = "2.21.1" +description = "Fastest Python implementation of JSON schema" +optional = false +python-versions = "*" +files = [ + {file = "fastjsonschema-2.21.1-py3-none-any.whl", hash = "sha256:c9e5b7e908310918cf494a434eeb31384dd84a98b57a30bcb1f535015b554667"}, + {file = "fastjsonschema-2.21.1.tar.gz", hash = "sha256:794d4f0a58f848961ba16af7b9c85a3e88cd360df008c59aac6fc5ae9323b5d4"}, +] + +[package.extras] +devel = ["colorama", "json-spec", "jsonschema", "pylint", "pytest", "pytest-benchmark", "pytest-cache", "validictory"] + +[[package]] +name = "fonttools" +version = "4.55.1" +description = "Tools to manipulate font files" +optional = false +python-versions = ">=3.8" +files = [ + {file = "fonttools-4.55.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c17a6f9814f83772cd6d9c9009928e1afa4ab66210a31ced721556651075a9a0"}, + {file = "fonttools-4.55.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c4d14eecc814826a01db87a40af3407c892ba49996bc6e49961e386cd78b537c"}, + {file = "fonttools-4.55.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8589f9a15dc005592b94ecdc45b4dfae9bbe9e73542e89af5a5e776e745db83b"}, + {file = "fonttools-4.55.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfee95bd9395bcd9e6c78955387554335109b6a613db71ef006020b42f761c58"}, + {file = "fonttools-4.55.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:34fa2ecc0bf1923d1a51bf2216a006de2c3c0db02c6aa1470ea50b62b8619bd5"}, + {file = "fonttools-4.55.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9c1c48483148bfb1b9ad951133ceea957faa004f6cb475b67e7bc75d482b48f8"}, + {file = "fonttools-4.55.1-cp310-cp310-win32.whl", hash = "sha256:3e2fc388ca7d023b3c45badd71016fd4185f93e51a22cfe4bd65378af7fba759"}, + {file = "fonttools-4.55.1-cp310-cp310-win_amd64.whl", hash = "sha256:c4c36c71f69d2b3ee30394b0986e5f8b2c461e7eff48dde49b08a90ded9fcdbd"}, + {file = "fonttools-4.55.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5daab3a55d460577f45bb8f5a8eca01fa6cde43ef2ab943b527991f54b735c41"}, + {file = "fonttools-4.55.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:acf1e80cf96c2fbc79e46f669d8713a9a79faaebcc68e31a9fbe600cf8027992"}, + {file = "fonttools-4.55.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e88a0329f7f88a210f09f79c088fb64f8032fc3ab65e2390a40b7d3a11773026"}, + {file = "fonttools-4.55.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03105b42259a8a94b2f0cbf1bee45f7a8a34e7b26c946a8fb89b4967e44091a8"}, + {file = "fonttools-4.55.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9af3577e821649879ab5774ad0e060af34816af556c77c6d3820345d12bf415e"}, + {file = "fonttools-4.55.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:34bd5de3d0ad085359b79a96575cd6bd1bc2976320ef24a2aa152ead36dbf656"}, + {file = "fonttools-4.55.1-cp311-cp311-win32.whl", hash = "sha256:5da92c4b637f0155a41f345fa81143c8e17425260fcb21521cb2ad4d2cea2a95"}, + {file = "fonttools-4.55.1-cp311-cp311-win_amd64.whl", hash = "sha256:f70234253d15f844e6da1178f019a931f03181463ce0c7b19648b8c370527b07"}, + {file = "fonttools-4.55.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9c372e527d58ba64b695f15f8014e97bc8826cf64d3380fc89b4196edd3c0fa8"}, + {file = "fonttools-4.55.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:845a967d3bef3245ba81fb5582dc731f6c2c8417fa211f1068c56893504bc000"}, + {file = "fonttools-4.55.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f03be82bcd4ba4418adf10e6165743f824bb09d6594c2743d7f93ea50968805b"}, + {file = "fonttools-4.55.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c42e935cf146f826f556d977660dac88f2fa3fb2efa27d5636c0b89a60c16edf"}, + {file = "fonttools-4.55.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:96328bf91e05621d8e40d9f854af7a262cb0e8313e9b38e7f3a7f3c4c0caaa8b"}, + {file = "fonttools-4.55.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:291acec4d774e8cd2d8472d88c04643a77a3324a15247951bd6cfc969799b69e"}, + {file = "fonttools-4.55.1-cp312-cp312-win32.whl", hash = "sha256:6d768d6632809aec1c3fa8f195b173386d85602334701a6894a601a4d3c80368"}, + {file = "fonttools-4.55.1-cp312-cp312-win_amd64.whl", hash = "sha256:2a3850afdb0be1f79a1e95340a2059226511675c5b68098d4e49bfbeb48a8aab"}, + {file = "fonttools-4.55.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:0c88d427eaf8bd8497b9051f56e0f5f9fb96a311aa7c72cda35e03e18d59cd16"}, + {file = "fonttools-4.55.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f062c95a725a79fd908fe8407b6ad63e230e1c7d6dece2d5d6ecaf843d6927f6"}, + {file = "fonttools-4.55.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f298c5324c45cad073475146bf560f4110ce2dc2488ff12231a343ec489f77bc"}, + {file = "fonttools-4.55.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f06dbb71344ffd85a6cb7e27970a178952f0bdd8d319ed938e64ba4bcc41700"}, + {file = "fonttools-4.55.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4c46b3525166976f5855b1f039b02433dc51eb635fb54d6a111e0c5d6e6cdc4c"}, + {file = "fonttools-4.55.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:af46f52a21e086a2f89b87bd941c9f0f91e5f769e1a5eb3b37c912228814d3e5"}, + {file = "fonttools-4.55.1-cp313-cp313-win32.whl", hash = "sha256:cd7f36335c5725a3fd724cc667c10c3f5254e779bdc5bffefebb33cf5a75ecb1"}, + {file = "fonttools-4.55.1-cp313-cp313-win_amd64.whl", hash = "sha256:5d6394897710ccac7f74df48492d7f02b9586ff0588c66a2c218844e90534b22"}, + {file = "fonttools-4.55.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:52c4f4b383c56e1a4fe8dab1b63c2269ba9eab0695d2d8e033fa037e61e6f1ef"}, + {file = "fonttools-4.55.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d83892dafdbd62b56545c77b6bd4fa49eef6ec1d6b95e042ee2c930503d1831e"}, + {file = "fonttools-4.55.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:604d5bf16f811fcaaaec2dde139f7ce958462487565edcd54b6fadacb2942083"}, + {file = "fonttools-4.55.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a3324b92feb5fd084923a8e89a8248afd5b9f9d81ab9517d7b07cc84403bd448"}, + {file = "fonttools-4.55.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:30f8b1ca9b919c04850678d026fc330c19acaa9e3b282fcacc09a5eb3c8d20c3"}, + {file = "fonttools-4.55.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:1835c98df2cf28c86a66d234895c87df7b9325fd079a8019c5053a389ff55d23"}, + {file = "fonttools-4.55.1-cp38-cp38-win32.whl", hash = "sha256:9f202703720a7cc0049f2ed1a2047925e264384eb5cc4d34f80200d7b17f1b6a"}, + {file = "fonttools-4.55.1-cp38-cp38-win_amd64.whl", hash = "sha256:2efff20aed0338d37c2ff58766bd67f4b9607ded61cf3d6baf1b3e25ea74e119"}, + {file = "fonttools-4.55.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3032d9bf010c395e6eca2851666cafb1f4ecde85d420188555e928ad0144326e"}, + {file = "fonttools-4.55.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0794055588c30ffe25426048e8a7c0a5271942727cd61fc939391e37f4d580d5"}, + {file = "fonttools-4.55.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:13ba980e3ffd3206b8c63a365f90dc10eeec27da946d5ee5373c3a325a46d77c"}, + {file = "fonttools-4.55.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d7063babd7434a17a5e355e87de9b2306c85a5c19c7da0794be15c58aab0c39"}, + {file = "fonttools-4.55.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:ed84c15144015a58ef550dd6312884c9fb31a2dbc31a6467bcdafd63be7db476"}, + {file = "fonttools-4.55.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:e89419d88b0bbfdb55209e03a17afa2d20db3c2fa0d785543c9d0875668195d5"}, + {file = "fonttools-4.55.1-cp39-cp39-win32.whl", hash = "sha256:6eb781e401b93cda99356bc043ababead2a5096550984d8a4ecf3d5c9f859dc2"}, + {file = "fonttools-4.55.1-cp39-cp39-win_amd64.whl", hash = "sha256:db1031acf04523c5a51c3e1ae19c21a1c32bc5f820a477dd4659a02f9cb82002"}, + {file = "fonttools-4.55.1-py3-none-any.whl", hash = "sha256:4bcfb11f90f48b48c366dd638d773a52fca0d1b9e056dc01df766bf5835baa08"}, + {file = "fonttools-4.55.1.tar.gz", hash = "sha256:85bb2e985718b0df96afc659abfe194c171726054314b019dbbfed31581673c7"}, +] + +[package.extras] +all = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "fs (>=2.2.0,<3)", "lxml (>=4.0)", "lz4 (>=1.7.4.2)", "matplotlib", "munkres", "pycairo", "scipy", "skia-pathops (>=0.5.0)", "sympy", "uharfbuzz (>=0.23.0)", "unicodedata2 (>=15.1.0)", "xattr", "zopfli (>=0.1.4)"] +graphite = ["lz4 (>=1.7.4.2)"] +interpolatable = ["munkres", "pycairo", "scipy"] +lxml = ["lxml (>=4.0)"] +pathops = ["skia-pathops (>=0.5.0)"] +plot = ["matplotlib"] +repacker = ["uharfbuzz (>=0.23.0)"] +symfont = ["sympy"] +type1 = ["xattr"] +ufo = ["fs (>=2.2.0,<3)"] +unicode = ["unicodedata2 (>=15.1.0)"] +woff = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "zopfli (>=0.1.4)"] + +[[package]] +name = "fqdn" +version = "1.5.1" +description = "Validates fully-qualified domain names against RFC 1123, so that they are acceptable to modern bowsers" +optional = false +python-versions = ">=2.7, !=3.0, !=3.1, !=3.2, !=3.3, !=3.4, <4" +files = [ + {file = "fqdn-1.5.1-py3-none-any.whl", hash = "sha256:3a179af3761e4df6eb2e026ff9e1a3033d3587bf980a0b1b2e1e5d08d7358014"}, + {file = "fqdn-1.5.1.tar.gz", hash = "sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f"}, +] + +[[package]] +name = "h11" +version = "0.14.0" +description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" +optional = false +python-versions = ">=3.7" +files = [ + {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, + {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, +] + +[[package]] +name = "httpcore" +version = "1.0.7" +description = "A minimal low-level HTTP client." +optional = false +python-versions = ">=3.8" +files = [ + {file = "httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd"}, + {file = "httpcore-1.0.7.tar.gz", hash = "sha256:8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c"}, +] + +[package.dependencies] +certifi = "*" +h11 = ">=0.13,<0.15" + +[package.extras] +asyncio = ["anyio (>=4.0,<5.0)"] +http2 = ["h2 (>=3,<5)"] +socks = ["socksio (==1.*)"] +trio = ["trio (>=0.22.0,<1.0)"] + +[[package]] +name = "httpx" +version = "0.28.0" +description = "The next generation HTTP client." +optional = false +python-versions = ">=3.8" +files = [ + {file = "httpx-0.28.0-py3-none-any.whl", hash = "sha256:dc0b419a0cfeb6e8b34e85167c0da2671206f5095f1baa9663d23bcfd6b535fc"}, + {file = "httpx-0.28.0.tar.gz", hash = "sha256:0858d3bab51ba7e386637f22a61d8ccddaeec5f3fe4209da3a6168dbb91573e0"}, +] + +[package.dependencies] +anyio = "*" +certifi = "*" +httpcore = "==1.*" +idna = "*" + +[package.extras] +brotli = ["brotli", "brotlicffi"] +cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"] +http2 = ["h2 (>=3,<5)"] +socks = ["socksio (==1.*)"] +zstd = ["zstandard (>=0.18.0)"] + +[[package]] +name = "idna" +version = "3.10" +description = "Internationalized Domain Names in Applications (IDNA)" +optional = false +python-versions = ">=3.6" +files = [ + {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, + {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, +] + +[package.extras] +all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] + +[[package]] +name = "ipykernel" +version = "6.29.5" +description = "IPython Kernel for Jupyter" +optional = false +python-versions = ">=3.8" +files = [ + {file = "ipykernel-6.29.5-py3-none-any.whl", hash = "sha256:afdb66ba5aa354b09b91379bac28ae4afebbb30e8b39510c9690afb7a10421b5"}, + {file = "ipykernel-6.29.5.tar.gz", hash = "sha256:f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215"}, +] + +[package.dependencies] +appnope = {version = "*", markers = "platform_system == \"Darwin\""} +comm = ">=0.1.1" +debugpy = ">=1.6.5" +ipython = ">=7.23.1" +jupyter-client = ">=6.1.12" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +matplotlib-inline = ">=0.1" +nest-asyncio = "*" +packaging = "*" +psutil = "*" +pyzmq = ">=24" +tornado = ">=6.1" +traitlets = ">=5.4.0" + +[package.extras] +cov = ["coverage[toml]", "curio", "matplotlib", "pytest-cov", "trio"] +docs = ["myst-parser", "pydata-sphinx-theme", "sphinx", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling", "trio"] +pyqt5 = ["pyqt5"] +pyside6 = ["pyside6"] +test = ["flaky", "ipyparallel", "pre-commit", "pytest (>=7.0)", "pytest-asyncio (>=0.23.5)", "pytest-cov", "pytest-timeout"] + +[[package]] +name = "ipython" +version = "8.30.0" +description = "IPython: Productive Interactive Computing" +optional = false +python-versions = ">=3.10" +files = [ + {file = "ipython-8.30.0-py3-none-any.whl", hash = "sha256:85ec56a7e20f6c38fce7727dcca699ae4ffc85985aa7b23635a8008f918ae321"}, + {file = "ipython-8.30.0.tar.gz", hash = "sha256:cb0a405a306d2995a5cbb9901894d240784a9f341394c6ba3f4fe8c6eb89ff6e"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "sys_platform == \"win32\""} +decorator = "*" +jedi = ">=0.16" +matplotlib-inline = "*" +pexpect = {version = ">4.3", markers = "sys_platform != \"win32\" and sys_platform != \"emscripten\""} +prompt_toolkit = ">=3.0.41,<3.1.0" +pygments = ">=2.4.0" +stack_data = "*" +traitlets = ">=5.13.0" + +[package.extras] +all = ["ipython[black,doc,kernel,matplotlib,nbconvert,nbformat,notebook,parallel,qtconsole]", "ipython[test,test-extra]"] +black = ["black"] +doc = ["docrepr", "exceptiongroup", "intersphinx_registry", "ipykernel", "ipython[test]", "matplotlib", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "sphinxcontrib-jquery", "tomli", "typing_extensions"] +kernel = ["ipykernel"] +matplotlib = ["matplotlib"] +nbconvert = ["nbconvert"] +nbformat = ["nbformat"] +notebook = ["ipywidgets", "notebook"] +parallel = ["ipyparallel"] +qtconsole = ["qtconsole"] +test = ["packaging", "pickleshare", "pytest", "pytest-asyncio (<0.22)", "testpath"] +test-extra = ["curio", "ipython[test]", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.23)", "pandas", "trio"] + +[[package]] +name = "ipywidgets" +version = "8.1.5" +description = "Jupyter interactive widgets" +optional = false +python-versions = ">=3.7" +files = [ + {file = "ipywidgets-8.1.5-py3-none-any.whl", hash = "sha256:3290f526f87ae6e77655555baba4f36681c555b8bdbbff430b70e52c34c86245"}, + {file = "ipywidgets-8.1.5.tar.gz", hash = "sha256:870e43b1a35656a80c18c9503bbf2d16802db1cb487eec6fab27d683381dde17"}, +] + +[package.dependencies] +comm = ">=0.1.3" +ipython = ">=6.1.0" +jupyterlab-widgets = ">=3.0.12,<3.1.0" +traitlets = ">=4.3.1" +widgetsnbextension = ">=4.0.12,<4.1.0" + +[package.extras] +test = ["ipykernel", "jsonschema", "pytest (>=3.6.0)", "pytest-cov", "pytz"] + +[[package]] +name = "isoduration" +version = "20.11.0" +description = "Operations with ISO 8601 durations" +optional = false +python-versions = ">=3.7" +files = [ + {file = "isoduration-20.11.0-py3-none-any.whl", hash = "sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042"}, + {file = "isoduration-20.11.0.tar.gz", hash = "sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9"}, +] + +[package.dependencies] +arrow = ">=0.15.0" + +[[package]] +name = "jedi" +version = "0.19.2" +description = "An autocompletion tool for Python that can be used for text editors." +optional = false +python-versions = ">=3.6" +files = [ + {file = "jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9"}, + {file = "jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0"}, +] + +[package.dependencies] +parso = ">=0.8.4,<0.9.0" + +[package.extras] +docs = ["Jinja2 (==2.11.3)", "MarkupSafe (==1.1.1)", "Pygments (==2.8.1)", "alabaster (==0.7.12)", "babel (==2.9.1)", "chardet (==4.0.0)", "commonmark (==0.8.1)", "docutils (==0.17.1)", "future (==0.18.2)", "idna (==2.10)", "imagesize (==1.2.0)", "mock (==1.0.1)", "packaging (==20.9)", "pyparsing (==2.4.7)", "pytz (==2021.1)", "readthedocs-sphinx-ext (==2.1.4)", "recommonmark (==0.5.0)", "requests (==2.25.1)", "six (==1.15.0)", "snowballstemmer (==2.1.0)", "sphinx (==1.8.5)", "sphinx-rtd-theme (==0.4.3)", "sphinxcontrib-serializinghtml (==1.1.4)", "sphinxcontrib-websupport (==1.2.4)", "urllib3 (==1.26.4)"] +qa = ["flake8 (==5.0.4)", "mypy (==0.971)", "types-setuptools (==67.2.0.1)"] +testing = ["Django", "attrs", "colorama", "docopt", "pytest (<9.0.0)"] + +[[package]] +name = "jinja2" +version = "3.1.4" +description = "A very fast and expressive template engine." +optional = false +python-versions = ">=3.7" +files = [ + {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, + {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, +] + +[package.dependencies] +MarkupSafe = ">=2.0" + +[package.extras] +i18n = ["Babel (>=2.7)"] + +[[package]] +name = "json5" +version = "0.10.0" +description = "A Python implementation of the JSON5 data format." +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "json5-0.10.0-py3-none-any.whl", hash = "sha256:19b23410220a7271e8377f81ba8aacba2fdd56947fbb137ee5977cbe1f5e8dfa"}, + {file = "json5-0.10.0.tar.gz", hash = "sha256:e66941c8f0a02026943c52c2eb34ebeb2a6f819a0be05920a6f5243cd30fd559"}, +] + +[package.extras] +dev = ["build (==1.2.2.post1)", "coverage (==7.5.3)", "mypy (==1.13.0)", "pip (==24.3.1)", "pylint (==3.2.3)", "ruff (==0.7.3)", "twine (==5.1.1)", "uv (==0.5.1)"] + +[[package]] +name = "jsonpointer" +version = "3.0.0" +description = "Identify specific nodes in a JSON document (RFC 6901)" +optional = false +python-versions = ">=3.7" +files = [ + {file = "jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942"}, + {file = "jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef"}, +] + +[[package]] +name = "jsonschema" +version = "4.23.0" +description = "An implementation of JSON Schema validation for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566"}, + {file = "jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4"}, +] + +[package.dependencies] +attrs = ">=22.2.0" +fqdn = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} +idna = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} +isoduration = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} +jsonpointer = {version = ">1.13", optional = true, markers = "extra == \"format-nongpl\""} +jsonschema-specifications = ">=2023.03.6" +referencing = ">=0.28.4" +rfc3339-validator = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} +rfc3986-validator = {version = ">0.1.0", optional = true, markers = "extra == \"format-nongpl\""} +rpds-py = ">=0.7.1" +uri-template = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} +webcolors = {version = ">=24.6.0", optional = true, markers = "extra == \"format-nongpl\""} + +[package.extras] +format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"] +format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=24.6.0)"] + +[[package]] +name = "jsonschema-specifications" +version = "2024.10.1" +description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" +optional = false +python-versions = ">=3.9" +files = [ + {file = "jsonschema_specifications-2024.10.1-py3-none-any.whl", hash = "sha256:a09a0680616357d9a0ecf05c12ad234479f549239d0f5b55f3deea67475da9bf"}, + {file = "jsonschema_specifications-2024.10.1.tar.gz", hash = "sha256:0f38b83639958ce1152d02a7f062902c41c8fd20d558b0c34344292d417ae272"}, +] + +[package.dependencies] +referencing = ">=0.31.0" + +[[package]] +name = "jupyter" +version = "1.1.1" +description = "Jupyter metapackage. Install all the Jupyter components in one go." +optional = false +python-versions = "*" +files = [ + {file = "jupyter-1.1.1-py2.py3-none-any.whl", hash = "sha256:7a59533c22af65439b24bbe60373a4e95af8f16ac65a6c00820ad378e3f7cc83"}, + {file = "jupyter-1.1.1.tar.gz", hash = "sha256:d55467bceabdea49d7e3624af7e33d59c37fff53ed3a350e1ac957bed731de7a"}, +] + +[package.dependencies] +ipykernel = "*" +ipywidgets = "*" +jupyter-console = "*" +jupyterlab = "*" +nbconvert = "*" +notebook = "*" + +[[package]] +name = "jupyter-client" +version = "8.6.3" +description = "Jupyter protocol implementation and client libraries" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f"}, + {file = "jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419"}, +] + +[package.dependencies] +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +python-dateutil = ">=2.8.2" +pyzmq = ">=23.0" +tornado = ">=6.2" +traitlets = ">=5.3" + +[package.extras] +docs = ["ipykernel", "myst-parser", "pydata-sphinx-theme", "sphinx (>=4)", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] +test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko", "pre-commit", "pytest (<8.2.0)", "pytest-cov", "pytest-jupyter[client] (>=0.4.1)", "pytest-timeout"] + +[[package]] +name = "jupyter-console" +version = "6.6.3" +description = "Jupyter terminal console" +optional = false +python-versions = ">=3.7" +files = [ + {file = "jupyter_console-6.6.3-py3-none-any.whl", hash = "sha256:309d33409fcc92ffdad25f0bcdf9a4a9daa61b6f341177570fdac03de5352485"}, + {file = "jupyter_console-6.6.3.tar.gz", hash = "sha256:566a4bf31c87adbfadf22cdf846e3069b59a71ed5da71d6ba4d8aaad14a53539"}, +] + +[package.dependencies] +ipykernel = ">=6.14" +ipython = "*" +jupyter-client = ">=7.0.0" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +prompt-toolkit = ">=3.0.30" +pygments = "*" +pyzmq = ">=17" +traitlets = ">=5.4" + +[package.extras] +test = ["flaky", "pexpect", "pytest"] + +[[package]] +name = "jupyter-core" +version = "5.7.2" +description = "Jupyter core package. A base package on which Jupyter projects rely." +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyter_core-5.7.2-py3-none-any.whl", hash = "sha256:4f7315d2f6b4bcf2e3e7cb6e46772eba760ae459cd1f59d29eb57b0a01bd7409"}, + {file = "jupyter_core-5.7.2.tar.gz", hash = "sha256:aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9"}, +] + +[package.dependencies] +platformdirs = ">=2.5" +pywin32 = {version = ">=300", markers = "sys_platform == \"win32\" and platform_python_implementation != \"PyPy\""} +traitlets = ">=5.3" + +[package.extras] +docs = ["myst-parser", "pydata-sphinx-theme", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling", "traitlets"] +test = ["ipykernel", "pre-commit", "pytest (<8)", "pytest-cov", "pytest-timeout"] + +[[package]] +name = "jupyter-events" +version = "0.10.0" +description = "Jupyter Event System library" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyter_events-0.10.0-py3-none-any.whl", hash = "sha256:4b72130875e59d57716d327ea70d3ebc3af1944d3717e5a498b8a06c6c159960"}, + {file = "jupyter_events-0.10.0.tar.gz", hash = "sha256:670b8229d3cc882ec782144ed22e0d29e1c2d639263f92ca8383e66682845e22"}, +] + +[package.dependencies] +jsonschema = {version = ">=4.18.0", extras = ["format-nongpl"]} +python-json-logger = ">=2.0.4" +pyyaml = ">=5.3" +referencing = "*" +rfc3339-validator = "*" +rfc3986-validator = ">=0.1.1" +traitlets = ">=5.3" + +[package.extras] +cli = ["click", "rich"] +docs = ["jupyterlite-sphinx", "myst-parser", "pydata-sphinx-theme", "sphinxcontrib-spelling"] +test = ["click", "pre-commit", "pytest (>=7.0)", "pytest-asyncio (>=0.19.0)", "pytest-console-scripts", "rich"] + +[[package]] +name = "jupyter-lsp" +version = "2.2.5" +description = "Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab server" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyter-lsp-2.2.5.tar.gz", hash = "sha256:793147a05ad446f809fd53ef1cd19a9f5256fd0a2d6b7ce943a982cb4f545001"}, + {file = "jupyter_lsp-2.2.5-py3-none-any.whl", hash = "sha256:45fbddbd505f3fbfb0b6cb2f1bc5e15e83ab7c79cd6e89416b248cb3c00c11da"}, +] + +[package.dependencies] +jupyter-server = ">=1.1.2" + +[[package]] +name = "jupyter-server" +version = "2.14.2" +description = "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications." +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyter_server-2.14.2-py3-none-any.whl", hash = "sha256:47ff506127c2f7851a17bf4713434208fc490955d0e8632e95014a9a9afbeefd"}, + {file = "jupyter_server-2.14.2.tar.gz", hash = "sha256:66095021aa9638ced276c248b1d81862e4c50f292d575920bbe960de1c56b12b"}, +] + +[package.dependencies] +anyio = ">=3.1.0" +argon2-cffi = ">=21.1" +jinja2 = ">=3.0.3" +jupyter-client = ">=7.4.4" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +jupyter-events = ">=0.9.0" +jupyter-server-terminals = ">=0.4.4" +nbconvert = ">=6.4.4" +nbformat = ">=5.3.0" +overrides = ">=5.0" +packaging = ">=22.0" +prometheus-client = ">=0.9" +pywinpty = {version = ">=2.0.1", markers = "os_name == \"nt\""} +pyzmq = ">=24" +send2trash = ">=1.8.2" +terminado = ">=0.8.3" +tornado = ">=6.2.0" +traitlets = ">=5.6.0" +websocket-client = ">=1.7" + +[package.extras] +docs = ["ipykernel", "jinja2", "jupyter-client", "myst-parser", "nbformat", "prometheus-client", "pydata-sphinx-theme", "send2trash", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-openapi (>=0.8.0)", "sphinxcontrib-spelling", "sphinxemoji", "tornado", "typing-extensions"] +test = ["flaky", "ipykernel", "pre-commit", "pytest (>=7.0,<9)", "pytest-console-scripts", "pytest-jupyter[server] (>=0.7)", "pytest-timeout", "requests"] + +[[package]] +name = "jupyter-server-terminals" +version = "0.5.3" +description = "A Jupyter Server Extension Providing Terminals." +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyter_server_terminals-0.5.3-py3-none-any.whl", hash = "sha256:41ee0d7dc0ebf2809c668e0fc726dfaf258fcd3e769568996ca731b6194ae9aa"}, + {file = "jupyter_server_terminals-0.5.3.tar.gz", hash = "sha256:5ae0295167220e9ace0edcfdb212afd2b01ee8d179fe6f23c899590e9b8a5269"}, +] + +[package.dependencies] +pywinpty = {version = ">=2.0.3", markers = "os_name == \"nt\""} +terminado = ">=0.8.3" + +[package.extras] +docs = ["jinja2", "jupyter-server", "mistune (<4.0)", "myst-parser", "nbformat", "packaging", "pydata-sphinx-theme", "sphinxcontrib-github-alt", "sphinxcontrib-openapi", "sphinxcontrib-spelling", "sphinxemoji", "tornado"] +test = ["jupyter-server (>=2.0.0)", "pytest (>=7.0)", "pytest-jupyter[server] (>=0.5.3)", "pytest-timeout"] + +[[package]] +name = "jupyterlab" +version = "4.3.1" +description = "JupyterLab computational environment" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyterlab-4.3.1-py3-none-any.whl", hash = "sha256:2d9a1c305bc748e277819a17a5d5e22452e533e835f4237b2f30f3b0e491e01f"}, + {file = "jupyterlab-4.3.1.tar.gz", hash = "sha256:a4a338327556443521731d82f2a6ccf926df478914ca029616621704d47c3c65"}, +] + +[package.dependencies] +async-lru = ">=1.0.0" +httpx = ">=0.25.0" +ipykernel = ">=6.5.0" +jinja2 = ">=3.0.3" +jupyter-core = "*" +jupyter-lsp = ">=2.0.0" +jupyter-server = ">=2.4.0,<3" +jupyterlab-server = ">=2.27.1,<3" +notebook-shim = ">=0.2" +packaging = "*" +setuptools = ">=40.1.0" +tornado = ">=6.2.0" +traitlets = "*" + +[package.extras] +dev = ["build", "bump2version", "coverage", "hatch", "pre-commit", "pytest-cov", "ruff (==0.6.9)"] +docs = ["jsx-lexer", "myst-parser", "pydata-sphinx-theme (>=0.13.0)", "pytest", "pytest-check-links", "pytest-jupyter", "sphinx (>=1.8,<8.1.0)", "sphinx-copybutton"] +docs-screenshots = ["altair (==5.4.1)", "ipython (==8.16.1)", "ipywidgets (==8.1.5)", "jupyterlab-geojson (==3.4.0)", "jupyterlab-language-pack-zh-cn (==4.2.post3)", "matplotlib (==3.9.2)", "nbconvert (>=7.0.0)", "pandas (==2.2.3)", "scipy (==1.14.1)", "vega-datasets (==0.9.0)"] +test = ["coverage", "pytest (>=7.0)", "pytest-check-links (>=0.7)", "pytest-console-scripts", "pytest-cov", "pytest-jupyter (>=0.5.3)", "pytest-timeout", "pytest-tornasync", "requests", "requests-cache", "virtualenv"] +upgrade-extension = ["copier (>=9,<10)", "jinja2-time (<0.3)", "pydantic (<3.0)", "pyyaml-include (<3.0)", "tomli-w (<2.0)"] + +[[package]] +name = "jupyterlab-pygments" +version = "0.3.0" +description = "Pygments theme using JupyterLab CSS variables" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780"}, + {file = "jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d"}, +] + +[[package]] +name = "jupyterlab-server" +version = "2.27.3" +description = "A set of server components for JupyterLab and JupyterLab like applications." +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyterlab_server-2.27.3-py3-none-any.whl", hash = "sha256:e697488f66c3db49df675158a77b3b017520d772c6e1548c7d9bcc5df7944ee4"}, + {file = "jupyterlab_server-2.27.3.tar.gz", hash = "sha256:eb36caca59e74471988f0ae25c77945610b887f777255aa21f8065def9e51ed4"}, +] + +[package.dependencies] +babel = ">=2.10" +jinja2 = ">=3.0.3" +json5 = ">=0.9.0" +jsonschema = ">=4.18.0" +jupyter-server = ">=1.21,<3" +packaging = ">=21.3" +requests = ">=2.31" + +[package.extras] +docs = ["autodoc-traits", "jinja2 (<3.2.0)", "mistune (<4)", "myst-parser", "pydata-sphinx-theme", "sphinx", "sphinx-copybutton", "sphinxcontrib-openapi (>0.8)"] +openapi = ["openapi-core (>=0.18.0,<0.19.0)", "ruamel-yaml"] +test = ["hatch", "ipykernel", "openapi-core (>=0.18.0,<0.19.0)", "openapi-spec-validator (>=0.6.0,<0.8.0)", "pytest (>=7.0,<8)", "pytest-console-scripts", "pytest-cov", "pytest-jupyter[server] (>=0.6.2)", "pytest-timeout", "requests-mock", "ruamel-yaml", "sphinxcontrib-spelling", "strict-rfc3339", "werkzeug"] + +[[package]] +name = "jupyterlab-widgets" +version = "3.0.13" +description = "Jupyter interactive widgets for JupyterLab" +optional = false +python-versions = ">=3.7" +files = [ + {file = "jupyterlab_widgets-3.0.13-py3-none-any.whl", hash = "sha256:e3cda2c233ce144192f1e29914ad522b2f4c40e77214b0cc97377ca3d323db54"}, + {file = "jupyterlab_widgets-3.0.13.tar.gz", hash = "sha256:a2966d385328c1942b683a8cd96b89b8dd82c8b8f81dda902bb2bc06d46f5bed"}, +] + +[[package]] +name = "kiwisolver" +version = "1.4.7" +description = "A fast implementation of the Cassowary constraint solver" +optional = false +python-versions = ">=3.8" +files = [ + {file = "kiwisolver-1.4.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8a9c83f75223d5e48b0bc9cb1bf2776cf01563e00ade8775ffe13b0b6e1af3a6"}, + {file = "kiwisolver-1.4.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:58370b1ffbd35407444d57057b57da5d6549d2d854fa30249771775c63b5fe17"}, + {file = "kiwisolver-1.4.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aa0abdf853e09aff551db11fce173e2177d00786c688203f52c87ad7fcd91ef9"}, + {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8d53103597a252fb3ab8b5845af04c7a26d5e7ea8122303dd7a021176a87e8b9"}, + {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:88f17c5ffa8e9462fb79f62746428dd57b46eb931698e42e990ad63103f35e6c"}, + {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a9ca9c710d598fd75ee5de59d5bda2684d9db36a9f50b6125eaea3969c2599"}, + {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f4d742cb7af1c28303a51b7a27aaee540e71bb8e24f68c736f6f2ffc82f2bf05"}, + {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e28c7fea2196bf4c2f8d46a0415c77a1c480cc0724722f23d7410ffe9842c407"}, + {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e968b84db54f9d42046cf154e02911e39c0435c9801681e3fc9ce8a3c4130278"}, + {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0c18ec74c0472de033e1bebb2911c3c310eef5649133dd0bedf2a169a1b269e5"}, + {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8f0ea6da6d393d8b2e187e6a5e3fb81f5862010a40c3945e2c6d12ae45cfb2ad"}, + {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:f106407dda69ae456dd1227966bf445b157ccc80ba0dff3802bb63f30b74e895"}, + {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:84ec80df401cfee1457063732d90022f93951944b5b58975d34ab56bb150dfb3"}, + {file = "kiwisolver-1.4.7-cp310-cp310-win32.whl", hash = "sha256:71bb308552200fb2c195e35ef05de12f0c878c07fc91c270eb3d6e41698c3bcc"}, + {file = "kiwisolver-1.4.7-cp310-cp310-win_amd64.whl", hash = "sha256:44756f9fd339de0fb6ee4f8c1696cfd19b2422e0d70b4cefc1cc7f1f64045a8c"}, + {file = "kiwisolver-1.4.7-cp310-cp310-win_arm64.whl", hash = "sha256:78a42513018c41c2ffd262eb676442315cbfe3c44eed82385c2ed043bc63210a"}, + {file = "kiwisolver-1.4.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d2b0e12a42fb4e72d509fc994713d099cbb15ebf1103545e8a45f14da2dfca54"}, + {file = "kiwisolver-1.4.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2a8781ac3edc42ea4b90bc23e7d37b665d89423818e26eb6df90698aa2287c95"}, + {file = "kiwisolver-1.4.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:46707a10836894b559e04b0fd143e343945c97fd170d69a2d26d640b4e297935"}, + {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef97b8df011141c9b0f6caf23b29379f87dd13183c978a30a3c546d2c47314cb"}, + {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ab58c12a2cd0fc769089e6d38466c46d7f76aced0a1f54c77652446733d2d02"}, + {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:803b8e1459341c1bb56d1c5c010406d5edec8a0713a0945851290a7930679b51"}, + {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f9a9e8a507420fe35992ee9ecb302dab68550dedc0da9e2880dd88071c5fb052"}, + {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18077b53dc3bb490e330669a99920c5e6a496889ae8c63b58fbc57c3d7f33a18"}, + {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6af936f79086a89b3680a280c47ea90b4df7047b5bdf3aa5c524bbedddb9e545"}, + {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:3abc5b19d24af4b77d1598a585b8a719beb8569a71568b66f4ebe1fb0449460b"}, + {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:933d4de052939d90afbe6e9d5273ae05fb836cc86c15b686edd4b3560cc0ee36"}, + {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:65e720d2ab2b53f1f72fb5da5fb477455905ce2c88aaa671ff0a447c2c80e8e3"}, + {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3bf1ed55088f214ba6427484c59553123fdd9b218a42bbc8c6496d6754b1e523"}, + {file = "kiwisolver-1.4.7-cp311-cp311-win32.whl", hash = "sha256:4c00336b9dd5ad96d0a558fd18a8b6f711b7449acce4c157e7343ba92dd0cf3d"}, + {file = "kiwisolver-1.4.7-cp311-cp311-win_amd64.whl", hash = "sha256:929e294c1ac1e9f615c62a4e4313ca1823ba37326c164ec720a803287c4c499b"}, + {file = "kiwisolver-1.4.7-cp311-cp311-win_arm64.whl", hash = "sha256:e33e8fbd440c917106b237ef1a2f1449dfbb9b6f6e1ce17c94cd6a1e0d438376"}, + {file = "kiwisolver-1.4.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:5360cc32706dab3931f738d3079652d20982511f7c0ac5711483e6eab08efff2"}, + {file = "kiwisolver-1.4.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:942216596dc64ddb25adb215c3c783215b23626f8d84e8eff8d6d45c3f29f75a"}, + {file = "kiwisolver-1.4.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:48b571ecd8bae15702e4f22d3ff6a0f13e54d3d00cd25216d5e7f658242065ee"}, + {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad42ba922c67c5f219097b28fae965e10045ddf145d2928bfac2eb2e17673640"}, + {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:612a10bdae23404a72941a0fc8fa2660c6ea1217c4ce0dbcab8a8f6543ea9e7f"}, + {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9e838bba3a3bac0fe06d849d29772eb1afb9745a59710762e4ba3f4cb8424483"}, + {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:22f499f6157236c19f4bbbd472fa55b063db77a16cd74d49afe28992dff8c258"}, + {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693902d433cf585133699972b6d7c42a8b9f8f826ebcaf0132ff55200afc599e"}, + {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4e77f2126c3e0b0d055f44513ed349038ac180371ed9b52fe96a32aa071a5107"}, + {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:657a05857bda581c3656bfc3b20e353c232e9193eb167766ad2dc58b56504948"}, + {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4bfa75a048c056a411f9705856abfc872558e33c055d80af6a380e3658766038"}, + {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:34ea1de54beef1c104422d210c47c7d2a4999bdecf42c7b5718fbe59a4cac383"}, + {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:90da3b5f694b85231cf93586dad5e90e2d71b9428f9aad96952c99055582f520"}, + {file = "kiwisolver-1.4.7-cp312-cp312-win32.whl", hash = "sha256:18e0cca3e008e17fe9b164b55735a325140a5a35faad8de92dd80265cd5eb80b"}, + {file = "kiwisolver-1.4.7-cp312-cp312-win_amd64.whl", hash = "sha256:58cb20602b18f86f83a5c87d3ee1c766a79c0d452f8def86d925e6c60fbf7bfb"}, + {file = "kiwisolver-1.4.7-cp312-cp312-win_arm64.whl", hash = "sha256:f5a8b53bdc0b3961f8b6125e198617c40aeed638b387913bf1ce78afb1b0be2a"}, + {file = "kiwisolver-1.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2e6039dcbe79a8e0f044f1c39db1986a1b8071051efba3ee4d74f5b365f5226e"}, + {file = "kiwisolver-1.4.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a1ecf0ac1c518487d9d23b1cd7139a6a65bc460cd101ab01f1be82ecf09794b6"}, + {file = "kiwisolver-1.4.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7ab9ccab2b5bd5702ab0803676a580fffa2aa178c2badc5557a84cc943fcf750"}, + {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f816dd2277f8d63d79f9c8473a79fe54047bc0467754962840782c575522224d"}, + {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf8bcc23ceb5a1b624572a1623b9f79d2c3b337c8c455405ef231933a10da379"}, + {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dea0bf229319828467d7fca8c7c189780aa9ff679c94539eed7532ebe33ed37c"}, + {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c06a4c7cf15ec739ce0e5971b26c93638730090add60e183530d70848ebdd34"}, + {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:913983ad2deb14e66d83c28b632fd35ba2b825031f2fa4ca29675e665dfecbe1"}, + {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5337ec7809bcd0f424c6b705ecf97941c46279cf5ed92311782c7c9c2026f07f"}, + {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4c26ed10c4f6fa6ddb329a5120ba3b6db349ca192ae211e882970bfc9d91420b"}, + {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c619b101e6de2222c1fcb0531e1b17bbffbe54294bfba43ea0d411d428618c27"}, + {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:073a36c8273647592ea332e816e75ef8da5c303236ec0167196793eb1e34657a"}, + {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3ce6b2b0231bda412463e152fc18335ba32faf4e8c23a754ad50ffa70e4091ee"}, + {file = "kiwisolver-1.4.7-cp313-cp313-win32.whl", hash = "sha256:f4c9aee212bc89d4e13f58be11a56cc8036cabad119259d12ace14b34476fd07"}, + {file = "kiwisolver-1.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:8a3ec5aa8e38fc4c8af308917ce12c536f1c88452ce554027e55b22cbbfbff76"}, + {file = "kiwisolver-1.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:76c8094ac20ec259471ac53e774623eb62e6e1f56cd8690c67ce6ce4fcb05650"}, + {file = "kiwisolver-1.4.7-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5d5abf8f8ec1f4e22882273c423e16cae834c36856cac348cfbfa68e01c40f3a"}, + {file = "kiwisolver-1.4.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:aeb3531b196ef6f11776c21674dba836aeea9d5bd1cf630f869e3d90b16cfade"}, + {file = "kiwisolver-1.4.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b7d755065e4e866a8086c9bdada157133ff466476a2ad7861828e17b6026e22c"}, + {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08471d4d86cbaec61f86b217dd938a83d85e03785f51121e791a6e6689a3be95"}, + {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7bbfcb7165ce3d54a3dfbe731e470f65739c4c1f85bb1018ee912bae139e263b"}, + {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d34eb8494bea691a1a450141ebb5385e4b69d38bb8403b5146ad279f4b30fa3"}, + {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9242795d174daa40105c1d86aba618e8eab7bf96ba8c3ee614da8302a9f95503"}, + {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a0f64a48bb81af7450e641e3fe0b0394d7381e342805479178b3d335d60ca7cf"}, + {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8e045731a5416357638d1700927529e2b8ab304811671f665b225f8bf8d8f933"}, + {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4322872d5772cae7369f8351da1edf255a604ea7087fe295411397d0cfd9655e"}, + {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:e1631290ee9271dffe3062d2634c3ecac02c83890ada077d225e081aca8aab89"}, + {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:edcfc407e4eb17e037bca59be0e85a2031a2ac87e4fed26d3e9df88b4165f92d"}, + {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:4d05d81ecb47d11e7f8932bd8b61b720bf0b41199358f3f5e36d38e28f0532c5"}, + {file = "kiwisolver-1.4.7-cp38-cp38-win32.whl", hash = "sha256:b38ac83d5f04b15e515fd86f312479d950d05ce2368d5413d46c088dda7de90a"}, + {file = "kiwisolver-1.4.7-cp38-cp38-win_amd64.whl", hash = "sha256:d83db7cde68459fc803052a55ace60bea2bae361fc3b7a6d5da07e11954e4b09"}, + {file = "kiwisolver-1.4.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3f9362ecfca44c863569d3d3c033dbe8ba452ff8eed6f6b5806382741a1334bd"}, + {file = "kiwisolver-1.4.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e8df2eb9b2bac43ef8b082e06f750350fbbaf2887534a5be97f6cf07b19d9583"}, + {file = "kiwisolver-1.4.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f32d6edbc638cde7652bd690c3e728b25332acbadd7cad670cc4a02558d9c417"}, + {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:e2e6c39bd7b9372b0be21456caab138e8e69cc0fc1190a9dfa92bd45a1e6e904"}, + {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dda56c24d869b1193fcc763f1284b9126550eaf84b88bbc7256e15028f19188a"}, + {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79849239c39b5e1fd906556c474d9b0439ea6792b637511f3fe3a41158d89ca8"}, + {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5e3bc157fed2a4c02ec468de4ecd12a6e22818d4f09cde2c31ee3226ffbefab2"}, + {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3da53da805b71e41053dc670f9a820d1157aae77b6b944e08024d17bcd51ef88"}, + {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8705f17dfeb43139a692298cb6637ee2e59c0194538153e83e9ee0c75c2eddde"}, + {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:82a5c2f4b87c26bb1a0ef3d16b5c4753434633b83d365cc0ddf2770c93829e3c"}, + {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce8be0466f4c0d585cdb6c1e2ed07232221df101a4c6f28821d2aa754ca2d9e2"}, + {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:409afdfe1e2e90e6ee7fc896f3df9a7fec8e793e58bfa0d052c8a82f99c37abb"}, + {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5b9c3f4ee0b9a439d2415012bd1b1cc2df59e4d6a9939f4d669241d30b414327"}, + {file = "kiwisolver-1.4.7-cp39-cp39-win32.whl", hash = "sha256:a79ae34384df2b615eefca647a2873842ac3b596418032bef9a7283675962644"}, + {file = "kiwisolver-1.4.7-cp39-cp39-win_amd64.whl", hash = "sha256:cf0438b42121a66a3a667de17e779330fc0f20b0d97d59d2f2121e182b0505e4"}, + {file = "kiwisolver-1.4.7-cp39-cp39-win_arm64.whl", hash = "sha256:764202cc7e70f767dab49e8df52c7455e8de0df5d858fa801a11aa0d882ccf3f"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:94252291e3fe68001b1dd747b4c0b3be12582839b95ad4d1b641924d68fd4643"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5b7dfa3b546da08a9f622bb6becdb14b3e24aaa30adba66749d38f3cc7ea9706"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd3de6481f4ed8b734da5df134cd5a6a64fe32124fe83dde1e5b5f29fe30b1e6"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a91b5f9f1205845d488c928e8570dcb62b893372f63b8b6e98b863ebd2368ff2"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40fa14dbd66b8b8f470d5fc79c089a66185619d31645f9b0773b88b19f7223c4"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:eb542fe7933aa09d8d8f9d9097ef37532a7df6497819d16efe4359890a2f417a"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bfa1acfa0c54932d5607e19a2c24646fb4c1ae2694437789129cf099789a3b00"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:eee3ea935c3d227d49b4eb85660ff631556841f6e567f0f7bda972df6c2c9935"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f3160309af4396e0ed04db259c3ccbfdc3621b5559b5453075e5de555e1f3a1b"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a17f6a29cf8935e587cc8a4dbfc8368c55edc645283db0ce9801016f83526c2d"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10849fb2c1ecbfae45a693c070e0320a91b35dd4bcf58172c023b994283a124d"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:ac542bf38a8a4be2dc6b15248d36315ccc65f0743f7b1a76688ffb6b5129a5c2"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:8b01aac285f91ca889c800042c35ad3b239e704b150cfd3382adfc9dcc780e39"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:48be928f59a1f5c8207154f935334d374e79f2b5d212826307d072595ad76a2e"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f37cfe618a117e50d8c240555331160d73d0411422b59b5ee217843d7b693608"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:599b5c873c63a1f6ed7eead644a8a380cfbdf5db91dcb6f85707aaab213b1674"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:801fa7802e5cfabe3ab0c81a34c323a319b097dfb5004be950482d882f3d7225"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0c6c43471bc764fad4bc99c5c2d6d16a676b1abf844ca7c8702bdae92df01ee0"}, + {file = "kiwisolver-1.4.7.tar.gz", hash = "sha256:9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60"}, +] + +[[package]] +name = "markupsafe" +version = "3.0.2" +description = "Safely add untrusted strings to HTML/XML markup." +optional = false +python-versions = ">=3.9" +files = [ + {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a"}, + {file = "markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0"}, +] + +[[package]] +name = "matplotlib" +version = "3.9.3" +description = "Python plotting package" +optional = false +python-versions = ">=3.9" +files = [ + {file = "matplotlib-3.9.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:41b016e3be4e740b66c79a031a0a6e145728dbc248142e751e8dab4f3188ca1d"}, + {file = "matplotlib-3.9.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e0143975fc2a6d7136c97e19c637321288371e8f09cff2564ecd73e865ea0b9"}, + {file = "matplotlib-3.9.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f459c8ee2c086455744723628264e43c884be0c7d7b45d84b8cd981310b4815"}, + {file = "matplotlib-3.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:687df7ceff57b8f070d02b4db66f75566370e7ae182a0782b6d3d21b0d6917dc"}, + {file = "matplotlib-3.9.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:edd14cf733fdc4f6e6fe3f705af97676a7e52859bf0044aa2c84e55be739241c"}, + {file = "matplotlib-3.9.3-cp310-cp310-win_amd64.whl", hash = "sha256:1c40c244221a1adbb1256692b1133c6fb89418df27bf759a31a333e7912a4010"}, + {file = "matplotlib-3.9.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:cf2a60daf6cecff6828bc608df00dbc794380e7234d2411c0ec612811f01969d"}, + {file = "matplotlib-3.9.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:213d6dc25ce686516208d8a3e91120c6a4fdae4a3e06b8505ced5b716b50cc04"}, + {file = "matplotlib-3.9.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c52f48eb75fcc119a4fdb68ba83eb5f71656999420375df7c94cc68e0e14686e"}, + {file = "matplotlib-3.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3c93796b44fa111049b88a24105e947f03c01966b5c0cc782e2ee3887b790a3"}, + {file = "matplotlib-3.9.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:cd1077b9a09b16d8c3c7075a8add5ffbfe6a69156a57e290c800ed4d435bef1d"}, + {file = "matplotlib-3.9.3-cp311-cp311-win_amd64.whl", hash = "sha256:c96eeeb8c68b662c7747f91a385688d4b449687d29b691eff7068a4602fe6dc4"}, + {file = "matplotlib-3.9.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0a361bd5583bf0bcc08841df3c10269617ee2a36b99ac39d455a767da908bbbc"}, + {file = "matplotlib-3.9.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e14485bb1b83eeb3d55b6878f9560240981e7bbc7a8d4e1e8c38b9bd6ec8d2de"}, + {file = "matplotlib-3.9.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a8d279f78844aad213c4935c18f8292a9432d51af2d88bca99072c903948045"}, + {file = "matplotlib-3.9.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6c12514329ac0d03128cf1dcceb335f4fbf7c11da98bca68dca8dcb983153a9"}, + {file = "matplotlib-3.9.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6e9de2b390d253a508dd497e9b5579f3a851f208763ed67fdca5dc0c3ea6849c"}, + {file = "matplotlib-3.9.3-cp312-cp312-win_amd64.whl", hash = "sha256:d796272408f8567ff7eaa00eb2856b3a00524490e47ad505b0b4ca6bb8a7411f"}, + {file = "matplotlib-3.9.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:203d18df84f5288973b2d56de63d4678cc748250026ca9e1ad8f8a0fd8a75d83"}, + {file = "matplotlib-3.9.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b651b0d3642991259109dc0351fc33ad44c624801367bb8307be9bfc35e427ad"}, + {file = "matplotlib-3.9.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:66d7b171fecf96940ce069923a08ba3df33ef542de82c2ff4fe8caa8346fa95a"}, + {file = "matplotlib-3.9.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6be0ba61f6ff2e6b68e4270fb63b6813c9e7dec3d15fc3a93f47480444fd72f0"}, + {file = "matplotlib-3.9.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9d6b2e8856dec3a6db1ae51aec85c82223e834b228c1d3228aede87eee2b34f9"}, + {file = "matplotlib-3.9.3-cp313-cp313-win_amd64.whl", hash = "sha256:90a85a004fefed9e583597478420bf904bb1a065b0b0ee5b9d8d31b04b0f3f70"}, + {file = "matplotlib-3.9.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3119b2f16de7f7b9212ba76d8fe6a0e9f90b27a1e04683cd89833a991682f639"}, + {file = "matplotlib-3.9.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:87ad73763d93add1b6c1f9fcd33af662fd62ed70e620c52fcb79f3ac427cf3a6"}, + {file = "matplotlib-3.9.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:026bdf3137ab6022c866efa4813b6bbeddc2ed4c9e7e02f0e323a7bca380dfa0"}, + {file = "matplotlib-3.9.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:760a5e89ebbb172989e8273024a1024b0f084510b9105261b3b00c15e9c9f006"}, + {file = "matplotlib-3.9.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a42b9dc42de2cfe357efa27d9c50c7833fc5ab9b2eb7252ccd5d5f836a84e1e4"}, + {file = "matplotlib-3.9.3-cp313-cp313t-win_amd64.whl", hash = "sha256:e0fcb7da73fbf67b5f4bdaa57d85bb585a4e913d4a10f3e15b32baea56a67f0a"}, + {file = "matplotlib-3.9.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:031b7f5b8e595cc07def77ec5b58464e9bb67dc5760be5d6f26d9da24892481d"}, + {file = "matplotlib-3.9.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9fa6e193c14d6944e0685cdb527cb6b38b0e4a518043e7212f214113af7391da"}, + {file = "matplotlib-3.9.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e6eefae6effa0c35bbbc18c25ee6e0b1da44d2359c3cd526eb0c9e703cf055d"}, + {file = "matplotlib-3.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10d3e5c7a99bd28afb957e1ae661323b0800d75b419f24d041ed1cc5d844a764"}, + {file = "matplotlib-3.9.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:816a966d5d376bf24c92af8f379e78e67278833e4c7cbc9fa41872eec629a060"}, + {file = "matplotlib-3.9.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fb0b37c896172899a4a93d9442ffdc6f870165f59e05ce2e07c6fded1c15749"}, + {file = "matplotlib-3.9.3-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5f2a4ea08e6876206d511365b0bc234edc813d90b930be72c3011bbd7898796f"}, + {file = "matplotlib-3.9.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:9b081dac96ab19c54fd8558fac17c9d2c9cb5cc4656e7ed3261ddc927ba3e2c5"}, + {file = "matplotlib-3.9.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a0a63cb8404d1d1f94968ef35738900038137dab8af836b6c21bb6f03d75465"}, + {file = "matplotlib-3.9.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:896774766fd6be4571a43bc2fcbcb1dcca0807e53cab4a5bf88c4aa861a08e12"}, + {file = "matplotlib-3.9.3.tar.gz", hash = "sha256:cd5dbbc8e25cad5f706845c4d100e2c8b34691b412b93717ce38d8ae803bcfa5"}, +] + +[package.dependencies] +contourpy = ">=1.0.1" +cycler = ">=0.10" +fonttools = ">=4.22.0" +kiwisolver = ">=1.3.1" +numpy = ">=1.23" +packaging = ">=20.0" +pillow = ">=8" +pyparsing = ">=2.3.1" +python-dateutil = ">=2.7" + +[package.extras] +dev = ["meson-python (>=0.13.1)", "numpy (>=1.25)", "pybind11 (>=2.6,!=2.13.3)", "setuptools (>=64)", "setuptools_scm (>=7)"] + +[[package]] +name = "matplotlib-inline" +version = "0.1.7" +description = "Inline Matplotlib backend for Jupyter" +optional = false +python-versions = ">=3.8" +files = [ + {file = "matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca"}, + {file = "matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90"}, +] + +[package.dependencies] +traitlets = "*" + +[[package]] +name = "mistune" +version = "3.0.2" +description = "A sane and fast Markdown parser with useful plugins and renderers" +optional = false +python-versions = ">=3.7" +files = [ + {file = "mistune-3.0.2-py3-none-any.whl", hash = "sha256:71481854c30fdbc938963d3605b72501f5c10a9320ecd412c121c163a1c7d205"}, + {file = "mistune-3.0.2.tar.gz", hash = "sha256:fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8"}, +] + +[[package]] +name = "nbclient" +version = "0.10.1" +description = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor." +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "nbclient-0.10.1-py3-none-any.whl", hash = "sha256:949019b9240d66897e442888cfb618f69ef23dc71c01cb5fced8499c2cfc084d"}, + {file = "nbclient-0.10.1.tar.gz", hash = "sha256:3e93e348ab27e712acd46fccd809139e356eb9a31aab641d1a7991a6eb4e6f68"}, +] + +[package.dependencies] +jupyter-client = ">=6.1.12" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +nbformat = ">=5.1" +traitlets = ">=5.4" + +[package.extras] +dev = ["pre-commit"] +docs = ["autodoc-traits", "flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "mock", "moto", "myst-parser", "nbconvert (>=7.0.0)", "pytest (>=7.0,<8)", "pytest-asyncio", "pytest-cov (>=4.0)", "sphinx (>=1.7)", "sphinx-book-theme", "sphinxcontrib-spelling", "testpath", "xmltodict"] +test = ["flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "nbconvert (>=7.0.0)", "pytest (>=7.0,<8)", "pytest-asyncio", "pytest-cov (>=4.0)", "testpath", "xmltodict"] + +[[package]] +name = "nbconvert" +version = "7.16.4" +description = "Converting Jupyter Notebooks (.ipynb files) to other formats. Output formats include asciidoc, html, latex, markdown, pdf, py, rst, script. nbconvert can be used both as a Python library (`import nbconvert`) or as a command line tool (invoked as `jupyter nbconvert ...`)." +optional = false +python-versions = ">=3.8" +files = [ + {file = "nbconvert-7.16.4-py3-none-any.whl", hash = "sha256:05873c620fe520b6322bf8a5ad562692343fe3452abda5765c7a34b7d1aa3eb3"}, + {file = "nbconvert-7.16.4.tar.gz", hash = "sha256:86ca91ba266b0a448dc96fa6c5b9d98affabde2867b363258703536807f9f7f4"}, +] + +[package.dependencies] +beautifulsoup4 = "*" +bleach = "!=5.0.0" +defusedxml = "*" +jinja2 = ">=3.0" +jupyter-core = ">=4.7" +jupyterlab-pygments = "*" +markupsafe = ">=2.0" +mistune = ">=2.0.3,<4" +nbclient = ">=0.5.0" +nbformat = ">=5.7" +packaging = "*" +pandocfilters = ">=1.4.1" +pygments = ">=2.4.1" +tinycss2 = "*" +traitlets = ">=5.1" + +[package.extras] +all = ["flaky", "ipykernel", "ipython", "ipywidgets (>=7.5)", "myst-parser", "nbsphinx (>=0.2.12)", "playwright", "pydata-sphinx-theme", "pyqtwebengine (>=5.15)", "pytest (>=7)", "sphinx (==5.0.2)", "sphinxcontrib-spelling", "tornado (>=6.1)"] +docs = ["ipykernel", "ipython", "myst-parser", "nbsphinx (>=0.2.12)", "pydata-sphinx-theme", "sphinx (==5.0.2)", "sphinxcontrib-spelling"] +qtpdf = ["pyqtwebengine (>=5.15)"] +qtpng = ["pyqtwebengine (>=5.15)"] +serve = ["tornado (>=6.1)"] +test = ["flaky", "ipykernel", "ipywidgets (>=7.5)", "pytest (>=7)"] +webpdf = ["playwright"] + +[[package]] +name = "nbformat" +version = "5.10.4" +description = "The Jupyter Notebook format" +optional = false +python-versions = ">=3.8" +files = [ + {file = "nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b"}, + {file = "nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a"}, +] + +[package.dependencies] +fastjsonschema = ">=2.15" +jsonschema = ">=2.6" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +traitlets = ">=5.1" + +[package.extras] +docs = ["myst-parser", "pydata-sphinx-theme", "sphinx", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] +test = ["pep440", "pre-commit", "pytest", "testpath"] + +[[package]] +name = "nest-asyncio" +version = "1.6.0" +description = "Patch asyncio to allow nested event loops" +optional = false +python-versions = ">=3.5" +files = [ + {file = "nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c"}, + {file = "nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe"}, +] + +[[package]] +name = "notebook" +version = "7.0.7" +description = "Jupyter Notebook - A web-based notebook environment for interactive computing" +optional = false +python-versions = ">=3.8" +files = [ + {file = "notebook-7.0.7-py3-none-any.whl", hash = "sha256:289b606d7e173f75a18beb1406ef411b43f97f7a9c55ba03efa3622905a62346"}, + {file = "notebook-7.0.7.tar.gz", hash = "sha256:3bcff00c17b3ac142ef5f436d50637d936b274cfa0b41f6ac0175363de9b4e09"}, +] + +[package.dependencies] +jupyter-server = ">=2.4.0,<3" +jupyterlab = ">=4.0.2,<5" +jupyterlab-server = ">=2.22.1,<3" +notebook-shim = ">=0.2,<0.3" +tornado = ">=6.2.0" + +[package.extras] +dev = ["hatch", "pre-commit"] +docs = ["myst-parser", "nbsphinx", "pydata-sphinx-theme", "sphinx (>=1.3.6)", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] +test = ["importlib-resources (>=5.0)", "ipykernel", "jupyter-server[test] (>=2.4.0,<3)", "jupyterlab-server[test] (>=2.22.1,<3)", "nbval", "pytest (>=7.0)", "pytest-console-scripts", "pytest-timeout", "pytest-tornasync", "requests"] + +[[package]] +name = "notebook-shim" +version = "0.2.4" +description = "A shim layer for notebook traits and config" +optional = false +python-versions = ">=3.7" +files = [ + {file = "notebook_shim-0.2.4-py3-none-any.whl", hash = "sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef"}, + {file = "notebook_shim-0.2.4.tar.gz", hash = "sha256:b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb"}, +] + +[package.dependencies] +jupyter-server = ">=1.8,<3" + +[package.extras] +test = ["pytest", "pytest-console-scripts", "pytest-jupyter", "pytest-tornasync"] + +[[package]] +name = "numpy" +version = "2.1.3" +description = "Fundamental package for array computing in Python" +optional = false +python-versions = ">=3.10" +files = [ + {file = "numpy-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c894b4305373b9c5576d7a12b473702afdf48ce5369c074ba304cc5ad8730dff"}, + {file = "numpy-2.1.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b47fbb433d3260adcd51eb54f92a2ffbc90a4595f8970ee00e064c644ac788f5"}, + {file = "numpy-2.1.3-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:825656d0743699c529c5943554d223c021ff0494ff1442152ce887ef4f7561a1"}, + {file = "numpy-2.1.3-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:6a4825252fcc430a182ac4dee5a505053d262c807f8a924603d411f6718b88fd"}, + {file = "numpy-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e711e02f49e176a01d0349d82cb5f05ba4db7d5e7e0defd026328e5cfb3226d3"}, + {file = "numpy-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78574ac2d1a4a02421f25da9559850d59457bac82f2b8d7a44fe83a64f770098"}, + {file = "numpy-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c7662f0e3673fe4e832fe07b65c50342ea27d989f92c80355658c7f888fcc83c"}, + {file = "numpy-2.1.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:fa2d1337dc61c8dc417fbccf20f6d1e139896a30721b7f1e832b2bb6ef4eb6c4"}, + {file = "numpy-2.1.3-cp310-cp310-win32.whl", hash = "sha256:72dcc4a35a8515d83e76b58fdf8113a5c969ccd505c8a946759b24e3182d1f23"}, + {file = "numpy-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:ecc76a9ba2911d8d37ac01de72834d8849e55473457558e12995f4cd53e778e0"}, + {file = "numpy-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4d1167c53b93f1f5d8a139a742b3c6f4d429b54e74e6b57d0eff40045187b15d"}, + {file = "numpy-2.1.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c80e4a09b3d95b4e1cac08643f1152fa71a0a821a2d4277334c88d54b2219a41"}, + {file = "numpy-2.1.3-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:576a1c1d25e9e02ed7fa5477f30a127fe56debd53b8d2c89d5578f9857d03ca9"}, + {file = "numpy-2.1.3-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:973faafebaae4c0aaa1a1ca1ce02434554d67e628b8d805e61f874b84e136b09"}, + {file = "numpy-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:762479be47a4863e261a840e8e01608d124ee1361e48b96916f38b119cfda04a"}, + {file = "numpy-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc6f24b3d1ecc1eebfbf5d6051faa49af40b03be1aaa781ebdadcbc090b4539b"}, + {file = "numpy-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:17ee83a1f4fef3c94d16dc1802b998668b5419362c8a4f4e8a491de1b41cc3ee"}, + {file = "numpy-2.1.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:15cb89f39fa6d0bdfb600ea24b250e5f1a3df23f901f51c8debaa6a5d122b2f0"}, + {file = "numpy-2.1.3-cp311-cp311-win32.whl", hash = "sha256:d9beb777a78c331580705326d2367488d5bc473b49a9bc3036c154832520aca9"}, + {file = "numpy-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:d89dd2b6da69c4fff5e39c28a382199ddedc3a5be5390115608345dec660b9e2"}, + {file = "numpy-2.1.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f55ba01150f52b1027829b50d70ef1dafd9821ea82905b63936668403c3b471e"}, + {file = "numpy-2.1.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:13138eadd4f4da03074851a698ffa7e405f41a0845a6b1ad135b81596e4e9958"}, + {file = "numpy-2.1.3-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:a6b46587b14b888e95e4a24d7b13ae91fa22386c199ee7b418f449032b2fa3b8"}, + {file = "numpy-2.1.3-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:0fa14563cc46422e99daef53d725d0c326e99e468a9320a240affffe87852564"}, + {file = "numpy-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8637dcd2caa676e475503d1f8fdb327bc495554e10838019651b76d17b98e512"}, + {file = "numpy-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2312b2aa89e1f43ecea6da6ea9a810d06aae08321609d8dc0d0eda6d946a541b"}, + {file = "numpy-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a38c19106902bb19351b83802531fea19dee18e5b37b36454f27f11ff956f7fc"}, + {file = "numpy-2.1.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:02135ade8b8a84011cbb67dc44e07c58f28575cf9ecf8ab304e51c05528c19f0"}, + {file = "numpy-2.1.3-cp312-cp312-win32.whl", hash = "sha256:e6988e90fcf617da2b5c78902fe8e668361b43b4fe26dbf2d7b0f8034d4cafb9"}, + {file = "numpy-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:0d30c543f02e84e92c4b1f415b7c6b5326cbe45ee7882b6b77db7195fb971e3a"}, + {file = "numpy-2.1.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:96fe52fcdb9345b7cd82ecd34547fca4321f7656d500eca497eb7ea5a926692f"}, + {file = "numpy-2.1.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f653490b33e9c3a4c1c01d41bc2aef08f9475af51146e4a7710c450cf9761598"}, + {file = "numpy-2.1.3-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:dc258a761a16daa791081d026f0ed4399b582712e6fc887a95af09df10c5ca57"}, + {file = "numpy-2.1.3-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:016d0f6f5e77b0f0d45d77387ffa4bb89816b57c835580c3ce8e099ef830befe"}, + {file = "numpy-2.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c181ba05ce8299c7aa3125c27b9c2167bca4a4445b7ce73d5febc411ca692e43"}, + {file = "numpy-2.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5641516794ca9e5f8a4d17bb45446998c6554704d888f86df9b200e66bdcce56"}, + {file = "numpy-2.1.3-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ea4dedd6e394a9c180b33c2c872b92f7ce0f8e7ad93e9585312b0c5a04777a4a"}, + {file = "numpy-2.1.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b0df3635b9c8ef48bd3be5f862cf71b0a4716fa0e702155c45067c6b711ddcef"}, + {file = "numpy-2.1.3-cp313-cp313-win32.whl", hash = "sha256:50ca6aba6e163363f132b5c101ba078b8cbd3fa92c7865fd7d4d62d9779ac29f"}, + {file = "numpy-2.1.3-cp313-cp313-win_amd64.whl", hash = "sha256:747641635d3d44bcb380d950679462fae44f54b131be347d5ec2bce47d3df9ed"}, + {file = "numpy-2.1.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:996bb9399059c5b82f76b53ff8bb686069c05acc94656bb259b1d63d04a9506f"}, + {file = "numpy-2.1.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:45966d859916ad02b779706bb43b954281db43e185015df6eb3323120188f9e4"}, + {file = "numpy-2.1.3-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:baed7e8d7481bfe0874b566850cb0b85243e982388b7b23348c6db2ee2b2ae8e"}, + {file = "numpy-2.1.3-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:a9f7f672a3388133335589cfca93ed468509cb7b93ba3105fce780d04a6576a0"}, + {file = "numpy-2.1.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7aac50327da5d208db2eec22eb11e491e3fe13d22653dce51b0f4109101b408"}, + {file = "numpy-2.1.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4394bc0dbd074b7f9b52024832d16e019decebf86caf909d94f6b3f77a8ee3b6"}, + {file = "numpy-2.1.3-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:50d18c4358a0a8a53f12a8ba9d772ab2d460321e6a93d6064fc22443d189853f"}, + {file = "numpy-2.1.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:14e253bd43fc6b37af4921b10f6add6925878a42a0c5fe83daee390bca80bc17"}, + {file = "numpy-2.1.3-cp313-cp313t-win32.whl", hash = "sha256:08788d27a5fd867a663f6fc753fd7c3ad7e92747efc73c53bca2f19f8bc06f48"}, + {file = "numpy-2.1.3-cp313-cp313t-win_amd64.whl", hash = "sha256:2564fbdf2b99b3f815f2107c1bbc93e2de8ee655a69c261363a1172a79a257d4"}, + {file = "numpy-2.1.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:4f2015dfe437dfebbfce7c85c7b53d81ba49e71ba7eadbf1df40c915af75979f"}, + {file = "numpy-2.1.3-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:3522b0dfe983a575e6a9ab3a4a4dfe156c3e428468ff08ce582b9bb6bd1d71d4"}, + {file = "numpy-2.1.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c006b607a865b07cd981ccb218a04fc86b600411d83d6fc261357f1c0966755d"}, + {file = "numpy-2.1.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:e14e26956e6f1696070788252dcdff11b4aca4c3e8bd166e0df1bb8f315a67cb"}, + {file = "numpy-2.1.3.tar.gz", hash = "sha256:aa08e04e08aaf974d4458def539dece0d28146d866a39da5639596f4921fd761"}, +] + +[[package]] +name = "overrides" +version = "7.7.0" +description = "A decorator to automatically detect mismatch when overriding a method." +optional = false +python-versions = ">=3.6" +files = [ + {file = "overrides-7.7.0-py3-none-any.whl", hash = "sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49"}, + {file = "overrides-7.7.0.tar.gz", hash = "sha256:55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a"}, +] + +[[package]] +name = "packaging" +version = "24.2" +description = "Core utilities for Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"}, + {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, +] + +[[package]] +name = "pandas" +version = "2.2.3" +description = "Powerful data structures for data analysis, time series, and statistics" +optional = false +python-versions = ">=3.9" +files = [ + {file = "pandas-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1948ddde24197a0f7add2bdc4ca83bf2b1ef84a1bc8ccffd95eda17fd836ecb5"}, + {file = "pandas-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:381175499d3802cde0eabbaf6324cce0c4f5d52ca6f8c377c29ad442f50f6348"}, + {file = "pandas-2.2.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d9c45366def9a3dd85a6454c0e7908f2b3b8e9c138f5dc38fed7ce720d8453ed"}, + {file = "pandas-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86976a1c5b25ae3f8ccae3a5306e443569ee3c3faf444dfd0f41cda24667ad57"}, + {file = "pandas-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b8661b0238a69d7aafe156b7fa86c44b881387509653fdf857bebc5e4008ad42"}, + {file = "pandas-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:37e0aced3e8f539eccf2e099f65cdb9c8aa85109b0be6e93e2baff94264bdc6f"}, + {file = "pandas-2.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:56534ce0746a58afaf7942ba4863e0ef81c9c50d3f0ae93e9497d6a41a057645"}, + {file = "pandas-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:66108071e1b935240e74525006034333f98bcdb87ea116de573a6a0dccb6c039"}, + {file = "pandas-2.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7c2875855b0ff77b2a64a0365e24455d9990730d6431b9e0ee18ad8acee13dbd"}, + {file = "pandas-2.2.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd8d0c3be0515c12fed0bdbae072551c8b54b7192c7b1fda0ba56059a0179698"}, + {file = "pandas-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c124333816c3a9b03fbeef3a9f230ba9a737e9e5bb4060aa2107a86cc0a497fc"}, + {file = "pandas-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:63cc132e40a2e084cf01adf0775b15ac515ba905d7dcca47e9a251819c575ef3"}, + {file = "pandas-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:29401dbfa9ad77319367d36940cd8a0b3a11aba16063e39632d98b0e931ddf32"}, + {file = "pandas-2.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:3fc6873a41186404dad67245896a6e440baacc92f5b716ccd1bc9ed2995ab2c5"}, + {file = "pandas-2.2.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9"}, + {file = "pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4"}, + {file = "pandas-2.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3"}, + {file = "pandas-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319"}, + {file = "pandas-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8"}, + {file = "pandas-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a"}, + {file = "pandas-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13"}, + {file = "pandas-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f00d1345d84d8c86a63e476bb4955e46458b304b9575dcf71102b5c705320015"}, + {file = "pandas-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3508d914817e153ad359d7e069d752cdd736a247c322d932eb89e6bc84217f28"}, + {file = "pandas-2.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22a9d949bfc9a502d320aa04e5d02feab689d61da4e7764b62c30b991c42c5f0"}, + {file = "pandas-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a255b2c19987fbbe62a9dfd6cff7ff2aa9ccab3fc75218fd4b7530f01efa24"}, + {file = "pandas-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659"}, + {file = "pandas-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb"}, + {file = "pandas-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d"}, + {file = "pandas-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468"}, + {file = "pandas-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18"}, + {file = "pandas-2.2.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2"}, + {file = "pandas-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4"}, + {file = "pandas-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d"}, + {file = "pandas-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a"}, + {file = "pandas-2.2.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc6b93f9b966093cb0fd62ff1a7e4c09e6d546ad7c1de191767baffc57628f39"}, + {file = "pandas-2.2.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5dbca4c1acd72e8eeef4753eeca07de9b1db4f398669d5994086f788a5d7cc30"}, + {file = "pandas-2.2.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8cd6d7cc958a3910f934ea8dbdf17b2364827bb4dafc38ce6eef6bb3d65ff09c"}, + {file = "pandas-2.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99df71520d25fade9db7c1076ac94eb994f4d2673ef2aa2e86ee039b6746d20c"}, + {file = "pandas-2.2.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31d0ced62d4ea3e231a9f228366919a5ea0b07440d9d4dac345376fd8e1477ea"}, + {file = "pandas-2.2.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7eee9e7cea6adf3e3d24e304ac6b8300646e2a5d1cd3a3c2abed9101b0846761"}, + {file = "pandas-2.2.3-cp39-cp39-win_amd64.whl", hash = "sha256:4850ba03528b6dd51d6c5d273c46f183f39a9baf3f0143e566b89450965b105e"}, + {file = "pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667"}, +] + +[package.dependencies] +numpy = {version = ">=1.26.0", markers = "python_version >= \"3.12\""} +python-dateutil = ">=2.8.2" +pytz = ">=2020.1" +tzdata = ">=2022.7" + +[package.extras] +all = ["PyQt5 (>=5.15.9)", "SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)", "beautifulsoup4 (>=4.11.2)", "bottleneck (>=1.3.6)", "dataframe-api-compat (>=0.1.7)", "fastparquet (>=2022.12.0)", "fsspec (>=2022.11.0)", "gcsfs (>=2022.11.0)", "html5lib (>=1.1)", "hypothesis (>=6.46.1)", "jinja2 (>=3.1.2)", "lxml (>=4.9.2)", "matplotlib (>=3.6.3)", "numba (>=0.56.4)", "numexpr (>=2.8.4)", "odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "pandas-gbq (>=0.19.0)", "psycopg2 (>=2.9.6)", "pyarrow (>=10.0.1)", "pymysql (>=1.0.2)", "pyreadstat (>=1.2.0)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "qtpy (>=2.3.0)", "s3fs (>=2022.11.0)", "scipy (>=1.10.0)", "tables (>=3.8.0)", "tabulate (>=0.9.0)", "xarray (>=2022.12.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)", "zstandard (>=0.19.0)"] +aws = ["s3fs (>=2022.11.0)"] +clipboard = ["PyQt5 (>=5.15.9)", "qtpy (>=2.3.0)"] +compression = ["zstandard (>=0.19.0)"] +computation = ["scipy (>=1.10.0)", "xarray (>=2022.12.0)"] +consortium-standard = ["dataframe-api-compat (>=0.1.7)"] +excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)"] +feather = ["pyarrow (>=10.0.1)"] +fss = ["fsspec (>=2022.11.0)"] +gcp = ["gcsfs (>=2022.11.0)", "pandas-gbq (>=0.19.0)"] +hdf5 = ["tables (>=3.8.0)"] +html = ["beautifulsoup4 (>=4.11.2)", "html5lib (>=1.1)", "lxml (>=4.9.2)"] +mysql = ["SQLAlchemy (>=2.0.0)", "pymysql (>=1.0.2)"] +output-formatting = ["jinja2 (>=3.1.2)", "tabulate (>=0.9.0)"] +parquet = ["pyarrow (>=10.0.1)"] +performance = ["bottleneck (>=1.3.6)", "numba (>=0.56.4)", "numexpr (>=2.8.4)"] +plot = ["matplotlib (>=3.6.3)"] +postgresql = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "psycopg2 (>=2.9.6)"] +pyarrow = ["pyarrow (>=10.0.1)"] +spss = ["pyreadstat (>=1.2.0)"] +sql-other = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)"] +test = ["hypothesis (>=6.46.1)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)"] +xml = ["lxml (>=4.9.2)"] + +[[package]] +name = "pandocfilters" +version = "1.5.1" +description = "Utilities for writing pandoc filters in python" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc"}, + {file = "pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e"}, +] + +[[package]] +name = "parso" +version = "0.8.4" +description = "A Python Parser" +optional = false +python-versions = ">=3.6" +files = [ + {file = "parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18"}, + {file = "parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d"}, +] + +[package.extras] +qa = ["flake8 (==5.0.4)", "mypy (==0.971)", "types-setuptools (==67.2.0.1)"] +testing = ["docopt", "pytest"] + +[[package]] +name = "pexpect" +version = "4.9.0" +description = "Pexpect allows easy control of interactive console applications." +optional = false +python-versions = "*" +files = [ + {file = "pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523"}, + {file = "pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f"}, +] + +[package.dependencies] +ptyprocess = ">=0.5" + +[[package]] +name = "pillow" +version = "11.0.0" +description = "Python Imaging Library (Fork)" +optional = false +python-versions = ">=3.9" +files = [ + {file = "pillow-11.0.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:6619654954dc4936fcff82db8eb6401d3159ec6be81e33c6000dfd76ae189947"}, + {file = "pillow-11.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b3c5ac4bed7519088103d9450a1107f76308ecf91d6dabc8a33a2fcfb18d0fba"}, + {file = "pillow-11.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a65149d8ada1055029fcb665452b2814fe7d7082fcb0c5bed6db851cb69b2086"}, + {file = "pillow-11.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88a58d8ac0cc0e7f3a014509f0455248a76629ca9b604eca7dc5927cc593c5e9"}, + {file = "pillow-11.0.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:c26845094b1af3c91852745ae78e3ea47abf3dbcd1cf962f16b9a5fbe3ee8488"}, + {file = "pillow-11.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:1a61b54f87ab5786b8479f81c4b11f4d61702830354520837f8cc791ebba0f5f"}, + {file = "pillow-11.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:674629ff60030d144b7bca2b8330225a9b11c482ed408813924619c6f302fdbb"}, + {file = "pillow-11.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:598b4e238f13276e0008299bd2482003f48158e2b11826862b1eb2ad7c768b97"}, + {file = "pillow-11.0.0-cp310-cp310-win32.whl", hash = "sha256:9a0f748eaa434a41fccf8e1ee7a3eed68af1b690e75328fd7a60af123c193b50"}, + {file = "pillow-11.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:a5629742881bcbc1f42e840af185fd4d83a5edeb96475a575f4da50d6ede337c"}, + {file = "pillow-11.0.0-cp310-cp310-win_arm64.whl", hash = "sha256:ee217c198f2e41f184f3869f3e485557296d505b5195c513b2bfe0062dc537f1"}, + {file = "pillow-11.0.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:1c1d72714f429a521d8d2d018badc42414c3077eb187a59579f28e4270b4b0fc"}, + {file = "pillow-11.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:499c3a1b0d6fc8213519e193796eb1a86a1be4b1877d678b30f83fd979811d1a"}, + {file = "pillow-11.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c8b2351c85d855293a299038e1f89db92a2f35e8d2f783489c6f0b2b5f3fe8a3"}, + {file = "pillow-11.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f4dba50cfa56f910241eb7f883c20f1e7b1d8f7d91c750cd0b318bad443f4d5"}, + {file = "pillow-11.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:5ddbfd761ee00c12ee1be86c9c0683ecf5bb14c9772ddbd782085779a63dd55b"}, + {file = "pillow-11.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:45c566eb10b8967d71bf1ab8e4a525e5a93519e29ea071459ce517f6b903d7fa"}, + {file = "pillow-11.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b4fd7bd29610a83a8c9b564d457cf5bd92b4e11e79a4ee4716a63c959699b306"}, + {file = "pillow-11.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:cb929ca942d0ec4fac404cbf520ee6cac37bf35be479b970c4ffadf2b6a1cad9"}, + {file = "pillow-11.0.0-cp311-cp311-win32.whl", hash = "sha256:006bcdd307cc47ba43e924099a038cbf9591062e6c50e570819743f5607404f5"}, + {file = "pillow-11.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:52a2d8323a465f84faaba5236567d212c3668f2ab53e1c74c15583cf507a0291"}, + {file = "pillow-11.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:16095692a253047fe3ec028e951fa4221a1f3ed3d80c397e83541a3037ff67c9"}, + {file = "pillow-11.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d2c0a187a92a1cb5ef2c8ed5412dd8d4334272617f532d4ad4de31e0495bd923"}, + {file = "pillow-11.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:084a07ef0821cfe4858fe86652fffac8e187b6ae677e9906e192aafcc1b69903"}, + {file = "pillow-11.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8069c5179902dcdce0be9bfc8235347fdbac249d23bd90514b7a47a72d9fecf4"}, + {file = "pillow-11.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f02541ef64077f22bf4924f225c0fd1248c168f86e4b7abdedd87d6ebaceab0f"}, + {file = "pillow-11.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:fcb4621042ac4b7865c179bb972ed0da0218a076dc1820ffc48b1d74c1e37fe9"}, + {file = "pillow-11.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:00177a63030d612148e659b55ba99527803288cea7c75fb05766ab7981a8c1b7"}, + {file = "pillow-11.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8853a3bf12afddfdf15f57c4b02d7ded92c7a75a5d7331d19f4f9572a89c17e6"}, + {file = "pillow-11.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3107c66e43bda25359d5ef446f59c497de2b5ed4c7fdba0894f8d6cf3822dafc"}, + {file = "pillow-11.0.0-cp312-cp312-win32.whl", hash = "sha256:86510e3f5eca0ab87429dd77fafc04693195eec7fd6a137c389c3eeb4cfb77c6"}, + {file = "pillow-11.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:8ec4a89295cd6cd4d1058a5e6aec6bf51e0eaaf9714774e1bfac7cfc9051db47"}, + {file = "pillow-11.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:27a7860107500d813fcd203b4ea19b04babe79448268403172782754870dac25"}, + {file = "pillow-11.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:bcd1fb5bb7b07f64c15618c89efcc2cfa3e95f0e3bcdbaf4642509de1942a699"}, + {file = "pillow-11.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0e038b0745997c7dcaae350d35859c9715c71e92ffb7e0f4a8e8a16732150f38"}, + {file = "pillow-11.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ae08bd8ffc41aebf578c2af2f9d8749d91f448b3bfd41d7d9ff573d74f2a6b2"}, + {file = "pillow-11.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d69bfd8ec3219ae71bcde1f942b728903cad25fafe3100ba2258b973bd2bc1b2"}, + {file = "pillow-11.0.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:61b887f9ddba63ddf62fd02a3ba7add935d053b6dd7d58998c630e6dbade8527"}, + {file = "pillow-11.0.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:c6a660307ca9d4867caa8d9ca2c2658ab685de83792d1876274991adec7b93fa"}, + {file = "pillow-11.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:73e3a0200cdda995c7e43dd47436c1548f87a30bb27fb871f352a22ab8dcf45f"}, + {file = "pillow-11.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fba162b8872d30fea8c52b258a542c5dfd7b235fb5cb352240c8d63b414013eb"}, + {file = "pillow-11.0.0-cp313-cp313-win32.whl", hash = "sha256:f1b82c27e89fffc6da125d5eb0ca6e68017faf5efc078128cfaa42cf5cb38798"}, + {file = "pillow-11.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:8ba470552b48e5835f1d23ecb936bb7f71d206f9dfeee64245f30c3270b994de"}, + {file = "pillow-11.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:846e193e103b41e984ac921b335df59195356ce3f71dcfd155aa79c603873b84"}, + {file = "pillow-11.0.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4ad70c4214f67d7466bea6a08061eba35c01b1b89eaa098040a35272a8efb22b"}, + {file = "pillow-11.0.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:6ec0d5af64f2e3d64a165f490d96368bb5dea8b8f9ad04487f9ab60dc4bb6003"}, + {file = "pillow-11.0.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c809a70e43c7977c4a42aefd62f0131823ebf7dd73556fa5d5950f5b354087e2"}, + {file = "pillow-11.0.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:4b60c9520f7207aaf2e1d94de026682fc227806c6e1f55bba7606d1c94dd623a"}, + {file = "pillow-11.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:1e2688958a840c822279fda0086fec1fdab2f95bf2b717b66871c4ad9859d7e8"}, + {file = "pillow-11.0.0-cp313-cp313t-win32.whl", hash = "sha256:607bbe123c74e272e381a8d1957083a9463401f7bd01287f50521ecb05a313f8"}, + {file = "pillow-11.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5c39ed17edea3bc69c743a8dd3e9853b7509625c2462532e62baa0732163a904"}, + {file = "pillow-11.0.0-cp313-cp313t-win_arm64.whl", hash = "sha256:75acbbeb05b86bc53cbe7b7e6fe00fbcf82ad7c684b3ad82e3d711da9ba287d3"}, + {file = "pillow-11.0.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:2e46773dc9f35a1dd28bd6981332fd7f27bec001a918a72a79b4133cf5291dba"}, + {file = "pillow-11.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2679d2258b7f1192b378e2893a8a0a0ca472234d4c2c0e6bdd3380e8dfa21b6a"}, + {file = "pillow-11.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eda2616eb2313cbb3eebbe51f19362eb434b18e3bb599466a1ffa76a033fb916"}, + {file = "pillow-11.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:20ec184af98a121fb2da42642dea8a29ec80fc3efbaefb86d8fdd2606619045d"}, + {file = "pillow-11.0.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:8594f42df584e5b4bb9281799698403f7af489fba84c34d53d1c4bfb71b7c4e7"}, + {file = "pillow-11.0.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:c12b5ae868897c7338519c03049a806af85b9b8c237b7d675b8c5e089e4a618e"}, + {file = "pillow-11.0.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:70fbbdacd1d271b77b7721fe3cdd2d537bbbd75d29e6300c672ec6bb38d9672f"}, + {file = "pillow-11.0.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5178952973e588b3f1360868847334e9e3bf49d19e169bbbdfaf8398002419ae"}, + {file = "pillow-11.0.0-cp39-cp39-win32.whl", hash = "sha256:8c676b587da5673d3c75bd67dd2a8cdfeb282ca38a30f37950511766b26858c4"}, + {file = "pillow-11.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:94f3e1780abb45062287b4614a5bc0874519c86a777d4a7ad34978e86428b8dd"}, + {file = "pillow-11.0.0-cp39-cp39-win_arm64.whl", hash = "sha256:290f2cc809f9da7d6d622550bbf4c1e57518212da51b6a30fe8e0a270a5b78bd"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:1187739620f2b365de756ce086fdb3604573337cc28a0d3ac4a01ab6b2d2a6d2"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:fbbcb7b57dc9c794843e3d1258c0fbf0f48656d46ffe9e09b63bbd6e8cd5d0a2"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d203af30149ae339ad1b4f710d9844ed8796e97fda23ffbc4cc472968a47d0b"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21a0d3b115009ebb8ac3d2ebec5c2982cc693da935f4ab7bb5c8ebe2f47d36f2"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:73853108f56df97baf2bb8b522f3578221e56f646ba345a372c78326710d3830"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e58876c91f97b0952eb766123bfef372792ab3f4e3e1f1a2267834c2ab131734"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:224aaa38177597bb179f3ec87eeefcce8e4f85e608025e9cfac60de237ba6316"}, + {file = "pillow-11.0.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:5bd2d3bdb846d757055910f0a59792d33b555800813c3b39ada1829c372ccb06"}, + {file = "pillow-11.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:375b8dd15a1f5d2feafff536d47e22f69625c1aa92f12b339ec0b2ca40263273"}, + {file = "pillow-11.0.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:daffdf51ee5db69a82dd127eabecce20729e21f7a3680cf7cbb23f0829189790"}, + {file = "pillow-11.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7326a1787e3c7b0429659e0a944725e1b03eeaa10edd945a86dead1913383944"}, + {file = "pillow-11.0.0.tar.gz", hash = "sha256:72bacbaf24ac003fea9bff9837d1eedb6088758d41e100c1552930151f677739"}, +] + +[package.extras] +docs = ["furo", "olefile", "sphinx (>=8.1)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinxext-opengraph"] +fpx = ["olefile"] +mic = ["olefile"] +tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] +typing = ["typing-extensions"] +xmp = ["defusedxml"] + +[[package]] +name = "platformdirs" +version = "4.3.6" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." +optional = false +python-versions = ">=3.8" +files = [ + {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, + {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, +] + +[package.extras] +docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"] +type = ["mypy (>=1.11.2)"] + +[[package]] +name = "prometheus-client" +version = "0.21.0" +description = "Python client for the Prometheus monitoring system." +optional = false +python-versions = ">=3.8" +files = [ + {file = "prometheus_client-0.21.0-py3-none-any.whl", hash = "sha256:4fa6b4dd0ac16d58bb587c04b1caae65b8c5043e85f778f42f5f632f6af2e166"}, + {file = "prometheus_client-0.21.0.tar.gz", hash = "sha256:96c83c606b71ff2b0a433c98889d275f51ffec6c5e267de37c7a2b5c9aa9233e"}, +] + +[package.extras] +twisted = ["twisted"] + +[[package]] +name = "prompt-toolkit" +version = "3.0.48" +description = "Library for building powerful interactive command lines in Python" +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "prompt_toolkit-3.0.48-py3-none-any.whl", hash = "sha256:f49a827f90062e411f1ce1f854f2aedb3c23353244f8108b89283587397ac10e"}, + {file = "prompt_toolkit-3.0.48.tar.gz", hash = "sha256:d6623ab0477a80df74e646bdbc93621143f5caf104206aa29294d53de1a03d90"}, +] + +[package.dependencies] +wcwidth = "*" + +[[package]] +name = "psutil" +version = "6.1.0" +description = "Cross-platform lib for process and system monitoring in Python." +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +files = [ + {file = "psutil-6.1.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ff34df86226c0227c52f38b919213157588a678d049688eded74c76c8ba4a5d0"}, + {file = "psutil-6.1.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:c0e0c00aa18ca2d3b2b991643b799a15fc8f0563d2ebb6040f64ce8dc027b942"}, + {file = "psutil-6.1.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:000d1d1ebd634b4efb383f4034437384e44a6d455260aaee2eca1e9c1b55f047"}, + {file = "psutil-6.1.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:5cd2bcdc75b452ba2e10f0e8ecc0b57b827dd5d7aaffbc6821b2a9a242823a76"}, + {file = "psutil-6.1.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:045f00a43c737f960d273a83973b2511430d61f283a44c96bf13a6e829ba8fdc"}, + {file = "psutil-6.1.0-cp27-none-win32.whl", hash = "sha256:9118f27452b70bb1d9ab3198c1f626c2499384935aaf55388211ad982611407e"}, + {file = "psutil-6.1.0-cp27-none-win_amd64.whl", hash = "sha256:a8506f6119cff7015678e2bce904a4da21025cc70ad283a53b099e7620061d85"}, + {file = "psutil-6.1.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:6e2dcd475ce8b80522e51d923d10c7871e45f20918e027ab682f94f1c6351688"}, + {file = "psutil-6.1.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:0895b8414afafc526712c498bd9de2b063deaac4021a3b3c34566283464aff8e"}, + {file = "psutil-6.1.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9dcbfce5d89f1d1f2546a2090f4fcf87c7f669d1d90aacb7d7582addece9fb38"}, + {file = "psutil-6.1.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:498c6979f9c6637ebc3a73b3f87f9eb1ec24e1ce53a7c5173b8508981614a90b"}, + {file = "psutil-6.1.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d905186d647b16755a800e7263d43df08b790d709d575105d419f8b6ef65423a"}, + {file = "psutil-6.1.0-cp36-cp36m-win32.whl", hash = "sha256:6d3fbbc8d23fcdcb500d2c9f94e07b1342df8ed71b948a2649b5cb060a7c94ca"}, + {file = "psutil-6.1.0-cp36-cp36m-win_amd64.whl", hash = "sha256:1209036fbd0421afde505a4879dee3b2fd7b1e14fee81c0069807adcbbcca747"}, + {file = "psutil-6.1.0-cp37-abi3-win32.whl", hash = "sha256:1ad45a1f5d0b608253b11508f80940985d1d0c8f6111b5cb637533a0e6ddc13e"}, + {file = "psutil-6.1.0-cp37-abi3-win_amd64.whl", hash = "sha256:a8fb3752b491d246034fa4d279ff076501588ce8cbcdbb62c32fd7a377d996be"}, + {file = "psutil-6.1.0.tar.gz", hash = "sha256:353815f59a7f64cdaca1c0307ee13558a0512f6db064e92fe833784f08539c7a"}, +] + +[package.extras] +dev = ["black", "check-manifest", "coverage", "packaging", "pylint", "pyperf", "pypinfo", "pytest-cov", "requests", "rstcheck", "ruff", "sphinx", "sphinx_rtd_theme", "toml-sort", "twine", "virtualenv", "wheel"] +test = ["pytest", "pytest-xdist", "setuptools"] + +[[package]] +name = "ptyprocess" +version = "0.7.0" +description = "Run a subprocess in a pseudo terminal" +optional = false +python-versions = "*" +files = [ + {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"}, + {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"}, +] + +[[package]] +name = "pure-eval" +version = "0.2.3" +description = "Safely evaluate AST nodes without side effects" +optional = false +python-versions = "*" +files = [ + {file = "pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0"}, + {file = "pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42"}, +] + +[package.extras] +tests = ["pytest"] + +[[package]] +name = "pycparser" +version = "2.22" +description = "C parser in Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, + {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, +] + +[[package]] +name = "pygments" +version = "2.18.0" +description = "Pygments is a syntax highlighting package written in Python." +optional = false +python-versions = ">=3.8" +files = [ + {file = "pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a"}, + {file = "pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199"}, +] + +[package.extras] +windows-terminal = ["colorama (>=0.4.6)"] + +[[package]] +name = "pyparsing" +version = "3.2.0" +description = "pyparsing module - Classes and methods to define and execute parsing grammars" +optional = false +python-versions = ">=3.9" +files = [ + {file = "pyparsing-3.2.0-py3-none-any.whl", hash = "sha256:93d9577b88da0bbea8cc8334ee8b918ed014968fd2ec383e868fb8afb1ccef84"}, + {file = "pyparsing-3.2.0.tar.gz", hash = "sha256:cbf74e27246d595d9a74b186b810f6fbb86726dbf3b9532efb343f6d7294fe9c"}, +] + +[package.extras] +diagrams = ["jinja2", "railroad-diagrams"] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +description = "Extensions to the standard Python datetime module" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" +files = [ + {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, + {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, +] + +[package.dependencies] +six = ">=1.5" + +[[package]] +name = "python-json-logger" +version = "2.0.7" +description = "A python library adding a json log formatter" +optional = false +python-versions = ">=3.6" +files = [ + {file = "python-json-logger-2.0.7.tar.gz", hash = "sha256:23e7ec02d34237c5aa1e29a070193a4ea87583bb4e7f8fd06d3de8264c4b2e1c"}, + {file = "python_json_logger-2.0.7-py3-none-any.whl", hash = "sha256:f380b826a991ebbe3de4d897aeec42760035ac760345e57b812938dc8b35e2bd"}, +] + +[[package]] +name = "pytz" +version = "2024.2" +description = "World timezone definitions, modern and historical" +optional = false +python-versions = "*" +files = [ + {file = "pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725"}, + {file = "pytz-2024.2.tar.gz", hash = "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a"}, +] + +[[package]] +name = "pywin32" +version = "308" +description = "Python for Window Extensions" +optional = false +python-versions = "*" +files = [ + {file = "pywin32-308-cp310-cp310-win32.whl", hash = "sha256:796ff4426437896550d2981b9c2ac0ffd75238ad9ea2d3bfa67a1abd546d262e"}, + {file = "pywin32-308-cp310-cp310-win_amd64.whl", hash = "sha256:4fc888c59b3c0bef905ce7eb7e2106a07712015ea1c8234b703a088d46110e8e"}, + {file = "pywin32-308-cp310-cp310-win_arm64.whl", hash = "sha256:a5ab5381813b40f264fa3495b98af850098f814a25a63589a8e9eb12560f450c"}, + {file = "pywin32-308-cp311-cp311-win32.whl", hash = "sha256:5d8c8015b24a7d6855b1550d8e660d8daa09983c80e5daf89a273e5c6fb5095a"}, + {file = "pywin32-308-cp311-cp311-win_amd64.whl", hash = "sha256:575621b90f0dc2695fec346b2d6302faebd4f0f45c05ea29404cefe35d89442b"}, + {file = "pywin32-308-cp311-cp311-win_arm64.whl", hash = "sha256:100a5442b7332070983c4cd03f2e906a5648a5104b8a7f50175f7906efd16bb6"}, + {file = "pywin32-308-cp312-cp312-win32.whl", hash = "sha256:587f3e19696f4bf96fde9d8a57cec74a57021ad5f204c9e627e15c33ff568897"}, + {file = "pywin32-308-cp312-cp312-win_amd64.whl", hash = "sha256:00b3e11ef09ede56c6a43c71f2d31857cf7c54b0ab6e78ac659497abd2834f47"}, + {file = "pywin32-308-cp312-cp312-win_arm64.whl", hash = "sha256:9b4de86c8d909aed15b7011182c8cab38c8850de36e6afb1f0db22b8959e3091"}, + {file = "pywin32-308-cp313-cp313-win32.whl", hash = "sha256:1c44539a37a5b7b21d02ab34e6a4d314e0788f1690d65b48e9b0b89f31abbbed"}, + {file = "pywin32-308-cp313-cp313-win_amd64.whl", hash = "sha256:fd380990e792eaf6827fcb7e187b2b4b1cede0585e3d0c9e84201ec27b9905e4"}, + {file = "pywin32-308-cp313-cp313-win_arm64.whl", hash = "sha256:ef313c46d4c18dfb82a2431e3051ac8f112ccee1a34f29c263c583c568db63cd"}, + {file = "pywin32-308-cp37-cp37m-win32.whl", hash = "sha256:1f696ab352a2ddd63bd07430080dd598e6369152ea13a25ebcdd2f503a38f1ff"}, + {file = "pywin32-308-cp37-cp37m-win_amd64.whl", hash = "sha256:13dcb914ed4347019fbec6697a01a0aec61019c1046c2b905410d197856326a6"}, + {file = "pywin32-308-cp38-cp38-win32.whl", hash = "sha256:5794e764ebcabf4ff08c555b31bd348c9025929371763b2183172ff4708152f0"}, + {file = "pywin32-308-cp38-cp38-win_amd64.whl", hash = "sha256:3b92622e29d651c6b783e368ba7d6722b1634b8e70bd376fd7610fe1992e19de"}, + {file = "pywin32-308-cp39-cp39-win32.whl", hash = "sha256:7873ca4dc60ab3287919881a7d4f88baee4a6e639aa6962de25a98ba6b193341"}, + {file = "pywin32-308-cp39-cp39-win_amd64.whl", hash = "sha256:71b3322d949b4cc20776436a9c9ba0eeedcbc9c650daa536df63f0ff111bb920"}, +] + +[[package]] +name = "pywinpty" +version = "2.0.14" +description = "Pseudo terminal support for Windows from Python." +optional = false +python-versions = ">=3.8" +files = [ + {file = "pywinpty-2.0.14-cp310-none-win_amd64.whl", hash = "sha256:0b149c2918c7974f575ba79f5a4aad58bd859a52fa9eb1296cc22aa412aa411f"}, + {file = "pywinpty-2.0.14-cp311-none-win_amd64.whl", hash = "sha256:cf2a43ac7065b3e0dc8510f8c1f13a75fb8fde805efa3b8cff7599a1ef497bc7"}, + {file = "pywinpty-2.0.14-cp312-none-win_amd64.whl", hash = "sha256:55dad362ef3e9408ade68fd173e4f9032b3ce08f68cfe7eacb2c263ea1179737"}, + {file = "pywinpty-2.0.14-cp313-none-win_amd64.whl", hash = "sha256:074fb988a56ec79ca90ed03a896d40707131897cefb8f76f926e3834227f2819"}, + {file = "pywinpty-2.0.14-cp39-none-win_amd64.whl", hash = "sha256:5725fd56f73c0531ec218663bd8c8ff5acc43c78962fab28564871b5fce053fd"}, + {file = "pywinpty-2.0.14.tar.gz", hash = "sha256:18bd9529e4a5daf2d9719aa17788ba6013e594ae94c5a0c27e83df3278b0660e"}, +] + +[[package]] +name = "pyyaml" +version = "6.0.2" +description = "YAML parser and emitter for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, + {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68"}, + {file = "PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99"}, + {file = "PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e"}, + {file = "PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5"}, + {file = "PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b"}, + {file = "PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4"}, + {file = "PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652"}, + {file = "PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183"}, + {file = "PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563"}, + {file = "PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083"}, + {file = "PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706"}, + {file = "PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a"}, + {file = "PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725"}, + {file = "PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631"}, + {file = "PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8"}, + {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"}, +] + +[[package]] +name = "pyzmq" +version = "26.2.0" +description = "Python bindings for 0MQ" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pyzmq-26.2.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:ddf33d97d2f52d89f6e6e7ae66ee35a4d9ca6f36eda89c24591b0c40205a3629"}, + {file = "pyzmq-26.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dacd995031a01d16eec825bf30802fceb2c3791ef24bcce48fa98ce40918c27b"}, + {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89289a5ee32ef6c439086184529ae060c741334b8970a6855ec0b6ad3ff28764"}, + {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5506f06d7dc6ecf1efacb4a013b1f05071bb24b76350832c96449f4a2d95091c"}, + {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ea039387c10202ce304af74def5021e9adc6297067f3441d348d2b633e8166a"}, + {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a2224fa4a4c2ee872886ed00a571f5e967c85e078e8e8c2530a2fb01b3309b88"}, + {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:28ad5233e9c3b52d76196c696e362508959741e1a005fb8fa03b51aea156088f"}, + {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:1c17211bc037c7d88e85ed8b7d8f7e52db6dc8eca5590d162717c654550f7282"}, + {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b8f86dd868d41bea9a5f873ee13bf5551c94cf6bc51baebc6f85075971fe6eea"}, + {file = "pyzmq-26.2.0-cp310-cp310-win32.whl", hash = "sha256:46a446c212e58456b23af260f3d9fb785054f3e3653dbf7279d8f2b5546b21c2"}, + {file = "pyzmq-26.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:49d34ab71db5a9c292a7644ce74190b1dd5a3475612eefb1f8be1d6961441971"}, + {file = "pyzmq-26.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:bfa832bfa540e5b5c27dcf5de5d82ebc431b82c453a43d141afb1e5d2de025fa"}, + {file = "pyzmq-26.2.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:8f7e66c7113c684c2b3f1c83cdd3376103ee0ce4c49ff80a648643e57fb22218"}, + {file = "pyzmq-26.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3a495b30fc91db2db25120df5847d9833af237546fd59170701acd816ccc01c4"}, + {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77eb0968da535cba0470a5165468b2cac7772cfb569977cff92e240f57e31bef"}, + {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ace4f71f1900a548f48407fc9be59c6ba9d9aaf658c2eea6cf2779e72f9f317"}, + {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:92a78853d7280bffb93df0a4a6a2498cba10ee793cc8076ef797ef2f74d107cf"}, + {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:689c5d781014956a4a6de61d74ba97b23547e431e9e7d64f27d4922ba96e9d6e"}, + {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0aca98bc423eb7d153214b2df397c6421ba6373d3397b26c057af3c904452e37"}, + {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:1f3496d76b89d9429a656293744ceca4d2ac2a10ae59b84c1da9b5165f429ad3"}, + {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5c2b3bfd4b9689919db068ac6c9911f3fcb231c39f7dd30e3138be94896d18e6"}, + {file = "pyzmq-26.2.0-cp311-cp311-win32.whl", hash = "sha256:eac5174677da084abf378739dbf4ad245661635f1600edd1221f150b165343f4"}, + {file = "pyzmq-26.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:5a509df7d0a83a4b178d0f937ef14286659225ef4e8812e05580776c70e155d5"}, + {file = "pyzmq-26.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:c0e6091b157d48cbe37bd67233318dbb53e1e6327d6fc3bb284afd585d141003"}, + {file = "pyzmq-26.2.0-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:ded0fc7d90fe93ae0b18059930086c51e640cdd3baebdc783a695c77f123dcd9"}, + {file = "pyzmq-26.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:17bf5a931c7f6618023cdacc7081f3f266aecb68ca692adac015c383a134ca52"}, + {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55cf66647e49d4621a7e20c8d13511ef1fe1efbbccf670811864452487007e08"}, + {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4661c88db4a9e0f958c8abc2b97472e23061f0bc737f6f6179d7a27024e1faa5"}, + {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea7f69de383cb47522c9c208aec6dd17697db7875a4674c4af3f8cfdac0bdeae"}, + {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:7f98f6dfa8b8ccaf39163ce872bddacca38f6a67289116c8937a02e30bbe9711"}, + {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e3e0210287329272539eea617830a6a28161fbbd8a3271bf4150ae3e58c5d0e6"}, + {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:6b274e0762c33c7471f1a7471d1a2085b1a35eba5cdc48d2ae319f28b6fc4de3"}, + {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:29c6a4635eef69d68a00321e12a7d2559fe2dfccfa8efae3ffb8e91cd0b36a8b"}, + {file = "pyzmq-26.2.0-cp312-cp312-win32.whl", hash = "sha256:989d842dc06dc59feea09e58c74ca3e1678c812a4a8a2a419046d711031f69c7"}, + {file = "pyzmq-26.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:2a50625acdc7801bc6f74698c5c583a491c61d73c6b7ea4dee3901bb99adb27a"}, + {file = "pyzmq-26.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:4d29ab8592b6ad12ebbf92ac2ed2bedcfd1cec192d8e559e2e099f648570e19b"}, + {file = "pyzmq-26.2.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9dd8cd1aeb00775f527ec60022004d030ddc51d783d056e3e23e74e623e33726"}, + {file = "pyzmq-26.2.0-cp313-cp313-macosx_10_15_universal2.whl", hash = "sha256:28c812d9757fe8acecc910c9ac9dafd2ce968c00f9e619db09e9f8f54c3a68a3"}, + {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d80b1dd99c1942f74ed608ddb38b181b87476c6a966a88a950c7dee118fdf50"}, + {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8c997098cc65e3208eca09303630e84d42718620e83b733d0fd69543a9cab9cb"}, + {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ad1bc8d1b7a18497dda9600b12dc193c577beb391beae5cd2349184db40f187"}, + {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:bea2acdd8ea4275e1278350ced63da0b166421928276c7c8e3f9729d7402a57b"}, + {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:23f4aad749d13698f3f7b64aad34f5fc02d6f20f05999eebc96b89b01262fb18"}, + {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:a4f96f0d88accc3dbe4a9025f785ba830f968e21e3e2c6321ccdfc9aef755115"}, + {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ced65e5a985398827cc9276b93ef6dfabe0273c23de8c7931339d7e141c2818e"}, + {file = "pyzmq-26.2.0-cp313-cp313-win32.whl", hash = "sha256:31507f7b47cc1ead1f6e86927f8ebb196a0bab043f6345ce070f412a59bf87b5"}, + {file = "pyzmq-26.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:70fc7fcf0410d16ebdda9b26cbd8bf8d803d220a7f3522e060a69a9c87bf7bad"}, + {file = "pyzmq-26.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:c3789bd5768ab5618ebf09cef6ec2b35fed88709b104351748a63045f0ff9797"}, + {file = "pyzmq-26.2.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:034da5fc55d9f8da09015d368f519478a52675e558c989bfcb5cf6d4e16a7d2a"}, + {file = "pyzmq-26.2.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:c92d73464b886931308ccc45b2744e5968cbaade0b1d6aeb40d8ab537765f5bc"}, + {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:794a4562dcb374f7dbbfb3f51d28fb40123b5a2abadee7b4091f93054909add5"}, + {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aee22939bb6075e7afededabad1a56a905da0b3c4e3e0c45e75810ebe3a52672"}, + {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ae90ff9dad33a1cfe947d2c40cb9cb5e600d759ac4f0fd22616ce6540f72797"}, + {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:43a47408ac52647dfabbc66a25b05b6a61700b5165807e3fbd40063fcaf46386"}, + {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:25bf2374a2a8433633c65ccb9553350d5e17e60c8eb4de4d92cc6bd60f01d306"}, + {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_i686.whl", hash = "sha256:007137c9ac9ad5ea21e6ad97d3489af654381324d5d3ba614c323f60dab8fae6"}, + {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:470d4a4f6d48fb34e92d768b4e8a5cc3780db0d69107abf1cd7ff734b9766eb0"}, + {file = "pyzmq-26.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3b55a4229ce5da9497dd0452b914556ae58e96a4381bb6f59f1305dfd7e53fc8"}, + {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9cb3a6460cdea8fe8194a76de8895707e61ded10ad0be97188cc8463ffa7e3a8"}, + {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8ab5cad923cc95c87bffee098a27856c859bd5d0af31bd346035aa816b081fe1"}, + {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ed69074a610fad1c2fda66180e7b2edd4d31c53f2d1872bc2d1211563904cd9"}, + {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:cccba051221b916a4f5e538997c45d7d136a5646442b1231b916d0164067ea27"}, + {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:0eaa83fc4c1e271c24eaf8fb083cbccef8fde77ec8cd45f3c35a9a123e6da097"}, + {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:9edda2df81daa129b25a39b86cb57dfdfe16f7ec15b42b19bfac503360d27a93"}, + {file = "pyzmq-26.2.0-cp37-cp37m-win32.whl", hash = "sha256:ea0eb6af8a17fa272f7b98d7bebfab7836a0d62738e16ba380f440fceca2d951"}, + {file = "pyzmq-26.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:4ff9dc6bc1664bb9eec25cd17506ef6672d506115095411e237d571e92a58231"}, + {file = "pyzmq-26.2.0-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:2eb7735ee73ca1b0d71e0e67c3739c689067f055c764f73aac4cc8ecf958ee3f"}, + {file = "pyzmq-26.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a534f43bc738181aa7cbbaf48e3eca62c76453a40a746ab95d4b27b1111a7d2"}, + {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:aedd5dd8692635813368e558a05266b995d3d020b23e49581ddd5bbe197a8ab6"}, + {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8be4700cd8bb02cc454f630dcdf7cfa99de96788b80c51b60fe2fe1dac480289"}, + {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fcc03fa4997c447dce58264e93b5aa2d57714fbe0f06c07b7785ae131512732"}, + {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:402b190912935d3db15b03e8f7485812db350d271b284ded2b80d2e5704be780"}, + {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8685fa9c25ff00f550c1fec650430c4b71e4e48e8d852f7ddcf2e48308038640"}, + {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:76589c020680778f06b7e0b193f4b6dd66d470234a16e1df90329f5e14a171cd"}, + {file = "pyzmq-26.2.0-cp38-cp38-win32.whl", hash = "sha256:8423c1877d72c041f2c263b1ec6e34360448decfb323fa8b94e85883043ef988"}, + {file = "pyzmq-26.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:76589f2cd6b77b5bdea4fca5992dc1c23389d68b18ccc26a53680ba2dc80ff2f"}, + {file = "pyzmq-26.2.0-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:b1d464cb8d72bfc1a3adc53305a63a8e0cac6bc8c5a07e8ca190ab8d3faa43c2"}, + {file = "pyzmq-26.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4da04c48873a6abdd71811c5e163bd656ee1b957971db7f35140a2d573f6949c"}, + {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:d049df610ac811dcffdc147153b414147428567fbbc8be43bb8885f04db39d98"}, + {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:05590cdbc6b902101d0e65d6a4780af14dc22914cc6ab995d99b85af45362cc9"}, + {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c811cfcd6a9bf680236c40c6f617187515269ab2912f3d7e8c0174898e2519db"}, + {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:6835dd60355593de10350394242b5757fbbd88b25287314316f266e24c61d073"}, + {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc6bee759a6bddea5db78d7dcd609397449cb2d2d6587f48f3ca613b19410cfc"}, + {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c530e1eecd036ecc83c3407f77bb86feb79916d4a33d11394b8234f3bd35b940"}, + {file = "pyzmq-26.2.0-cp39-cp39-win32.whl", hash = "sha256:367b4f689786fca726ef7a6c5ba606958b145b9340a5e4808132cc65759abd44"}, + {file = "pyzmq-26.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:e6fa2e3e683f34aea77de8112f6483803c96a44fd726d7358b9888ae5bb394ec"}, + {file = "pyzmq-26.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:7445be39143a8aa4faec43b076e06944b8f9d0701b669df4af200531b21e40bb"}, + {file = "pyzmq-26.2.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:706e794564bec25819d21a41c31d4df2d48e1cc4b061e8d345d7fb4dd3e94072"}, + {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b435f2753621cd36e7c1762156815e21c985c72b19135dac43a7f4f31d28dd1"}, + {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:160c7e0a5eb178011e72892f99f918c04a131f36056d10d9c1afb223fc952c2d"}, + {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c4a71d5d6e7b28a47a394c0471b7e77a0661e2d651e7ae91e0cab0a587859ca"}, + {file = "pyzmq-26.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:90412f2db8c02a3864cbfc67db0e3dcdbda336acf1c469526d3e869394fe001c"}, + {file = "pyzmq-26.2.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2ea4ad4e6a12e454de05f2949d4beddb52460f3de7c8b9d5c46fbb7d7222e02c"}, + {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fc4f7a173a5609631bb0c42c23d12c49df3966f89f496a51d3eb0ec81f4519d6"}, + {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:878206a45202247781472a2d99df12a176fef806ca175799e1c6ad263510d57c"}, + {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17c412bad2eb9468e876f556eb4ee910e62d721d2c7a53c7fa31e643d35352e6"}, + {file = "pyzmq-26.2.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:0d987a3ae5a71c6226b203cfd298720e0086c7fe7c74f35fa8edddfbd6597eed"}, + {file = "pyzmq-26.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:39887ac397ff35b7b775db7201095fc6310a35fdbae85bac4523f7eb3b840e20"}, + {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fdb5b3e311d4d4b0eb8b3e8b4d1b0a512713ad7e6a68791d0923d1aec433d919"}, + {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:226af7dcb51fdb0109f0016449b357e182ea0ceb6b47dfb5999d569e5db161d5"}, + {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bed0e799e6120b9c32756203fb9dfe8ca2fb8467fed830c34c877e25638c3fc"}, + {file = "pyzmq-26.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:29c7947c594e105cb9e6c466bace8532dc1ca02d498684128b339799f5248277"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:cdeabcff45d1c219636ee2e54d852262e5c2e085d6cb476d938aee8d921356b3"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35cffef589bcdc587d06f9149f8d5e9e8859920a071df5a2671de2213bef592a"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:18c8dc3b7468d8b4bdf60ce9d7141897da103c7a4690157b32b60acb45e333e6"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7133d0a1677aec369d67dd78520d3fa96dd7f3dcec99d66c1762870e5ea1a50a"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:6a96179a24b14fa6428cbfc08641c779a53f8fcec43644030328f44034c7f1f4"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:4f78c88905461a9203eac9faac157a2a0dbba84a0fd09fd29315db27be40af9f"}, + {file = "pyzmq-26.2.0.tar.gz", hash = "sha256:070672c258581c8e4f640b5159297580a9974b026043bd4ab0470be9ed324f1f"}, +] + +[package.dependencies] +cffi = {version = "*", markers = "implementation_name == \"pypy\""} + +[[package]] +name = "referencing" +version = "0.35.1" +description = "JSON Referencing + Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de"}, + {file = "referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c"}, +] + +[package.dependencies] +attrs = ">=22.2.0" +rpds-py = ">=0.7.0" + +[[package]] +name = "requests" +version = "2.32.3" +description = "Python HTTP for Humans." +optional = false +python-versions = ">=3.8" +files = [ + {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, + {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, +] + +[package.dependencies] +certifi = ">=2017.4.17" +charset-normalizer = ">=2,<4" +idna = ">=2.5,<4" +urllib3 = ">=1.21.1,<3" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7)"] +use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] + +[[package]] +name = "rfc3339-validator" +version = "0.1.4" +description = "A pure python RFC3339 validator" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa"}, + {file = "rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b"}, +] + +[package.dependencies] +six = "*" + +[[package]] +name = "rfc3986-validator" +version = "0.1.1" +description = "Pure python rfc3986 validator" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "rfc3986_validator-0.1.1-py2.py3-none-any.whl", hash = "sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9"}, + {file = "rfc3986_validator-0.1.1.tar.gz", hash = "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055"}, +] + +[[package]] +name = "rpds-py" +version = "0.22.0" +description = "Python bindings to Rust's persistent data structures (rpds)" +optional = false +python-versions = ">=3.9" +files = [ + {file = "rpds_py-0.22.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:a4366f264fa60d3c109f0b27af0cd9eb8d46746bd70bd3d9d425f035b6c7e286"}, + {file = "rpds_py-0.22.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e34a3e665d38d0749072e6565400c8ce9abae976e338919a0dfbfb0e1ba43068"}, + {file = "rpds_py-0.22.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38cacf1f378571450576f2c8ce87da6f3fddc59d744de5c12b37acc23285b1e1"}, + {file = "rpds_py-0.22.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8cbb040fec8eddd5a6a75e737fd73c9ce37e51f94bacdd0b178d0174a4758395"}, + {file = "rpds_py-0.22.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d80fd710b3307a3c63809048b72c536689b9b0b31a2518339c3f1a4d29c73d7a"}, + {file = "rpds_py-0.22.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4b5d17d8f5b885ce50e0cda85f99c0719e365e98b587338535fa566a48375afb"}, + {file = "rpds_py-0.22.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3f7a048ec1ebc991331d709be4884dc318c9eaafa66dcde8be0933ac0e702149"}, + {file = "rpds_py-0.22.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:306da3dfa174b489a3fc63b0872e2226a5ddf94c59875a770d72aff945d5ed96"}, + {file = "rpds_py-0.22.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c7b4450093c0c909299770226fb0285be47b0a57545bae25b5c4e51566b0e587"}, + {file = "rpds_py-0.22.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0903ffdb5b9007e503203b6285e4ff0faf96d875c19f1d103b475acf7d9f7311"}, + {file = "rpds_py-0.22.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d1522025cda9e57329aade769f56e5793b2a5da7759a21914ee10e67e17e601e"}, + {file = "rpds_py-0.22.0-cp310-cp310-win32.whl", hash = "sha256:49e084d47a66027ac72844f9f52f13d347a9a1f05d4f84381b420e47f836a7fd"}, + {file = "rpds_py-0.22.0-cp310-cp310-win_amd64.whl", hash = "sha256:d9ceca96df54cb1675a0b7f52f1c6d5d1df62c5b40741ba211780f1b05a282a2"}, + {file = "rpds_py-0.22.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:771c9a3851beaa617d8c8115d65f834a2b52490f42ee2b88b13f1fc5529e9e0c"}, + {file = "rpds_py-0.22.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:341a07a4b55126bfae68c9bf24220a73d456111e5eb3dcbdab9fd16de2341224"}, + {file = "rpds_py-0.22.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f7649c8b8e4bd1ccc5fcbd51a855d57a617deeba19c66e3d04b1abecc61036b2"}, + {file = "rpds_py-0.22.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2f513758e7cda8bc262e80299a8e3395d7ef7f4ae705be62632f229bc6c33208"}, + {file = "rpds_py-0.22.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ba1fc34d0b2f6fd53377a4c954116251eba6d076bf64f903311f4a7d27d10acd"}, + {file = "rpds_py-0.22.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:632d2fdddd9fbe3ac8896a119fd18a71fc95ca9c4cbe5223096c142d8c4a2b1d"}, + {file = "rpds_py-0.22.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:326e42f2b49462e05f8527a1311ce98f9f97c484b3e443ec0ea4638bed3aebcf"}, + {file = "rpds_py-0.22.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e9bbdba9e75b1a9ee1dd1335034dad998ef1acc08492226c6fd50aa773bdfa7d"}, + {file = "rpds_py-0.22.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:41f65a97bf2c4b161c9f8f89bc37058346bec9b36e373c8ad00a16c957bff625"}, + {file = "rpds_py-0.22.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:0686f2c16eafdc2c6b4ce6e86e5b3092e87db09ae64be2787616444eb35b9756"}, + {file = "rpds_py-0.22.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4e7c9aa2353eb0b0d845323857197daa036c2ff8624df990b0d886d22a8f665e"}, + {file = "rpds_py-0.22.0-cp311-cp311-win32.whl", hash = "sha256:2d2fc3ab021be3e0b5aec6d4164f2689d231b8bfc5185cc454314746aa4aee72"}, + {file = "rpds_py-0.22.0-cp311-cp311-win_amd64.whl", hash = "sha256:87453d491369cd8018016d2714a13e8461975161703c18ee31eecf087a8ae5d4"}, + {file = "rpds_py-0.22.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:e9d4293b21c69ee4f9e1a99ac4f772951d345611c614a0cfae2ec6b565279bc9"}, + {file = "rpds_py-0.22.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:67e013a17a3db4d98cc228fd5aeb36a51b0f5cf7330b9102a552060f1fe4e560"}, + {file = "rpds_py-0.22.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b639a19e1791b646d27f15d17530a51722cc728d43b2dff3aeb904f92d91bac"}, + {file = "rpds_py-0.22.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1357c3092702078b7782b6ebd5ba9b22c1a291c34fbf9d8f1a48237466ac7758"}, + {file = "rpds_py-0.22.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:842855bbb113a19c393c6de5aa6ed9a26c6b13c2fead5e49114d39f0d08b94d8"}, + {file = "rpds_py-0.22.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ae7927cd2b869ca4dc645169d8af5494a29c99afd0ea0f24dd00c811ab1d8b8"}, + {file = "rpds_py-0.22.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91bfef5daa2a5a4fe62f8d317fc91a626073639f951f851bd2cb252d01bc6c5"}, + {file = "rpds_py-0.22.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4fc4824e38c1e91a73bc820e7caacaf19d0acd557465aceef0420ca59489b390"}, + {file = "rpds_py-0.22.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:92d28a608127b357da47c99e0d0e0655ca2060286540fe9f2a25a2e8ac666e05"}, + {file = "rpds_py-0.22.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c637188b930175c256f13adbfc427b83ec7e64476d1ec9d6608f312bb84e06c3"}, + {file = "rpds_py-0.22.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:93bbd66f46dddc41e8c656130c97c0fb515e0fa44e1eebb2592769dbbd41b2f5"}, + {file = "rpds_py-0.22.0-cp312-cp312-win32.whl", hash = "sha256:54d8f94dec5765a9edc19610fecf0fdf9cab36cbb9def1213188215f735a6f98"}, + {file = "rpds_py-0.22.0-cp312-cp312-win_amd64.whl", hash = "sha256:931bf3d0705b2834fed29354f35170fa022fe22a95542b61b7c66aca5f8a224f"}, + {file = "rpds_py-0.22.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:2a57300cc8b034c5707085249efd09f19116bb80278d0ec925d7f3710165c510"}, + {file = "rpds_py-0.22.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:c398a5a8e258dfdc5ea2aa4e5aa2ca3207f654a8eb268693dd1a76939074a588"}, + {file = "rpds_py-0.22.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a6cc4eb1e86364331928acafb2bb41d8ab735ca3caf2d6019b9f6dac3f4f65d"}, + {file = "rpds_py-0.22.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:574c5c94213bc9990805bfd7e4ba3826d3c098516cbc19f0d0ef0433ad93fa06"}, + {file = "rpds_py-0.22.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c0321bc03a1c513eca1837e3bba948b975bcf3a172aebc197ab3573207f137a"}, + {file = "rpds_py-0.22.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d276280649305c1da6cdd84585d48ae1f0efa67434d8b10d2df95228e59a05bb"}, + {file = "rpds_py-0.22.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c17b43fe9c6da16885e3fe28922bcd1a029e61631fb771c7d501019b40bcc904"}, + {file = "rpds_py-0.22.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:48c95997af9314f4034fe5ba2d837399e786586e220835a578d28fe8161e6ae5"}, + {file = "rpds_py-0.22.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e9aa4af6b879bb75a3c7766fbf49d77f4097dd12b548ecbbd8b3f85caa833281"}, + {file = "rpds_py-0.22.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:8426f97117b914b9bfb2a7bd46edc148e8defda728a55a5df3a564abe70cd7a4"}, + {file = "rpds_py-0.22.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:034964ea0ea09645bdde13038b38abb14be0aa747f20fcfab6181207dd9e0483"}, + {file = "rpds_py-0.22.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:3dc7c64b56b82428894f056e9ff6e8ee917ff74fc26b65211a33602c2372e928"}, + {file = "rpds_py-0.22.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:1212cb231f2002934cd8d71a0d718fdd9d9a2dd671e0feef8501038df3508026"}, + {file = "rpds_py-0.22.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f21e1278c9456cd601832375c778ca44614d3433996488221a56572c223f04a"}, + {file = "rpds_py-0.22.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:875fe8dffb43c20f68379ee098b035a7038d7903c795d46715f66575a7050b19"}, + {file = "rpds_py-0.22.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e23dcdd4b2ff9c6b3317ea7921b210d39592f8ca1cdea58ada25b202c65c0a69"}, + {file = "rpds_py-0.22.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f0fb8efc9e579acf1e556fd86277fecec320c21ca9b5d39db96433ad8c45bc4a"}, + {file = "rpds_py-0.22.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe23687924b25a2dee52fab15976fd6577ed8518072bcda9ff2e2b88ab1f168b"}, + {file = "rpds_py-0.22.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d5469b347445d1c31105f33e7bfc9a8ba213d48e42641a610dda65bf9e3c83f5"}, + {file = "rpds_py-0.22.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a810a57ce5e8ecf8eac6ec4dab534ff80c34e5a2c31db60e992009cd20f58e0f"}, + {file = "rpds_py-0.22.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:d9bb9242b38a664f307b3b897f093896f7ed51ef4fe25a0502e5a368de9151ea"}, + {file = "rpds_py-0.22.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:b4660943030406aaa40ec9f51960dd88049903d9536bc3c8ebb5cc4e1f119bbe"}, + {file = "rpds_py-0.22.0-cp313-cp313t-win32.whl", hash = "sha256:208ce1d8e3af138d1d9b21d7206356b7f29b96675e0113aea652cf024e4ddfdc"}, + {file = "rpds_py-0.22.0-cp313-cp313t-win_amd64.whl", hash = "sha256:e6da2e0500742e0f157f005924a0589f2e2dcbfdd6cd0cc0abce367433e989be"}, + {file = "rpds_py-0.22.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:f980a0640599a74f27fd9d50c84c293f1cb7afc2046c5c6d3efaf8ec7cdbc326"}, + {file = "rpds_py-0.22.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ca505fd3767a09a139737f3278bc8a485cb64043062da89bcba27e2f2ea78d33"}, + {file = "rpds_py-0.22.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba235e00e0878ba1080b0f2a761f143b2a2d1c354f3d8e507fbf2f3de401bf18"}, + {file = "rpds_py-0.22.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:81e7a27365b02fe70a77f1365376879917235b3fec551d19b4c91b51d0bc1d07"}, + {file = "rpds_py-0.22.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:32a0e24cab2daae0503b06666d516e90a080c1a95aff0406b9f03c6489177c4b"}, + {file = "rpds_py-0.22.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a73ed43d64209e853bba567a543170267a5cd64f359540b0ca2d597e329ba172"}, + {file = "rpds_py-0.22.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e0abcce5e874474d3eab5ad53be03dae2abe651d248bdeaabe83708e82969e78"}, + {file = "rpds_py-0.22.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f4e9946c8c7def17e4fcb5eddb14c4eb6ebc7f6f309075e6c8d23b133c104607"}, + {file = "rpds_py-0.22.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:758098b38c344d9a7f279baf0689261777e601f620078ef5afdc9bd3339965c3"}, + {file = "rpds_py-0.22.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:9ad4640a409bc2b7d22b7921e7660f0db96c5c8c69fbb2e8f3261d4f71d33983"}, + {file = "rpds_py-0.22.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:8c48fc7458fe3a74dcdf56ba3534ff41bd421f69436df09ff3497fdaac18b431"}, + {file = "rpds_py-0.22.0-cp39-cp39-win32.whl", hash = "sha256:fde778947304e55fc732bc8ea5c6063e74244ac1808471cb498983a210aaf62c"}, + {file = "rpds_py-0.22.0-cp39-cp39-win_amd64.whl", hash = "sha256:5fdf91a7c07f40e47b193f2acae0ed9da35d09325d7c3c3279f722b7cbf3d264"}, + {file = "rpds_py-0.22.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c8fd7a16f7a047e06c747cfcf2acef3ac316132df1c6077445b29ee6f3f3a70b"}, + {file = "rpds_py-0.22.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:6b6e4bcfc32f831bfe3d6d8a5acedfbfd5e252a03c83fa24813b277a3a8a13ca"}, + {file = "rpds_py-0.22.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eadd2417e83a77ce3ae4a0efd08cb0ebdfd317b6406d11020354a53ad458ec84"}, + {file = "rpds_py-0.22.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f9dc2113e0cf0dd637751ca736186fca63664939ceb9f9f67e93ade88c69c0c9"}, + {file = "rpds_py-0.22.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dc2c00acdf68f1f69a476b770af311a7dc3955b7de228b04a40bcc51ac4d743b"}, + {file = "rpds_py-0.22.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dfdabdf8519c93908b2bf0f87c3f86f9e88bab279fb4acfd0907519ca5a1739f"}, + {file = "rpds_py-0.22.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8338db3c76833d02dc21c3e2c42534091341d26e4f7ba32c6032bb558a02e07b"}, + {file = "rpds_py-0.22.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8ad4dfda52e64af3202ceb2143a62deba97894b71c64a4405ee80f6b3ea77285"}, + {file = "rpds_py-0.22.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:3b94b074dcce39976db22ea75c7aea8b22d95e6d3b62f76e20e1179a278521d8"}, + {file = "rpds_py-0.22.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:d4f2af3107fe4dc40c0d1a2409863f5249c6796398a1d83c1d99a0b3fa6cfb8d"}, + {file = "rpds_py-0.22.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:bb11809b0de643a292a82f728c494a2bbef0e30a7c42d37464abbd6bef7ca7b1"}, + {file = "rpds_py-0.22.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:c1c21030ed494deb10226f90e2dbd84a012d59810c409832714a3dd576527be2"}, + {file = "rpds_py-0.22.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:64a0c965a1e299c9b280006bdb15c276c427c45360aed676305dc36bcaa4d13c"}, + {file = "rpds_py-0.22.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:2498ff422823be087b48bc82710deb87ac34f6b7c8034ee39920647647de1e60"}, + {file = "rpds_py-0.22.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59e63da174ff287db05ef7c21d75974a5bac727ed60452aeb3a14278477842a8"}, + {file = "rpds_py-0.22.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e1c04fb380bc8efaae2fdf17ed6cd5d223da78a8b0b18a610f53d4c5d6e31dfd"}, + {file = "rpds_py-0.22.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e04919ffa9a728c446b27b6b625fa1d00ece221bdb9d633e978a7e0353a12c0e"}, + {file = "rpds_py-0.22.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:24c28df05bd284879d0fac850ba697077d2a33b7ebcaea6318d6b6cdfdc86ddc"}, + {file = "rpds_py-0.22.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d33622dc63c295788eed09dbb1d11bed178909d3267b02d873116ee6be368244"}, + {file = "rpds_py-0.22.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7539dbb8f705e13629ba6f23388976aad809e387f32a6e5c0712e4e8d9bfcce7"}, + {file = "rpds_py-0.22.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:b8906f537978da3f7f0bd1ba37b69f6a877bb43312023b086582707d2835bf2f"}, + {file = "rpds_py-0.22.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:62ab12fe03ffc49978d29de9c31bbb216610157f7e5ca8e172fed6642aead3be"}, + {file = "rpds_py-0.22.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:762206ba3bf1d6c8c9e0055871d3c0d5b074b7c3120193e6c067e7866f106ab1"}, + {file = "rpds_py-0.22.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ed0102146574e5e9f079b2e1a06e6b5b12a691f9c74a65b93b7f3d4feda566c6"}, + {file = "rpds_py-0.22.0.tar.gz", hash = "sha256:32de71c393f126d8203e9815557c7ff4d72ed1ad3aa3f52f6c7938413176750a"}, +] + +[[package]] +name = "send2trash" +version = "1.8.3" +description = "Send file to trash natively under Mac OS X, Windows and Linux" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +files = [ + {file = "Send2Trash-1.8.3-py3-none-any.whl", hash = "sha256:0c31227e0bd08961c7665474a3d1ef7193929fedda4233843689baa056be46c9"}, + {file = "Send2Trash-1.8.3.tar.gz", hash = "sha256:b18e7a3966d99871aefeb00cfbcfdced55ce4871194810fc71f4aa484b953abf"}, +] + +[package.extras] +nativelib = ["pyobjc-framework-Cocoa", "pywin32"] +objc = ["pyobjc-framework-Cocoa"] +win32 = ["pywin32"] + +[[package]] +name = "setuptools" +version = "75.6.0" +description = "Easily download, build, install, upgrade, and uninstall Python packages" +optional = false +python-versions = ">=3.9" +files = [ + {file = "setuptools-75.6.0-py3-none-any.whl", hash = "sha256:ce74b49e8f7110f9bf04883b730f4765b774ef3ef28f722cce7c273d253aaf7d"}, + {file = "setuptools-75.6.0.tar.gz", hash = "sha256:8199222558df7c86216af4f84c30e9b34a61d8ba19366cc914424cdbd28252f6"}, +] + +[package.extras] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.7.0)"] +core = ["importlib_metadata (>=6)", "jaraco.collections", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] +cover = ["pytest-cov"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] +enabler = ["pytest-enabler (>=2.2)"] +test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] +type = ["importlib_metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (>=1.12,<1.14)", "pytest-mypy"] + +[[package]] +name = "six" +version = "1.16.0" +description = "Python 2 and 3 compatibility utilities" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, +] + +[[package]] +name = "sniffio" +version = "1.3.1" +description = "Sniff out which async library your code is running under" +optional = false +python-versions = ">=3.7" +files = [ + {file = "sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2"}, + {file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"}, +] + +[[package]] +name = "soupsieve" +version = "2.6" +description = "A modern CSS selector implementation for Beautiful Soup." +optional = false +python-versions = ">=3.8" +files = [ + {file = "soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9"}, + {file = "soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb"}, +] + +[[package]] +name = "stack-data" +version = "0.6.3" +description = "Extract data from python stack frames and tracebacks for informative displays" +optional = false +python-versions = "*" +files = [ + {file = "stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695"}, + {file = "stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9"}, +] + +[package.dependencies] +asttokens = ">=2.1.0" +executing = ">=1.2.0" +pure-eval = "*" + +[package.extras] +tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"] + +[[package]] +name = "terminado" +version = "0.18.1" +description = "Tornado websocket backend for the Xterm.js Javascript terminal emulator library." +optional = false +python-versions = ">=3.8" +files = [ + {file = "terminado-0.18.1-py3-none-any.whl", hash = "sha256:a4468e1b37bb318f8a86514f65814e1afc977cf29b3992a4500d9dd305dcceb0"}, + {file = "terminado-0.18.1.tar.gz", hash = "sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e"}, +] + +[package.dependencies] +ptyprocess = {version = "*", markers = "os_name != \"nt\""} +pywinpty = {version = ">=1.1.0", markers = "os_name == \"nt\""} +tornado = ">=6.1.0" + +[package.extras] +docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"] +test = ["pre-commit", "pytest (>=7.0)", "pytest-timeout"] +typing = ["mypy (>=1.6,<2.0)", "traitlets (>=5.11.1)"] + +[[package]] +name = "tinycss2" +version = "1.4.0" +description = "A tiny CSS parser" +optional = false +python-versions = ">=3.8" +files = [ + {file = "tinycss2-1.4.0-py3-none-any.whl", hash = "sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289"}, + {file = "tinycss2-1.4.0.tar.gz", hash = "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7"}, +] + +[package.dependencies] +webencodings = ">=0.4" + +[package.extras] +doc = ["sphinx", "sphinx_rtd_theme"] +test = ["pytest", "ruff"] + +[[package]] +name = "tornado" +version = "6.4.2" +description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." +optional = false +python-versions = ">=3.8" +files = [ + {file = "tornado-6.4.2-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e828cce1123e9e44ae2a50a9de3055497ab1d0aeb440c5ac23064d9e44880da1"}, + {file = "tornado-6.4.2-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:072ce12ada169c5b00b7d92a99ba089447ccc993ea2143c9ede887e0937aa803"}, + {file = "tornado-6.4.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a017d239bd1bb0919f72af256a970624241f070496635784d9bf0db640d3fec"}, + {file = "tornado-6.4.2-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c36e62ce8f63409301537222faffcef7dfc5284f27eec227389f2ad11b09d946"}, + {file = "tornado-6.4.2-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca9eb02196e789c9cb5c3c7c0f04fb447dc2adffd95265b2c7223a8a615ccbf"}, + {file = "tornado-6.4.2-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:304463bd0772442ff4d0f5149c6f1c2135a1fae045adf070821c6cdc76980634"}, + {file = "tornado-6.4.2-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:c82c46813ba483a385ab2a99caeaedf92585a1f90defb5693351fa7e4ea0bf73"}, + {file = "tornado-6.4.2-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:932d195ca9015956fa502c6b56af9eb06106140d844a335590c1ec7f5277d10c"}, + {file = "tornado-6.4.2-cp38-abi3-win32.whl", hash = "sha256:2876cef82e6c5978fde1e0d5b1f919d756968d5b4282418f3146b79b58556482"}, + {file = "tornado-6.4.2-cp38-abi3-win_amd64.whl", hash = "sha256:908b71bf3ff37d81073356a5fadcc660eb10c1476ee6e2725588626ce7e5ca38"}, + {file = "tornado-6.4.2.tar.gz", hash = "sha256:92bad5b4746e9879fd7bf1eb21dce4e3fc5128d71601f80005afa39237ad620b"}, +] + +[[package]] +name = "traitlets" +version = "5.14.3" +description = "Traitlets Python configuration system" +optional = false +python-versions = ">=3.8" +files = [ + {file = "traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f"}, + {file = "traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7"}, +] + +[package.extras] +docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"] +test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0,<8.2)", "pytest-mock", "pytest-mypy-testing"] + +[[package]] +name = "types-python-dateutil" +version = "2.9.0.20241003" +description = "Typing stubs for python-dateutil" +optional = false +python-versions = ">=3.8" +files = [ + {file = "types-python-dateutil-2.9.0.20241003.tar.gz", hash = "sha256:58cb85449b2a56d6684e41aeefb4c4280631246a0da1a719bdbe6f3fb0317446"}, + {file = "types_python_dateutil-2.9.0.20241003-py3-none-any.whl", hash = "sha256:250e1d8e80e7bbc3a6c99b907762711d1a1cdd00e978ad39cb5940f6f0a87f3d"}, +] + +[[package]] +name = "tzdata" +version = "2024.2" +description = "Provider of IANA time zone data" +optional = false +python-versions = ">=2" +files = [ + {file = "tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd"}, + {file = "tzdata-2024.2.tar.gz", hash = "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc"}, +] + +[[package]] +name = "uri-template" +version = "1.3.0" +description = "RFC 6570 URI Template Processor" +optional = false +python-versions = ">=3.7" +files = [ + {file = "uri-template-1.3.0.tar.gz", hash = "sha256:0e00f8eb65e18c7de20d595a14336e9f337ead580c70934141624b6d1ffdacc7"}, + {file = "uri_template-1.3.0-py3-none-any.whl", hash = "sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363"}, +] + +[package.extras] +dev = ["flake8", "flake8-annotations", "flake8-bandit", "flake8-bugbear", "flake8-commas", "flake8-comprehensions", "flake8-continuation", "flake8-datetimez", "flake8-docstrings", "flake8-import-order", "flake8-literal", "flake8-modern-annotations", "flake8-noqa", "flake8-pyproject", "flake8-requirements", "flake8-typechecking-import", "flake8-use-fstring", "mypy", "pep8-naming", "types-PyYAML"] + +[[package]] +name = "urllib3" +version = "2.2.3" +description = "HTTP library with thread-safe connection pooling, file post, and more." +optional = false +python-versions = ">=3.8" +files = [ + {file = "urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac"}, + {file = "urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"}, +] + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +h2 = ["h2 (>=4,<5)"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["zstandard (>=0.18.0)"] + +[[package]] +name = "wcwidth" +version = "0.2.13" +description = "Measures the displayed width of unicode strings in a terminal" +optional = false +python-versions = "*" +files = [ + {file = "wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859"}, + {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"}, +] + +[[package]] +name = "webcolors" +version = "24.11.1" +description = "A library for working with the color formats defined by HTML and CSS." +optional = false +python-versions = ">=3.9" +files = [ + {file = "webcolors-24.11.1-py3-none-any.whl", hash = "sha256:515291393b4cdf0eb19c155749a096f779f7d909f7cceea072791cb9095b92e9"}, + {file = "webcolors-24.11.1.tar.gz", hash = "sha256:ecb3d768f32202af770477b8b65f318fa4f566c22948673a977b00d589dd80f6"}, +] + +[[package]] +name = "webencodings" +version = "0.5.1" +description = "Character encoding aliases for legacy web content" +optional = false +python-versions = "*" +files = [ + {file = "webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"}, + {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"}, +] + +[[package]] +name = "websocket-client" +version = "1.8.0" +description = "WebSocket client for Python with low level API options" +optional = false +python-versions = ">=3.8" +files = [ + {file = "websocket_client-1.8.0-py3-none-any.whl", hash = "sha256:17b44cc997f5c498e809b22cdf2d9c7a9e71c02c8cc2b6c56e7c2d1239bfa526"}, + {file = "websocket_client-1.8.0.tar.gz", hash = "sha256:3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da"}, +] + +[package.extras] +docs = ["Sphinx (>=6.0)", "myst-parser (>=2.0.0)", "sphinx-rtd-theme (>=1.1.0)"] +optional = ["python-socks", "wsaccel"] +test = ["websockets"] + +[[package]] +name = "widgetsnbextension" +version = "4.0.13" +description = "Jupyter interactive widgets for Jupyter Notebook" +optional = false +python-versions = ">=3.7" +files = [ + {file = "widgetsnbextension-4.0.13-py3-none-any.whl", hash = "sha256:74b2692e8500525cc38c2b877236ba51d34541e6385eeed5aec15a70f88a6c71"}, + {file = "widgetsnbextension-4.0.13.tar.gz", hash = "sha256:ffcb67bc9febd10234a362795f643927f4e0c05d9342c727b65d2384f8feacb6"}, +] + +[metadata] +lock-version = "2.0" +python-versions = "^3.12" +content-hash = "499a93cb5bb093f5378ad4a2e77f4f895221c389934fb4a15e5a5127db419128" diff --git a/poetry.toml b/poetry.toml new file mode 100644 index 0000000..ab1033b --- /dev/null +++ b/poetry.toml @@ -0,0 +1,2 @@ +[virtualenvs] +in-project = true diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..dd58b4a --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,19 @@ +[tool.poetry] +name = "mai" +version = "1.0.0" +description = "MAI Examples" +authors = ["Aleksey Filippov "] +readme = "readme.md" +package-mode = false + +[tool.poetry.dependencies] +python = "^3.12" +jupyter = "^1.1.1" +numpy = "^2.1.0" +pandas = "^2.2.2" +matplotlib = "^3.9.2" + + +[build-system] +requires = ["poetry-core"] +build-backend = "poetry.core.masonry.api" diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..e16e78c --- /dev/null +++ b/readme.md @@ -0,0 +1,43 @@ +## Окружение и примеры для выполнения лабораторных работ по дисциплине "Методы ИИ" + +### Python + +Используется Python версии 3.12 + +Установщик https://www.python.org/ftp/python/3.12.5/python-3.12.5-amd64.exe + +### Poetry + +Для создания и настройки окружения проекта необходимо установить poetry + +**Для Windows (Powershell)** + +``` +(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python - +``` + +**Linux, macOS, Windows (WSL)** + +``` +curl -sSL https://install.python-poetry.org | python3 - +``` + +**Добавление poetry в PATH** + +1. Открыть настройки переменных среды \ + \ + \ + \ + \ +2. Изменить переменную Path текущего пользователя \ + \ + \ +3. Добавление пути `%APPDATA%\Python\Scripts` до исполняемого файла poetry \ + \ + + +### Создание окружения + +``` +poetry install +```