From a295a2658aef7d961e5ef222940e2d2ba9343531 Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Sat, 8 Mar 2025 15:10:31 -0600 Subject: [PATCH 01/48] Update TeamMembers --- Readme.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Readme.md b/Readme.md index 7a34740d..a978d133 100644 --- a/Readme.md +++ b/Readme.md @@ -12,9 +12,8 @@ OpenManus is an open-source initiative that aims to build a robust agent ecosyst -## Team Members -- **@Kunlun Zhu** -- **@Haofei Yu** +## Current Team Members +[@Kunlun_Zhu](https://github.com/Kunlun-Zhu)(Ulab-UIUC), [@jiayi_Zhang](https://github.com/didiforgithub)(MetaGPT), [@Xiangxin_Zhou](https://github.com/zhouxiangxin1998), [@Yingxuan_Yang](https://github.com/zoe-yyx), [@Jiawei_Zhang](https://github.com/CharlieDreemur), [@Muxin_Tian](https://github.com/realtmxi), [@Haofei_Yu](Ulab-UIUC)(https://github.com/lwaekfjlk) --- @@ -54,4 +53,4 @@ Please cite the following paper if you find OpenManus helpful! organization = {GitHub}, url = {https://github.com/OpenManus/OpenManus}, } -``` \ No newline at end of file +``` From 9fb757d101a5955dede3697994c1afb53f3bb110 Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Sat, 8 Mar 2025 15:12:04 -0600 Subject: [PATCH 02/48] Update Readme.md --- Readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Readme.md b/Readme.md index a978d133..bbf0ffb0 100644 --- a/Readme.md +++ b/Readme.md @@ -47,8 +47,8 @@ Stay tuned for updates and the official release of our repository. Together, let Please cite the following paper if you find OpenManus helpful! ```bibtex @misc{OpenManus, - author = {Kunlun Zhu, Haofei Yu, Jiaxuan You}, - title = {OpenManus: Open Platform for Generalist Reasoning Agents}, + author = {OpenManus-RL Team}, + title = {OpenManus-RL: Open Platform for Generalist LLM Reasoning Agents with RL optimization}, year = {2025}, organization = {GitHub}, url = {https://github.com/OpenManus/OpenManus}, From a73cb4e1c0008dce145649ecdbbe208fcc0052c6 Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Sat, 8 Mar 2025 15:21:35 -0600 Subject: [PATCH 03/48] Update Readme.md --- Readme.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/Readme.md b/Readme.md index bbf0ffb0..585c7fe9 100644 --- a/Readme.md +++ b/Readme.md @@ -1,7 +1,20 @@ -# OpenManus +# OpenManus-RL OpenManus is an open-source initiative that aims to build a robust agent ecosystem capable of harnessing various powerful tools—such as the MCP tool base and web browsing—to achieve sophisticated reasoning and execution. We draw inspiration from existing works like **OSWorld**, **open-interpretor**, and more. **Code coming soon**! +# OpenManus-RL + +OpenManus-RL is an open-source initiative collaboratively led by **Ulab-UIUC** and **MetaGPT**. + +This project is an extended version of the original [@OpenManus](https://github.com/mannaandpoem/OpenManus) initiative. Inspired by successful RL tunning for reasoning LLM such as Deepseek-R1, QwQ-32B, we will explore new paradigms for RL-based LLM agent tuning, particularly building upon foundations. + +We are committed to regularly updating our exploration directions and results in a dynamic, live-streaming fashion. All progress, including rigorous testing on agent benchmarks such as GAIA, AgentBench, WebShop, and OSWorld, and tuned models, will be openly shared and continuously updated. + +We warmly welcome contributions from the broader community—join us in pushing the boundaries of agent reasoning and tool integration! + +Code and dataset coming soon! Stay tuned! + + ---
From f4cd961612edd72a6da6eef710a6dde55e11f70b Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Sat, 8 Mar 2025 15:23:37 -0600 Subject: [PATCH 04/48] Update Readme.md --- Readme.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Readme.md b/Readme.md index 585c7fe9..dd123d5c 100644 --- a/Readme.md +++ b/Readme.md @@ -1,9 +1,5 @@ # OpenManus-RL -OpenManus is an open-source initiative that aims to build a robust agent ecosystem capable of harnessing various powerful tools—such as the MCP tool base and web browsing—to achieve sophisticated reasoning and execution. We draw inspiration from existing works like **OSWorld**, **open-interpretor**, and more. **Code coming soon**! - -# OpenManus-RL - OpenManus-RL is an open-source initiative collaboratively led by **Ulab-UIUC** and **MetaGPT**. This project is an extended version of the original [@OpenManus](https://github.com/mannaandpoem/OpenManus) initiative. Inspired by successful RL tunning for reasoning LLM such as Deepseek-R1, QwQ-32B, we will explore new paradigms for RL-based LLM agent tuning, particularly building upon foundations. From 3e81f1577f4c2d5705bcbf373cbd3db8b167854d Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Sat, 8 Mar 2025 15:30:07 -0600 Subject: [PATCH 05/48] Update Readme.md --- Readme.md | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/Readme.md b/Readme.md index dd123d5c..5d587648 100644 --- a/Readme.md +++ b/Readme.md @@ -29,25 +29,26 @@ Code and dataset coming soon! Stay tuned! # How to Contribute We wholeheartedly welcome suggestions, feedback, and contributions from the community! Feel free to: +We welcome contributions, including fine-tuning codebase, tuning dataset, environment setup, and computing resources. Create issues for feature requests, bug reports, or ideas. -Submit pull requests to help improve OpenManus. +Submit pull requests to help improve OpenManus-RL. Or simply reach out to us for direct collaboration. # Roadmap -1. Web Environment Support -Integrate the ability to browse the web and interact with external resources seamlessly. +1. Agent Environment Support +Setting up LLM agent environment for online RL tunning. -2. Advanced Reasoning Models -Connect to specialized reasoning models such as deepseek-r1 for more complex inference tasks. +2. Agent Trajectories Data Collection +Connect to specialized reasoning models such as deepseek-r1, QwQ-32B for more complex inference tasks to collect comprehensive agent trajectories. -3. Test on Agent Benchmarks -Evaluate our framework on agentic benchmark such as Webshop, GAIA, OSWorld, AgentBench +3. RL-Tuning Model Paradigm +Provide an RL fine-tuning approach for customizing the agent’s behavior in our agent environment. -4. RL-Tuning Model Paradigm -Provide an RL fine-tuning approach for customizing the agent’s behavior in various real-world applications. +4. Test on Agent Benchmarks +Evaluate our framework on agentic benchmark such as Webshop, GAIA, OSWorld, AgentBench # Acknowledgement -We extend our thanks to ulab-uiuc (https://ulab-uiuc.github.io/) for their support and shared knowledge. Their mission and community contributions help drive innovations like OpenManus forward. +We extend our thanks to ulab-uiuc (https://ulab-uiuc.github.io/) and Openmanus (https://github.com/mannaandpoem/OpenManus)) team from MetaGPT for their support and shared knowledge. Their mission and community contributions help drive innovations like OpenManus forward. We welcome all developers who are interested in this project can reach out to (kunlunz2@illinois.edu) Stay tuned for updates and the official release of our repository. Together, let's build a thriving open-source agent ecosystem! From 168b12577d10b1013c28282947d51cc2fec24f19 Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Sat, 8 Mar 2025 15:34:17 -0600 Subject: [PATCH 06/48] Add files via upload --- assets/wechat-link.jpg | Bin 0 -> 169656 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/wechat-link.jpg diff --git a/assets/wechat-link.jpg b/assets/wechat-link.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1f0768b05a283734dfe64efc46c2fb3913af0a35 GIT binary patch literal 169656 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

%I~Ay#85Xo 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

GJG(Z{ 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 z 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

fnv9CDNs@OHBM# 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 ZFF?T0hHoArSG(q-82FF5wb-8j{|DAFlxP3| literal 0 HcmV?d00001 From b5f3555a965c799d198d9b0c1c3ef18121d2c585 Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Sat, 8 Mar 2025 15:36:36 -0600 Subject: [PATCH 07/48] Update Readme.md --- Readme.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Readme.md b/Readme.md index 5d587648..d1458fa1 100644 --- a/Readme.md +++ b/Readme.md @@ -53,6 +53,14 @@ We welcome all developers who are interested in this project can reach out to (k Stay tuned for updates and the official release of our repository. Together, let's build a thriving open-source agent ecosystem! +## Community Group + +Join our networking group on Feishu and share your experience with other developers! + +

+ OpenManus-RL 交流群 +
+ ## Citation Please cite the following paper if you find OpenManus helpful! ```bibtex From e5d46a386ba1bd0116893c9af8307a82bc53be1e Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Sat, 8 Mar 2025 15:37:50 -0600 Subject: [PATCH 08/48] Update Readme.md --- Readme.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Readme.md b/Readme.md index d1458fa1..4f3d2782 100644 --- a/Readme.md +++ b/Readme.md @@ -33,6 +33,7 @@ We welcome contributions, including fine-tuning codebase, tuning dataset, enviro Create issues for feature requests, bug reports, or ideas. Submit pull requests to help improve OpenManus-RL. Or simply reach out to us for direct collaboration. +Important contributors will be listed as co-authors to our paper. # Roadmap 1. Agent Environment Support @@ -55,10 +56,10 @@ Stay tuned for updates and the official release of our repository. Together, let ## Community Group -Join our networking group on Feishu and share your experience with other developers! +Join our networking group on Wecgat and share your experience with other developers!
- OpenManus-RL 交流群 + OpenManus-RL 交流群
## Citation From 556203f802db8313d853ff86e5478e57d3a329e9 Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Sat, 8 Mar 2025 15:38:57 -0600 Subject: [PATCH 09/48] Update Readme.md --- Readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Readme.md b/Readme.md index 4f3d2782..81c34a18 100644 --- a/Readme.md +++ b/Readme.md @@ -22,7 +22,7 @@ Code and dataset coming soon! Stay tuned! ## Current Team Members -[@Kunlun_Zhu](https://github.com/Kunlun-Zhu)(Ulab-UIUC), [@jiayi_Zhang](https://github.com/didiforgithub)(MetaGPT), [@Xiangxin_Zhou](https://github.com/zhouxiangxin1998), [@Yingxuan_Yang](https://github.com/zoe-yyx), [@Jiawei_Zhang](https://github.com/CharlieDreemur), [@Muxin_Tian](https://github.com/realtmxi), [@Haofei_Yu](Ulab-UIUC)(https://github.com/lwaekfjlk) +[@Kunlun_Zhu](https://github.com/Kunlun-Zhu)(Ulab-UIUC), [@jiayi_Zhang](https://github.com/didiforgithub)(MetaGPT), [@Xiangxin_Zhou](https://github.com/zhouxiangxin1998), [@Yingxuan_Yang](https://github.com/zoe-yyx), [@Jiawei_Zhang](https://github.com/CharlieDreemur), [@Muxin_Tian](https://github.com/realtmxi), [@Haofei_Yu](https://github.com/lwaekfjlk)(Ulab-UIUC) --- @@ -70,6 +70,6 @@ Please cite the following paper if you find OpenManus helpful! title = {OpenManus-RL: Open Platform for Generalist LLM Reasoning Agents with RL optimization}, year = {2025}, organization = {GitHub}, - url = {https://github.com/OpenManus/OpenManus}, + url = {https://github.com/OpenManus/OpenManus-RL}, } ``` From 7e15d013e09c25b6b964829b11426d74317fee3e Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Sat, 8 Mar 2025 15:52:43 -0600 Subject: [PATCH 10/48] Update Readme.md --- Readme.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Readme.md b/Readme.md index 81c34a18..6033cf2e 100644 --- a/Readme.md +++ b/Readme.md @@ -19,6 +19,10 @@ Code and dataset coming soon! Stay tuned!
+## 🔔 News + +- **[2025-03-08]** 🎉 We are collaboration with [@OpenManus](https://github.com/mannaandpoem/OpenManus) from Metagpt to work on this project together! +- **[2025-03-06]** 🥳 We(UIUC-Ulab) are announcing our live-streaming project, OpenManus-RL. ## Current Team Members From 398f264e7660a1e998d8c477a80382b278bc0f36 Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Sat, 8 Mar 2025 16:11:21 -0600 Subject: [PATCH 11/48] Update Readme.md --- Readme.md | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/Readme.md b/Readme.md index 6033cf2e..378c05ae 100644 --- a/Readme.md +++ b/Readme.md @@ -52,13 +52,45 @@ Provide an RL fine-tuning approach for customizing the agent’s behavior in our 4. Test on Agent Benchmarks Evaluate our framework on agentic benchmark such as Webshop, GAIA, OSWorld, AgentBench +# Related Work + +## Agent tuning + +1. **Offline Training of Language Model Agents with Functions as Learnable Weights**. [[paper](https://arxiv.org/pdf/2402.11359)] +2. **FIREACT : TOWARD LANGUAGE AGENT FINE-TUNING**. [[paper](https://arxiv.org/pdf/2310.05915)] +3. **AgentTuning: Enabling Generalized Agent Abilities for LLMs**. [[paper](https://arxiv.org/pdf/2310.12823)] +4. **ReAct Meets ActRe: When Language Agents Enjoy Training Data Autonomy**. [[paper](https://arxiv.org/pdf/2403.14589)] +5. **UI-TARS: Pioneering Automated GUI Interaction with Native Agents**. [[paper](https://arxiv.org/pdf/2501.12326#page=16.83)] +6. **ATLAS: Agent Tuning via Learning Critical Steps**. [[paper](https://arxiv.org/pdf/2503.02197)] + +## Tool using + +1. **Toolformer: Language Models Can Teach Themselves to Use Tools**. [[paper](https://arxiv.org/pdf/2302.04761)] +2. **ToolLLM: Facilitating Large Language Models to Master 16000+ Real-world APIs**. [[paper](https://arxiv.org/abs/2307.16789)] + +## Agent tuning instruction dataset + +1. **Agent-FLAN: Designing Data and Methods of Effective Agent Tuning for Large Language Models**. [[paper](https://arxiv.org/pdf/2403.12881)] +2. **AgentOhana: Design Unified Data and Training Pipeline for Effective Agent Learning**. [[paper](https://arxiv.org/pdf/2402.15506)] + +## RL tuning + +1. **Training Language Models to Follow Instructions with Human Feedback**. [[paper](https://arxiv.org/pdf/2305.18438)] +2. **Deepseekmath: Pushing the Limits of Mathematical Reasoning in Open Language Models**. [[paper](https://proceedings.neurips.cc/paper_files/paper/2022/file/b1efde53be364a73914f58805a001731-Paper-Conference.pdf)] +3. **DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning**. [[paper](https://arxiv.org/pdf/2501.12948)] + + +## CodeBase + +1. **RAGEN: Training Agents by Reinforcing Reasoning**. [[code](https://github.com/ZihanWang314/RAGEN)] + # Acknowledgement We extend our thanks to ulab-uiuc (https://ulab-uiuc.github.io/) and Openmanus (https://github.com/mannaandpoem/OpenManus)) team from MetaGPT for their support and shared knowledge. Their mission and community contributions help drive innovations like OpenManus forward. We welcome all developers who are interested in this project can reach out to (kunlunz2@illinois.edu) Stay tuned for updates and the official release of our repository. Together, let's build a thriving open-source agent ecosystem! -## Community Group +# Community Group Join our networking group on Wecgat and share your experience with other developers! @@ -66,7 +98,7 @@ Join our networking group on Wecgat and share your experience with other develop OpenManus-RL 交流群 -## Citation +# Citation Please cite the following paper if you find OpenManus helpful! ```bibtex @misc{OpenManus, From cf4acf7f57ea6bb6c23e7af247fc49fcdd272b78 Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Sat, 8 Mar 2025 16:18:32 -0600 Subject: [PATCH 12/48] Update Readme.md --- Readme.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Readme.md b/Readme.md index 378c05ae..96aff38b 100644 --- a/Readme.md +++ b/Readme.md @@ -79,8 +79,17 @@ Evaluate our framework on agentic benchmark such as Webshop, GAIA, OSWorld, Agen 2. **Deepseekmath: Pushing the Limits of Mathematical Reasoning in Open Language Models**. [[paper](https://proceedings.neurips.cc/paper_files/paper/2022/file/b1efde53be364a73914f58805a001731-Paper-Conference.pdf)] 3. **DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning**. [[paper](https://arxiv.org/pdf/2501.12948)] +## **Benchmark:** -## CodeBase +1. **AgentBench: Evaluating LLMs as Agents**. [paper](https://arxiv.org/abs/2308.03688) +2. **OSWorld: Benchmarking Multimodal Agents for Open-Ended Tasks in Real Computer Environments**. [paper](https://arxiv.org/abs/2404.07972) +3. **AndroidWorld: A Dynamic Benchmarking Environment for Autonomous Agents**. [paper](https://openreview.net/forum?id=il5yUQsrjC) +4. **WebShop: Towards Scalable Real-World Web Interaction with Autonomous Agents**. [paper](https://arxiv.org/pdf/2207.01206) +5. **GAIA: a benchmark for General AI Assistants**. [paper](https://arxiv.org/abs/2311.12983) +6. **TheAgentCompany: Benchmarking LLM Agents on Consequential Real World Tasks**. [paper](https://arxiv.org/abs/2412.14161) + + +## Similar Code 1. **RAGEN: Training Agents by Reinforcing Reasoning**. [[code](https://github.com/ZihanWang314/RAGEN)] From d646e4c92f171e95ff672d8b17fc7959e42f8fbd Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Sat, 8 Mar 2025 16:50:56 -0600 Subject: [PATCH 13/48] Update Readme.md --- Readme.md | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/Readme.md b/Readme.md index 96aff38b..59366cf5 100644 --- a/Readme.md +++ b/Readme.md @@ -52,6 +52,81 @@ Provide an RL fine-tuning approach for customizing the agent’s behavior in our 4. Test on Agent Benchmarks Evaluate our framework on agentic benchmark such as Webshop, GAIA, OSWorld, AgentBench +## Method + +Our method proposes an advanced reinforcement learning (RL)-based agent tuning framework designed to significantly enhance reasoning and decision-making capabilities of large language models (LLMs). Drawing inspiration from RAGEN's Reasoning-Interaction Chain Optimization (RICO), our approach further explores novel algorithmic structures, diverse reasoning paradigms, sophisticated reward strategies, and extensive benchmark environments. + +### Reasoning Models Exploration +To benchmark the reasoning capabilities effectively, we evaluate multiple state-of-the-art reasoning models: +- **GPT-O1** +- **Deepseek-R1** +- **QwQ-32B** + +Each model provides unique reasoning capabilities that inform downstream optimization and training strategies. + +### Alternative Rollout Strategies +We experiment with a variety of rollout strategies to enhance agent planning efficiency and reasoning robustness, including: + +- **Tree-of-Thoughts (ToT)**: Employs tree-based reasoning paths, enabling agents to explore branching possibilities systematically. +- **Graph-of-Thoughts (GoT)**: Utilizes graph structures to represent complex reasoning dependencies effectively. +- **DFSDT (Depth-First Search Decision Trees)**: Optimizes action selection through depth-first search, enhancing long-horizon planning. +- **Monte Carlo Tree Search (MCTS)**: Explores reasoning and decision paths probabilistically, balancing exploration and exploitation effectively. + +These methods help identify optimal rollout techniques for various reasoning tasks. + +### Diverse Reasoning Formats +We specifically analyze and compare several reasoning output formats, notably: + +- **ReAct**: Integrates reasoning and action explicitly, encouraging structured decision-making. +- **Outcome-based Reasoning**: Optimizes toward explicit outcome predictions, driving focused goal alignment. + +These formats are rigorously compared to derive the most effective reasoning representation for various tasks. + +### Extensive Environment Benchmarks +We validate our methods comprehensively using diverse and challenging agent benchmarks, including: + +- [AgentBench](https://arxiv.org/abs/2308.03688) +- [GAIA](https://arxiv.org/abs/2311.12983) +- [WebShop](https://arxiv.org/abs/2207.01206) +- [OSWorld](https://os-world.github.io/) +- [AndroidWorld](https://openreview.net/forum?id=il5yUQsrjC) +- [TheAgentCompany](https://github.com/OpenBMB/AgentVerse) + +This extensive benchmark suite ensures comprehensive evaluation of reasoning capabilities and generalizability across diverse real-world and simulated scenarios. + +### Post-Training Strategies +We investigate multiple post-training methodologies to fine-tune agent reasoning effectively: + +- **Supervised Fine-Tuning (SFT)**: Initializes reasoning capabilities using human-annotated instructions. +- **Generalized Reward-based Policy Optimization (GRPO)**: Incorporates: + - **Format-based Rewards**: Rewards adherence to specified reasoning structures. + - **Outcome-based Rewards**: Rewards accurate task completion and goal attainment. +- **Proximal Policy Optimization (PPO)**: Enhances agent stability through proximal updates. +- **Direct Preference Optimization (DPO)**: Leverages explicit human preferences to optimize agent outputs directly. +- **Preference-based Reward Modeling (PRM)**: Uses learned reward functions derived from human preference data. + +### Training of Agent Reward Model +We train specialized agent reward models using annotated data to accurately quantify nuanced reward signals. These models are then leveraged to guide agent trajectory selection during both training and evaluation phases. + +### Test-time Scaling of Trajectories +During the inference phase, trajectory scaling methods are implemented, allowing agents to flexibly adapt to varying task complexities, thus enhancing robustness and performance in real-world scenarios. + +### Action Space Awareness and Strategic Exploration +Agents are equipped with action-space awareness, employing systematic exploration strategies designed to navigate complex action spaces effectively, ultimately maximizing expected rewards. + +### Integration with RL Tuning Frameworks +We integrate insights and methodologies from leading RL tuning frameworks, including: + +- **Verl** +- **TinyZero** +- **OpenR1** +- **Trlx** + +Through these frameworks, agents can effectively balance exploration and exploitation, optimize reasoning processes, and adapt dynamically to novel environments. + +In summary, our method systematically integrates advanced reasoning paradigms, diverse rollout strategies, sophisticated reward modeling, and robust RL frameworks, significantly advancing the capability and adaptability of reasoning-enhanced LLM agents. + + # Related Work ## Agent tuning From 1b63f802fe7396083ceff72279b83e7cf0daaed2 Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Sat, 8 Mar 2025 16:51:53 -0600 Subject: [PATCH 14/48] Update Readme.md --- Readme.md | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/Readme.md b/Readme.md index 59366cf5..c8d1d71b 100644 --- a/Readme.md +++ b/Readme.md @@ -82,18 +82,6 @@ We specifically analyze and compare several reasoning output formats, notably: These formats are rigorously compared to derive the most effective reasoning representation for various tasks. -### Extensive Environment Benchmarks -We validate our methods comprehensively using diverse and challenging agent benchmarks, including: - -- [AgentBench](https://arxiv.org/abs/2308.03688) -- [GAIA](https://arxiv.org/abs/2311.12983) -- [WebShop](https://arxiv.org/abs/2207.01206) -- [OSWorld](https://os-world.github.io/) -- [AndroidWorld](https://openreview.net/forum?id=il5yUQsrjC) -- [TheAgentCompany](https://github.com/OpenBMB/AgentVerse) - -This extensive benchmark suite ensures comprehensive evaluation of reasoning capabilities and generalizability across diverse real-world and simulated scenarios. - ### Post-Training Strategies We investigate multiple post-training methodologies to fine-tune agent reasoning effectively: From c7f39fc2405df0c6f60f27328b464a60de371ef0 Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Sat, 8 Mar 2025 17:22:08 -0600 Subject: [PATCH 15/48] Add files via upload --- assets/openmanus-roadmap.png | Bin 0 -> 66546 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/openmanus-roadmap.png diff --git a/assets/openmanus-roadmap.png b/assets/openmanus-roadmap.png new file mode 100644 index 0000000000000000000000000000000000000000..e23bfbe51af36ab9dd0f80a04e502a822cacb83b GIT binary patch literal 66546 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%0DoBz0{C(q{9TNCA`o5gdr`w;Q5sHeih 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 MPup0lS_2dLKMbbHssI20 literal 0 HcmV?d00001 From 2c2b8e1e5cebcfa693f280569f8215dfa7a0f61b Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Sat, 8 Mar 2025 17:22:52 -0600 Subject: [PATCH 16/48] Update Readme.md --- Readme.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Readme.md b/Readme.md index c8d1d71b..ae42dd70 100644 --- a/Readme.md +++ b/Readme.md @@ -52,6 +52,14 @@ Provide an RL fine-tuning approach for customizing the agent’s behavior in our 4. Test on Agent Benchmarks Evaluate our framework on agentic benchmark such as Webshop, GAIA, OSWorld, AgentBench + + +
+
+ marble +
+
+ ## Method Our method proposes an advanced reinforcement learning (RL)-based agent tuning framework designed to significantly enhance reasoning and decision-making capabilities of large language models (LLMs). Drawing inspiration from RAGEN's Reasoning-Interaction Chain Optimization (RICO), our approach further explores novel algorithmic structures, diverse reasoning paradigms, sophisticated reward strategies, and extensive benchmark environments. From eb08e2f8901cae347bcf33f4faeae762f10ea6f8 Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Sat, 8 Mar 2025 17:36:39 -0600 Subject: [PATCH 17/48] Add files via upload --- assets/method_overview.png | Bin 0 -> 93286 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/method_overview.png diff --git a/assets/method_overview.png b/assets/method_overview.png new file mode 100644 index 0000000000000000000000000000000000000000..61a01480d5e7e50e396b4878f5af50cce9dc61cf GIT binary patch literal 93286 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

y!9};owoGD4WHlr$T@xq0`nhA73+@ zN+%WLy{0T{4CcVpF5B_iIuhmJbWH8}R&Cap8R2PMu&HhcxyKGl z>PtgJr?UtFEMtTR{|zqP@vlWltxb2Q=Nek17S9e70miw=)Pj0pQ8BOu~ z3gj9{xH{geT{(X+&-MqA#A31B=u6*9+#=>c_hmHo}8-yC*sv z1+>X;y;kIFCft9_>H;w%=E^5GCbO5r$;`4AiYEyoZMpQQ3pFNk@aVY^{6|sZl3lWJ zPMs$UJ%EV3~nj6&A`4UNFU&VyZQ);*@Ldza37*JbxA!0mJ z(b%5O)5t8gbbN-1Vzrg&`J5~q!rz}vT+(Ubf+ZqMV(aU6_IIlO-Vw{e_NRegsdUqsUDuIqHLIBPWjg(4z=kx@(!>IaaDka}We^fxM8CxuW zS-|bX9O)~EzK*B%5o$FxFS$Jm#NIskdJHBr1Xvd|N0q1Apx5E#kiDw>+_J%ko3jcb zZ{&FGB3LAX9KJ9sVlkdfXB9yMBQ478_sa=WG1Rx*ML`)c?u}>-jm0=ZW=oMsPO5A4 zd$6__YNpF+r32Kd-^7T3f8h;{DKHiNfhQjZ5rY@8P-G&D?B@ke_~vC=KBTA{TlG!J z3izIT!A2N$E;KyQV)%D|`5&=DB7D2jFELC-Xk1W{_-~#%*j`W6X3KcM6IM!rpH2_L zf?Rd!e~S@{A*ue12h$ng33jR=LP(?%22G+#gl{ww5{DVI*hF!$)w;K=KTOu3~!E7UfCP^cKwt2D>Zi0UzH_gH) z6aNk%av|TN!s+6Dp}~S>5io@6g7{JP;Gh0q&&4gI{|;Rg2~QX)M^6nS{rIK7_+OEq67MHoBzpO^?5dZ<@kJs}OZ>xMTi&b-Aa{h0 zvCyo5IbIdTdF!j=PSM3z5I`AZ&bhH?HRTJr}GIb|U;a%oh+r z$_$+Z;=>@7%B;<(2*K&!m@_TG0+P@q>HAR4UKe@>G}{Qg>7JCZf7a^Pq{f?d{cj^ zNEH3^-kFX1-C!`pO$TCA#N{a{^nwf9PL!2O)R0GRadepZHTm%^exJ)o45X-7lNC{q zPYYHjyD!>M33m3l$V5pP^js4LhT<7pfI=^aC%jzYD? zLm{U_brj<9kWf4xKNuD>3`cZVJd9{F!x;3_TW(lVU6DOvHKmD`4nEeeRY+Z)Jn@}5MfT3Vq=jg_#S4W&WEtmdPf|>h&0LWO>tEzxL2hoUbADC)^*^n8jhK4d}sd^0qYPv0%%6 z7yz;$Racv&NLVj}nuAzDBI9Mbft4pz)JON~V9IJ*AVeWhorgz>ssN(-I@_8Xz$;&i zXBi14EXHZ&!0z05du+jLO7CA7%}4Rq@+IG}!Pg7Eq@q41j(?FPoX*dhuCI7DW~LiJ zmPHso{z!q>)CLBjzf?_0EEuVL$lQCoLI{3}ehoFl_l;Lu^b51i;hGEP zusmaxBG>)`vAl0d3l1jLptGwPf4ZiKXTsK`{>Kb1z1Z+~!bzs6!LoCyl#mdV0H+-T z(R=&|Fms9Ui$4>=p?Bgj_KoD(&?I?~ipVCTkwpO#|3A%Z!9gvqMe~CT6)!bgz)^xs#CR}e-g|B*r zppglhtLMz({1XAJ=w?*RncI9fRl?`cBeD8H zk0q{Y34N2%(BdnijsPc)o0Z-4M?o;CRV+8pgr)^5-gvx;(}JtKQ-c+9Qqs_x$$y(| z-poJ5pXruV1yDViut|eO-IPfK9d8D3+D)}WibSmPKaRzNrJYGct?g`~%J`sQ!8Z`&0bp`nq#A z@7=E+4g{?2$jy*wV^GvHS`QFaR#UBtk|0z8YD$RW~rRXTv9KI z!rSyWIHrV7lhsEftCFegc{;|Pcl*vx785vk!52V zn3&k$HzvF?*rq+(QpJW(w=Tn~3>ZS*x0+{zcw_o&vz<*wEJQV}pqPjo@6Rbg1nwnFhiYbv(P%HE*e^OM zVe;i8ty5}vuXeSIN=kHmJCA&OV&!smbjCEhsW!*t^mCb@03lLh#ow*QY*+76|KfE8 zd;`1n61z^D6ON22TlXPOU5&*VEu4^R=#9(I_0kKDEw)55tX=s)dWjG z5oBK;Lbrwz@=WIA>Gih@sx?o*f_k0v|7!V-*9C=PexU2cISK2fp73h)9lOmh$h58I z7juhL4sY7*ApR(w73zBu+-oukc~YblcpLlk={K_3JOm1&*+#?P88oj#5LVhf@LKpS zvTr<@Gds}R5iVYh0`$Um&b9vM<#TtGLl~DP3tq2Vh&#&V6OZ>l{dRY<9Fhy(WE8vC zuhf@7r&b2)uFV2RObhF+S2DG*MK!gTbb$LQ0Y;HXj3D}QHoOvZiKD#rd=mi@CN+Bt zB(dT$0sE1C{l}T7Ul+Mw_m2<=#s#aqmNz_$Ry)ajgJni_tVdqVnhIN!VsyP>L9bZo zi=Ew*76II{!8Wc;s6Qt2Z@!`b}Q^^Mbap8UuO_{U8_G!usJZDbuc`YA3I}{{0-p&qA z{cVeCR?3RXhs-5bC!xmi_V8f^55!4vFSOMni6@_kUi-K+ZB}vQ@Y+17yk724FVgQU zs(E^q5BZ+*#2%q_=(oDjB#;%Lpe6*xzo7O5nCSPFMybdo>)$UzU%5F_nKjCCWLrgJ zS=R3db)se6ZYk45Z1wi7w<}e6GB^gJ|KMWP1@}`jvizbLuSPglB4kc(t;?&qn{?Gwqw#B019Mb$@A}yig^7o)TRLro*WBZU#g7=t> zTt1Um|Mt$&0`$`4KLHqS1FB2qEzN~OnDJ`2O6f{9-Mv63 z318g-&-aYA4p@!K<-XQ!vXs>__qlk;_o)XIFUr%>GGq>qdH9bxLNHuRN!>SSM>X4H zcklKDo<3iO&-M8>yDDq{Pt-geQ#a2tf|Ndfl|a;^A?4RC-Z^0}?dWIPu}+Nlzv(ew zw;W{iJqGbsLZe%yxCJ|!ncg-N95VwdWg!$Z_vCA7ZIxg`W0VYNc@dLZ?t^`cZ!uLA zMr>eV|HG^8yg;)o|DEKHuj{Xky!UA@-s$t=1cl>F=DQc{=R!P*^kt9GW{TF!S6Q~0 z=7~!_X%v{$c-GbkAjtO5|MuqXSbbbFs?(o~QMcwo^@!`keP~(&0%el1gX_n$z6xLA zB{Wa^8|!4*J$h7$_9+x5VgSC25oQbezzlp+t9DwDbh5a!&q@A?|Dyx3F1d2RQHYFL zvxNZQkBJWC(Qc#}$NFv)?n zvY6PXl;;Ey->k(i7hM3*hD(cbKqI8h1o`RDEoW)`8D4>}m&09H!}a!O*yGm<1=91F znjDUi#NUNnFX8Sa6ap@4p3`Tt@f1fMM&v&^@q|&46up`hUw=`py=9dzyKTB`e={v_ z@->mPWK^#|7u4w7CG$;B^6ryu@^ig8Cn0pY#K}mJjoU?W%3v_lOKy(o$~bZu-wjKqe1N}p zvSUbLmjmc1o8EnhXj{sw5#~tZCNPi5-Q)U;n{z|R018-DTgbxyYu@BDTS7U{UT%!; zb;j}qOwo0d@;N`-CUO=z4r))WaU~%Q;qR^8E7;=er5*YF<)LT1$&qQ=elOzu>p`Ab z$j;pLHy9LBkUYngO$<0_^pe=zK~gw;>8bpzhYs~9%HPc~Pp&HN`*^Kj@Wo!}kz=x` z;4ZO4Y^TADDZ>-pMTo?*<@R{#rtoctIi=QgRrI9uB9(Y;A^yn&!X5y%<7LXT^wRP>``ns`bQ0LRL zrPmj)zrfGL@hgZkpxVJkZ=PO#D4l8L$<{lQ=m`I+xL1PteW4h`d$k5n4 z6C>p3(_P{>?9FB`RjU*U=cQ*-BE#{9Bf2+DH`h1Or32pEAw_%>v#54`die5@j7&go z)eRSuC9Ts5@T)s~Iy^DL13aE>Ot#1jrc)tX@_a-cn2zq(_$Y#!7@SJseQ;-pI?3*_ z4lkQgC&8-p!t;=sarS4h!9%-dryEc4m@ZL^lhg?Jt>PyJf7`?ElbM(7W)nwwsW)L|qn988KGxO;e_;Z<{Lu@oEARIbK#2hN`1l4bCU*Ma)VoVXn3qHLi!8$YFrI!ICMn$gS(I@e)UwM5{UR*&4?gSywWl z0GV(1pZEEUi|7HisGhuBGoT$l@j-jwc&z1%GNJANs_mKkWMw$t_cRpxo+cI7mDfq9^k_ftnmhx!==h#~ZfFa8^?F}QI`9lM%pDy~# zDhD}aeeqtD`1HW|MfW8AiCOqMDtb!vWjd1Z;^L^xY1`>^V0{qBd}Uv7$%;xk)WI zwr|rEwT))Bm7l=>M9%?p|FIv}%uK*Y!VxQKvL4L1J;mnBJJbG*mL0~~fHb3|&SOk$ z^!ogpDD;5=$UgA#epMp(zE7}#kK~~E;3eP|LhH1Pr!ewVNTUUCE8gNu7h2unvpJPs z8}p=@G*Yn`AzZEHHQY+_p`Wn+kS)l*O|)5jZr!08G#VEz=!sR6Zne^(z9Gc6F1-tp z5EJD(JPKF+Xwail=pEx36JeIBnfuq^gbkJ9#^+GbKjWai1fwIC|FuEtV3EV)-IY=4 zbHg=nh!*wd@=O|Fuo5V@?gWrXCWSaeV`p*F%gN7iE}|o0Rd{|fNbsGeU+n88NP=1| z5dou~3@nX4w(<4ri@XPHq4SFGcC-@)m=np7KXM#?%tyZVr*FPDW$1Nwm!`(gCirp1 z&wlVoIR~X#zMSwN;bW>6)v)OD-*khP&sWbkW7E354_M?TRjGnOJogGyVW|aqoSNG@%$Y^a&jEx(_}0-jt{Lj|FpL_|83&#uX<8ZqDu z-{>ZdYba4St|L1U;)(aU5jNr$<3rJ+8gzK!z@s+zTi2RLH|nFlr|D|>yX_J=EY9l2 zy&Qj&k@Fmv{?n6YrH**U;&jWWns3Xw-bM-HjwwFMqMA_HlbPZv-mLCZswr9-Xj1FQ zWK)P3nD*I9jo8_mKXY*mA|%YbpO|G4bLwPVO0}cy(B^B*%YkQx{Co@*Nydz-QzuK(!M9+dhBeD=>amDINcZm3@=bP1m=~d-B+C15zg2SBC!Ph6(=gtv6QrG8S$ASgMj?*kn z<(DRCJjwWUaJEyE&!&3$8owg>ZB8qi771+UMP`1D2B$qlk^1TTi^UaPr$Y&)hye`- z^#?TyW;u&SmB;hd9TaQ?8#jeD{ry5y5LffU%~a!S*?xlb1Dg9n(P{7Xg$fvjEyH_% zmVbEb(SpDt(a1AUI&y3>ZJYh*<&&1P}K4kGlO3%@k`D=xYyar zoiJFaznf*P(hYuf4p`2Ti@WIA;?0hAxR}n;(iN*$kL4YQRPx!k`mGvqciSq zhkkgNOo!a~5JwDy-)V8uw(tF@Hn1NKRhvF*iEIuCB|I^UPn&CIh!fD ze0fbQI=b(Q3HcU(#(`MGuq!Mqk@FZ&dTW00vx9BrN_sguOHUAIU9)k5QSUu$e&9em4Zj>NV)W`*w=n+EkafhISE|hF*NA^a?yU` z9q#(m@a;_E1$TU*0hvrYL2GUGMt`B9V~>Fl2IXzbMlEg6Q}Sc_iToNSad8@2D$kao zkVi!43$Qi<+Ls`MpTVbOjY7zyAmU`DwGh0hhI~$d`pPZFZ!-5GMgRs%dRj^)P!B6D zh}@P3vAP$z+v%yRWx^67|ln`H-iVfI<101Od(qVtt3w@C!uCZP(@MlXxX2D19@ zc)fy%6R!4iTkU+of+Q08TtYMzMHDZFpVZfh3;l{zHh(&c?ig6e?Hg?e1XDTYQ3OuQ z<7CA))zY1r%5Q2^1lGpaLr^Ez&0qF;K(Bon>bc47J^TK!)|5MfUIL9VN(Mwm+Qpnz z>F!YCd|gkvUi@C8lxf_}A&6?P(7d(o2CnZB{gVxy5U3)lKUu2$`SQelWw?mv0T)kZ zZG^*p&zF62^h0Owc+z+7=IA$+Ks6q=i6yP;Bu1K&<9F<$>_jV|Dtss9%qPmInOSEc*N{76kpXc4d@t|)hokUGj zJ7L$e`Q{0x*SPCRNZJp5$Z_hv5Ng3kBs=gXXA?fLH%0Nv!r(H$& zoX5+&X%`Fl?-D>FFc7Jk-y*mw( zO-jl^BU^?YvG=aEY_l-(=$2cyg)j1!+5AwZ9Lad?!c8MAXJHR3-T$egHM&5=`@&~k&BM5 ze}SQ$qb1+>MZ3GV7Hlq|u=Uf^Il9`!h~}Obse9T`Yhfv0kzo}<#!C;`L~@shIYzKK z-t_DD#&_eT83`C+4VCAI0nCiD(yT4{4rO!7xV^8`#B#j^9lql>ygK||1h`^BiUTqb zE^Sv|1&m)YvRpz1FuFRifIz)>9HHoq{$2@{so>FdhT-WrC09&uYd)KfEcjlUPctW6 zGQgrqCBI9}k;EXUEOY8bv9iAvC}t)vsfc=)^VVr@`r%P`gGh_-N-LLi;2W$tm)vsi z?rf{G)WdgXlr53u+RBInBS#t$pDUgi>sfDAcxevAc!bfz#Oy*XRaJzzzU_%#_0{&A;%+a%r}#zaO=oJG4Y5Qq?$2B{FXkYM=l8$@ut=Y3g|cd-!xOe2{XfR zEgZl9Yq|zQaVA;%E32JutsIZi-IG4uC1x1W2GblJMw!+-$(R?L$qneM_k{6@u;Dw@L(x85J?e;93!9XR7@);id4EzMKuD z!oRc88QXw zEYP0a*%vvV5oSETduZXUIkYI~Wj3Q$*)OHDLCUTYUxc}0nV>6F9aSWsczLw%2{X|M;} z^*X2GTi>fti&B<%-S2YROuhiABFqs?iYv)+J~Wk0 z$Gv(jbciIzb6h;}m$?sau4z)Z1q6!(V|z98+g=k9Nm!)A5!k(7%*(jX7mQ60F7ad) zv9Omk?WZc0-vb07dZ&$D92m3E&U@P%c~Z5fVR_2x4&F>$b5~me5?{jcLVFjLXm%JM z?_+y>WLdV=YSqk(zP65gZCgtAP++jx`gbY`;PbFzb3fp=O9$1kD7k(ff2;`ae|6Kg zTna1;YE_$f)`wJfVhwh*c+pqzq67Y;BC#amNpHKdB#o31)Gl? z-Jp2lQ&P@Qf3hz2{BToh?2v-u&o|FNa?z-I$(SYvF4sMAH1B~V*_B*M7<(@hCyCeT zw#4a+bE%PS=6G1#K$e}&pKp!Q0?PAeUOMa*EHKDVY?Dur0!v`4%CT(53btre=Sd2u zP1g`rm$5|U39_eAVauZfI@beAIQQhR4lLd~4q~^|(8XMx{BL-zprD9;lwJM_2H2UZgBc8M86<0_*^+c=WyzAd!f~)Cd z+emdGzWoi6AAa~imfJH5aOvk$2)7$KxuZS){I>MrY?{KQ2vY!Ysi$ z4=UZXcH;PH91~hk2Lkm+r2LYXy-`EGDczyA!4LdTihf@6rn!k;L6J_Z+kdk3WMQ%w zAab#5-726IfTC|5BSfu8O3DuiA9non@n zVl~m`(pBZfg7>GfxdkE|pe~6A@kdtjpap9@Yu89N1|fx$Nzn*@dZXsJejG1qB8TUB zMNKT2v+ZgDS_I3{x9rhKyEToL)%w1nm9oO8NwU=jLK^hmJy8#~nk*787W)6%3 zdua_1Xn`e*9nCfdq2On`b^B0|Mu1dGvpt;1CgGM4KCjFv5wRD6(raY~HM%4n z<7n^jJGXPLJ&h602{OTAF<}5g4V=~ix8;Iqsx?yOO5uy6WE`1uTl% zXHcYd*R_Ur*s-;+I$B)|BWDWy09I(J?d39mgQ=B-@Tp&SQcT3=NWaRd-0#=?jO;m4 zHZL9Hqp~J`p;Yg1qL{GZK$rVymulrff3Jet^QDcc&|zCQ)yUFEe%$`U z_cFIVO|GUOO8Ff;I@fC_wIvMu<e?sdYE~N6Y@FJL;_d+IV zKN37td!}PuZhl?3$e?;B+(oq9GWa5dwydNt7RyeK>KQ?DL`Zj)Y`DwHr+SKs4~BEL z3a>I{9wjm2?oZh&?aCYKPt{Sn6Opl^!GOsZ4Cvqla!_m}g@}~N$;r*Ft)^st^ZIc? z*E6%TmG9KzzWdT`Wft>7MPr-f1RJ`n7q9tD(I;w7t}Lf(GWvcVDti!Apgr_KjK^?K zp;!LP){iUz8a`VWtyWl|fe9{jrDbzv-1A44mX4Hry)-t6x#@a0f_5wX)U(`T3N>@W z67!f|!h_5`Z4VXRC<87DnVknhYsIj<;-L-%bzm591&mPZril`qP?b}=1fTJGNlD4K zuArOPnH6M3?E?uvoR5a`J1Y06M6ld#;^k6@IQV_n_2w=ZaS}_$5g??&51u2N>wNt< ztZ{aXS)s?2JfWYzIp=fzVQno4k!zQeh+jmX-s=R^c!t>yDO@tJ)Rnvz2 z6`Ln#L;`HrWjWjDHg#5!`e=cl=no0EW?NA&C{cXy&p2d0c5+^aVwLcR*GS|Kq-R_3 zdWXO4(mvN?azsc!?RUB2GT#wQ8He4$`8DGJ6%6lw2=cg#elCT04@= z?-P`}QbHTE6rO(bqcC{ssqnEY5C2P@Zr5^}a0MnRJi1XB=xg*Iq%FyZ=!uEgjQG+t zZtaWPCdejhx6ASzP}4$~B9Je$hq(9clb_}8+5k;S92qlU14Sx*IJ&fcho*k-YIOG! zhKQ!z>6n%H$h%az_ zadP#ayvbCWC;w)3O7h$|HB>N>#=|`C^3IvrC%M>jS?sVA|9@9$2_ORx79P~oe?1>0&A=W=Nt z`>QR)0mdp=(vo(V7QW0J|Ipk9w(^oRB<|3;i+&J2dg--BQ2Y-o)sqi)n2BACWXk|JC?9vTG0Asnu-u;yDLlLYdw~Da+%6M(Mx3poB_X? z5&N)v9^2?$Pd0+D^FHX7vRJ5dXTVM~OKhAuX-O8d4~;l$xlcZ?8mzN2P^cf?v5$)+ zyuAei-YxQLhut`T=+1qtb> zZzPM^Y2JE5j`219)b6yv5Dv-dBx4E!OACcb2i@A%rxt4=`k~}-9wJ6@eW9v1ZBCa0X#`LZM-cRzU?!=Kgymj|Ni0m z$*q>FfG5EG>cv>xyENwfXnV5jGkzBf3B3}?#7tjFQcu!6|jZJ-wQ4|^xjIm z>Hb@QPKlW9#R$FY+`#RG>%jQCP*bG&LI_bIV@w%X?OQA+aCkqgN~^&qHd%_W58e^q zgf|t7?X2)R!rR7tG=RVbRsQL_4e{IZZ~OQ^U8!0Y7C>OO(>2)6PKRI0AtU48=>_KV zw%1=|W?B83{N%KZIIT{OB&?u(6H!9|R^l)hY_FyvD3maB>E5S~C*&M*~%&uYww!u0rkiMMIq zRXlFptMF&={L1xA`&J?!Qj7x`S&byVd1zA;8hY^Qh7-M6B9p5;Tg63l@y7IEYOd4< zi|!Wkc%e5et)t&Q7@VW>#GO_Ux}-w`84D7E#qiCemy2kjVpK@9vwhg$9z5gw>m2C2 z+g9#Md<-UF8A^WVl15JjhyT;CxP+L$(K=~bEd70N1ew}<=69%z4ECa*H@J-BF7d#; z>y10;|DVrZsc$XpRAhPJM+;$My?4deVSXEZkR@1}XIIV*mZK2l&OKTd^fm`;#3jFJ z?p^42tleJyBF_0v787)Ej+01QCS0ytEPx8hNPoYDR0r~Wj)UvHAKkK%H-}K?ezJR2 z3OIW?fnhIVQtQHew=oS|3DqtOhW{5_lmjxzuga5PfQ0K>TnN{*D}(g%r)H!ufc2l6 znc=ET)#+NVQhekFX{w`|LStlLm8MgItRJpVZp%>~mGxuF%Gbr!tGb;u-bEH0gI7G!QGxI@OwRPmZHtuBR| z-6#~oVi=GZObj7(s;z!T=;qAmLTYboXkyPdo@PD5;M+u}n0{M5qSzclja4LOal#c? zt=D3%6Ces)gQ4@8dd;;%%$R0`EJ-hXAoQX8fxGR=5T!BZ}z~b@zvY z4apo`gt*+0zz670WnX2!{1qQSe@z-LT;MqyNpx25D?WacC+g5YShD_Ii~!V~oCH2s zR|mR*loR*?1W-yn|MCSuHZ?24^m0ehLfG1LV9Wx1Y!$-Ruf+KwdqrG|0~V@J$L$}A zKtTyWS5H!eu+^Y`grMBQIJjjF5TIQk=!LAjL+G+)d&uC)(~VsP4Nyavwkfw<2^yJ6 z9@Idp2m&-){X2=+J`_^=&+p&bcu6VwR7h)SM)l$~^uv3v26TX6P|@07zW z7-A0;qX8M~rd&SoAOspQA+(8b%D^TJg>h%7ptBI_qsJpgiGLkkik%gVTOhD1rW-WR z5@Uz`FC#!f23Z6MLz&403=mT5i6>zyGE{-a%5JvpKpqXKm|}-nq1!VjWebifGL7M1 zx*fpg@o_=@LKPA%h$~Q~vKJ3tw4@zq%uFR>F%GiQDZpa&V2;c4$iPcuWXmZb*BSD% zOm(0^K~7>Q3}ourJ>4<@D{~Yy){;ok2dM*8BY|uy+Fej44pOEJfXXiEsh3pOonF1~n^7mGzU-mlkYGA;rP<`W(_xdqh+sRtq8 zbP7!>A7a~Mbys|$Jg;Ih93R*b!)-oid!0Tc3&mS9TJFIa%km)Cn~NU=ib9cu#$X(L zU}jAe&$xg*!5)Lo!_EDDL{!xEwg}3d?_{Yb$bKnM`lMdQ`c$WyI6vZd5dQMu^b<*j zXSvrz-#?*eESqb;Ab~Guj^L6EauFzq0+?(QcG1MkolininkyKZ|G30}Qkw2h0l2FQ zDj6AGX4XqEAyP{V&g0PBi^EQV+)g7{xb+1heN4amZ^U1q)erMPy91mIGRA$8?d^147 z_P~V|P1^&bu)M;mnf336xcJY4jbHXP4!-3Dp0J;K=`*0fZlFM&SNA@sLZX|3Ko4Ov zLyMH>bDrx9iHN&uCrq}9yE-DShvXCQhc^PHk6d%ykm!dsgN{q%+5F>Y2IP;di{;Zr zrc6%|%bUk16tc9g6FAHtTs_>@mcvSZQ=4lvR2@#fqe*wQY?^?}lrBd#ls(@gsC(vx zzxAs=pg z!7h1V2uINYf|MB=LllU+Z<{#4+5gTLYfyA7Zu5=iFxS&6)Y4N%ttzxfLq6^o@(8Y@ zmDz@A=BM9hgu&x^#N7*#vGdwRTP^V^x19HvKmr=hxj}H(4P{BY@&}38=p`AGFD67Q zo|nCq^4#+8b4(JT{v0%5a&6;o6)*zRw$NS%X7e)C#0cZ0FU;4HucceJx>okB4+A2Y z+Yfx6yYy~uRx2id#&3&U3p5bDZ9ag1J^g-_RL0KvnNN$_L*+#HlrMhCh0kJKx!I!~ zjEgTIHz@rFYj^msT8o=b>r2l_JCXnd8y(C_gMV_}Kzl!QhGnled~Pue#!^+%2u@c# zod6&j^nPz8Xs?%&L1nXfR#eah4vr2xTZj98xh|@7$jv3>4!d@a!1KC92EHYJ?5Nb6 z2UMXlTsOP)-%y_Nu1ThSWu9;J-z_cKzEg%X(}ZH{NMoywM}T6Nn0vMeaPRcaJs7I3 zr#0r+qLanOc83T%Ya|;*AlwpJnUaHW0{UF)r=mtPkq{0!~)LRoFCR!YO?9lu;+{C zZK&;|9CL111-V0Xcbc03)eEA$CW1*)J0`qQeqgC+*)r8G4+lr0{@&XKE(a_`tMi4z z-`}VK^2kd zohUB-avg~y)ew-gC3_1djk~?r%aO!})GrLX>()LVS=(Q=`gG#+9MVo#;_Cz4K#oIm z74e1*C|f|-XK|KWyZ2Q(ISX1Xgf9!-D#|XG2R#~pHv>UJ#vtJxm$K>^sZDe6==yvd z&O1Di4)4hQYQq@$!xMepB}c@0R+j9B=l!dnsDp(aC%bBIzN>eXZLsqd5C5-LKLAsL zK=TU-P1GH$SrXAoL&Tpx3R)WR1Q5H`S&$o=}RD<$pt zknnr^VI5F}5UFe4!(ws|=x;dgmOOZ80z@u}G#*mLqgyP1hODr^0`KiL1Uhw_$G`!A zM%)kLY*M#k$A@I#{Rn1TMl|Bk41nBvc%Kd zEFRcUpA2Y0xCZ~m(MtH7ebVDZpnsma+B;Hp(l5J! z(9u5rU!%ek{~Ib#-__|CLH`>on;FP)T_U_GFg25d%V|JbCVZLH^mZmW8#ngu!W Date: Sat, 8 Mar 2025 17:37:09 -0600 Subject: [PATCH 18/48] Update Readme.md --- Readme.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Readme.md b/Readme.md index ae42dd70..c1cc866b 100644 --- a/Readme.md +++ b/Readme.md @@ -122,6 +122,11 @@ Through these frameworks, agents can effectively balance exploration and exploit In summary, our method systematically integrates advanced reasoning paradigms, diverse rollout strategies, sophisticated reward modeling, and robust RL frameworks, significantly advancing the capability and adaptability of reasoning-enhanced LLM agents. +
+
+ marble +
+
# Related Work From 240b0ad6951f184ae2bbaab6849e17bc685aa67b Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Sat, 8 Mar 2025 19:10:59 -0600 Subject: [PATCH 19/48] Update Readme.md --- Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Readme.md b/Readme.md index c1cc866b..deb95ebe 100644 --- a/Readme.md +++ b/Readme.md @@ -26,7 +26,7 @@ Code and dataset coming soon! Stay tuned! ## Current Team Members -[@Kunlun_Zhu](https://github.com/Kunlun-Zhu)(Ulab-UIUC), [@jiayi_Zhang](https://github.com/didiforgithub)(MetaGPT), [@Xiangxin_Zhou](https://github.com/zhouxiangxin1998), [@Yingxuan_Yang](https://github.com/zoe-yyx), [@Jiawei_Zhang](https://github.com/CharlieDreemur), [@Muxin_Tian](https://github.com/realtmxi), [@Haofei_Yu](https://github.com/lwaekfjlk)(Ulab-UIUC) +[@Kunlun Zhu](https://github.com/Kunlun-Zhu)(Ulab-UIUC), [@jiayi Zhang](https://github.com/didiforgithub)(MetaGPT), [@Xiangxin Zhou](https://github.com/zhouxiangxin1998), [@Yanfei Zhang](https://github.com/yanfei-zhang-95), [@Yingxuan Yang](https://github.com/zoe-yyx), [@Jiawei Zhang](https://github.com/CharlieDreemur), [@Muxin Tian](https://github.com/realtmxi), [@Haofei Yu](https://github.com/lwaekfjlk)(Ulab-UIUC) --- From 4baa5f48e9d97395f0f673a080eb6fa192bfa6f4 Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Sat, 8 Mar 2025 20:37:49 -0600 Subject: [PATCH 20/48] Update Readme.md --- Readme.md | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/Readme.md b/Readme.md index deb95ebe..c49967d5 100644 --- a/Readme.md +++ b/Readme.md @@ -11,6 +11,33 @@ We warmly welcome contributions from the broader community—join us in pushing Code and dataset coming soon! Stay tuned! +## 📖 Table of Contents + +- [OpenManus-RL](#openmanus-rl) + - [🔔 News](#-news) + - [Current Team Members](#current-team-members) + - [How to Contribute](#how-to-contribute) + - [Roadmap](#roadmap) + - [Method](#method) + - [Reasoning Models Exploration](#reasoning-models-exploration) + - [Alternative Rollout Strategies](#alternative-rollout-strategies) + - [Environment and Benchmark](#environment-and-benchmark) + - [Post-Training Strategies](#post-training-strategies) + - [Training of Agent Reward Model](#training-of-agent-reward-model) + - [Test-time Scaling of Trajectories](#test-time-scaling-of-trajectories) + - [Action Space Awareness and Strategic Exploration](#action-space-awareness-and-strategic-exploration) + - [Integration with RL Tuning Frameworks](#integration-with-rl-tuning-frameworks) +- [Related Work](#related-work) + - [Agent tuning](#agent-tuning) + - [Tool using](#tool-using) + - [Agent tuning instruction dataset](#agent-tuning-instruction-dataset) + - [RL tuning](#rl-tuning) + - [Benchmark](#benchmark) + - [Similar Code](#similar-code) +- [Acknowledgement](#acknowledgement) +- [Community Group](#community-group) +- [Citation](#citation) + ---
@@ -21,7 +48,7 @@ Code and dataset coming soon! Stay tuned! ## 🔔 News -- **[2025-03-08]** 🎉 We are collaboration with [@OpenManus](https://github.com/mannaandpoem/OpenManus) from Metagpt to work on this project together! +- **[2025-03-08]** 🎉 We are collaborating with [@OpenManus](https://github.com/mannaandpoem/OpenManus) from Metagpt to work on this project together! - **[2025-03-06]** 🥳 We(UIUC-Ulab) are announcing our live-streaming project, OpenManus-RL. @@ -194,3 +221,14 @@ Please cite the following paper if you find OpenManus helpful! url = {https://github.com/OpenManus/OpenManus-RL}, } ``` + +

+ + + + + Star History Chart + + +

+ From 04b2b0d1d57d48860d7f95e56cedfea5debd80b5 Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Sat, 8 Mar 2025 20:38:40 -0600 Subject: [PATCH 21/48] Update Readme.md --- Readme.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Readme.md b/Readme.md index c49967d5..e592e7ce 100644 --- a/Readme.md +++ b/Readme.md @@ -10,6 +10,11 @@ We warmly welcome contributions from the broader community—join us in pushing Code and dataset coming soon! Stay tuned! +
+
+ marble +
+
## 📖 Table of Contents @@ -40,11 +45,6 @@ Code and dataset coming soon! Stay tuned! --- -
-
- marble -
-
## 🔔 News From cab2eaf444c5a4ed6574703a9701a9186c77f9d5 Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Sat, 8 Mar 2025 21:44:47 -0600 Subject: [PATCH 22/48] update LICENSE and requirements --- .gitignore | 0 LICENSE | 201 +++++++++++++++++++++++++++++++++++++++++++++++ requirements.txt | 29 +++++++ 3 files changed, 230 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 requirements.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..e69de29b diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..261eeb9e --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..7de44c25 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,29 @@ +accelerate==1.4.0 +bitsandbytes>=0.43.0 +datasets>=3.2.0 +deepspeed==0.15.4 +distilabel[vllm,ray,openai]>=1.5.2 +e2b-code-interpreter>=1.0.5 +einops>=0.8.0 +flake8>=6.0.0 +hf_transfer>=0.1.4 +huggingface-hub[cli]>=0.19.2,<1.0 +isort>=5.12.0 +langdetect +latex2sympy2_extended>=1.0.6 +liger_kernel==0.5.3 +git+https://github.com/huggingface/lighteval.git@ed084813e0bd12d82a06d9f913291fdbee774905 +math-verify==0.5.2 +packaging>=23.0 +parameterized>=0.9.0 +peft>=0.14.0 +pytest +python-dotenv +ruff>=0.9.0 +safetensors>=0.3.3 +sentencepiece>=0.1.99 +torch==2.5.1 +transformers==4.49.0 +git+https://github.com/huggingface/trl.git@69ad852e5654a77f1695eb4c608906fe0c7e8624 +vllm==0.7.2 +wandb>=0.19.1 From d2b35922ce89b16b741859cee836018b8020c0ca Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Sat, 8 Mar 2025 22:23:31 -0600 Subject: [PATCH 23/48] update code for rl tunning --- Readme.md | 106 +++++++++ data/.gitkeep | 0 openmanus-rl/configs.py | 85 +++++++ openmanus-rl/grpo.py | 0 openmanus-rl/rewards.py | 515 ++++++++++++++++++++++++++++++++++++++++ openmanus-rl/sft.py | 178 ++++++++++++++ 6 files changed, 884 insertions(+) create mode 100644 data/.gitkeep create mode 100644 openmanus-rl/configs.py create mode 100644 openmanus-rl/grpo.py create mode 100644 openmanus-rl/rewards.py create mode 100644 openmanus-rl/sft.py diff --git a/Readme.md b/Readme.md index e592e7ce..865c5c24 100644 --- a/Readme.md +++ b/Readme.md @@ -32,6 +32,7 @@ Code and dataset coming soon! Stay tuned! - [Test-time Scaling of Trajectories](#test-time-scaling-of-trajectories) - [Action Space Awareness and Strategic Exploration](#action-space-awareness-and-strategic-exploration) - [Integration with RL Tuning Frameworks](#integration-with-rl-tuning-frameworks) +- [Running](#Running) - [Related Work](#related-work) - [Agent tuning](#agent-tuning) - [Tool using](#tool-using) @@ -155,6 +156,111 @@ In summary, our method systematically integrates advanced reasoning paradigms, d
+# Running + +## OpenManus-RL + +A simplified library for Supervised Fine-Tuning (SFT) and GRPO tunning of language models. (developed upon [Open-R1](https://github.com/huggingface/open-r1) from huggingface) + +## Installation + +First, create a conda environment and activate it: + +```bash +conda create -n openmanus-rl python=3.10 +conda activate openmanus-rl +``` + +Then, install the required dependencies: + + +```bash +pip install -r requirements.txt +``` + +Supervised Fine-Tuning (SFT) + +Basic Usage + +To fine-tune a model on a single GPU: + + +```bash +python -m openmanus_rl.sft \ + --model_name_or_path Qwen/Qwen2.5-1.5B-Instruct \ + --dataset_name HuggingFaceH4/Bespoke-Stratos-17k \ + --learning_rate 2.0e-5 \ + --num_train_epochs 1 \ + --packing \ + --max_seq_length 4096 \ + --per_device_train_batch_size 2 \ + --gradient_accumulation_steps 8 \ + --gradient_checkpointing \ + --bf16 \ + --logging_steps 5 \ + --output_dir data/sft-output +``` + +Distributed Training with Accelerate + +For multi-GPU training using Accelerate: + + +```bash +accelerate launch --config_file=configs/accelerate_configs/zero3.yaml openmanus_rl/sft.py \ + --model_name_or_path Qwen/Qwen2.5-1.5B-Instruct \ + --dataset_name HuggingFaceH4/Bespoke-Stratos-17k \ + --learning_rate 2.0e-5 \ + --num_train_epochs 1 \ + --packing \ + --max_seq_length 4096 \ + --per_device_train_batch_size 2 \ + --gradient_accumulation_steps 8 \ + --gradient_checkpointing \ + --bf16 \ + --logging_steps 5 \ + --output_dir data/sft-output +``` + +## Gradient-based Reinforcement for Policy Optimization (GRPO) for agent tunning +Basic Usage +To fine-tune a model using GRPO on a single GPU: + +```bash +python -m openmanus_rl.grpo \ + --model_name_or_path Qwen/Qwen2.5-1.5B-Instruct \ + --dataset_name HuggingFaceH4/Bespoke-Stratos-17k \ + --learning_rate 2.0e-5 \ + --num_train_epochs 1 \ + --max_seq_length 4096 \ + --per_device_train_batch_size 2 \ + --gradient_accumulation_steps 8 \ + --gradient_checkpointing \ + --bf16 \ + --reward_funcs accuracy format tag_count \ + --logging_steps 5 \ + --output_dir data/grpo-output +``` +Distributed Training with Accelerate +For multi-GPU training using Accelerate: + +```bash +accelerate launch --config_file=configs/accelerate_configs/zero3.yaml openmanus_rl/grpo.py \ + --model_name_or_path Qwen/Qwen2.5-1.5B-Instruct \ + --dataset_name HuggingFaceH4/Bespoke-Stratos-17k \ + --learning_rate 2.0e-5 \ + --num_train_epochs 1 \ + --max_seq_length 4096 \ + --per_device_train_batch_size 2 \ + --gradient_accumulation_steps 8 \ + --gradient_checkpointing \ + --bf16 \ + --reward_funcs accuracy format tag_count \ + --logging_steps 5 \ + --output_dir data/grpo-output +``` + + # Related Work ## Agent tuning diff --git a/data/.gitkeep b/data/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/openmanus-rl/configs.py b/openmanus-rl/configs.py new file mode 100644 index 00000000..98cd0d10 --- /dev/null +++ b/openmanus-rl/configs.py @@ -0,0 +1,85 @@ +# coding=utf-8 +# Copyright 2025 The HuggingFace Team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from dataclasses import dataclass, field +from typing import Optional + +import trl + + +# TODO: add the shared options with a mixin to reduce code duplication +@dataclass +class GRPOConfig(trl.GRPOConfig): + """ + args for callbacks, benchmarks etc + """ + + benchmarks: list[str] = field( + default_factory=lambda: [], metadata={"help": "The benchmarks to run after training."} + ) + callbacks: list[str] = field( + default_factory=lambda: [], metadata={"help": "The callbacks to run during training."} + ) + chat_template: Optional[str] = field(default=None, metadata={"help": "The chat template to use."}) + system_prompt: Optional[str] = field( + default=None, + metadata={"help": "The optional system prompt to use."}, + ) + hub_model_revision: Optional[str] = field( + default="main", metadata={"help": "The Hub model branch to push the model to."} + ) + overwrite_hub_revision: bool = field(default=False, metadata={"help": "Whether to overwrite the Hub revision."}) + push_to_hub_revision: bool = field(default=False, metadata={"help": "Whether to push to a Hub revision/branch."}) + wandb_entity: Optional[str] = field( + default=None, + metadata={"help": ("The entity to store runs under.")}, + ) + wandb_project: Optional[str] = field( + default=None, + metadata={"help": ("The project to store runs under.")}, + ) + + +@dataclass +class SFTConfig(trl.SFTConfig): + """ + args for callbacks, benchmarks etc + """ + + benchmarks: list[str] = field( + default_factory=lambda: [], metadata={"help": "The benchmarks to run after training."} + ) + callbacks: list[str] = field( + default_factory=lambda: [], metadata={"help": "The callbacks to run during training."} + ) + chat_template: Optional[str] = field(default=None, metadata={"help": "The chat template to use."}) + system_prompt: Optional[str] = field( + default=None, + metadata={"help": "The optional system prompt to use for benchmarking."}, + ) + hub_model_revision: Optional[str] = field( + default="main", + metadata={"help": "The Hub model branch to push the model to."}, + ) + overwrite_hub_revision: bool = field(default=False, metadata={"help": "Whether to overwrite the Hub revision."}) + push_to_hub_revision: bool = field(default=False, metadata={"help": "Whether to push to a Hub revision/branch."}) + wandb_entity: Optional[str] = field( + default=None, + metadata={"help": ("The entity to store runs under.")}, + ) + wandb_project: Optional[str] = field( + default=None, + metadata={"help": ("The project to store runs under.")}, + ) diff --git a/openmanus-rl/grpo.py b/openmanus-rl/grpo.py new file mode 100644 index 00000000..e69de29b diff --git a/openmanus-rl/rewards.py b/openmanus-rl/rewards.py new file mode 100644 index 00000000..f8fdfe76 --- /dev/null +++ b/openmanus-rl/rewards.py @@ -0,0 +1,515 @@ +# coding=utf-8 +# Copyright 2025 The HuggingFace Team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Reward functions for GRPO training.""" + +import asyncio +import json +import math +import re +from typing import Dict + +from latex2sympy2_extended import NormalizationConfig +from math_verify import LatexExtractionConfig, parse, verify + +from .utils import is_e2b_available + + +if is_e2b_available(): + from dotenv import load_dotenv + from e2b_code_interpreter import AsyncSandbox + + load_dotenv() + + +def accuracy_reward(completions, solution, **kwargs): + """Reward function that checks if the completion is the same as the ground truth.""" + contents = [completion[0]["content"] for completion in completions] + rewards = [] + for content, sol in zip(contents, solution): + gold_parsed = parse( + sol, + extraction_mode="first_match", + extraction_config=[LatexExtractionConfig()], + ) + if len(gold_parsed) != 0: + # We require the answer to be provided in correct latex (no malformed operators) + answer_parsed = parse( + content, + extraction_config=[ + LatexExtractionConfig( + normalization_config=NormalizationConfig( + nits=False, + malformed_operators=False, + basic_latex=True, + equations=True, + boxed="all", + units=True, + ), + # Ensures that boxed is tried first + boxed_match_priority=0, + try_extract_without_anchor=False, + ) + ], + extraction_mode="first_match", + ) + # Reward 1 if the content is the same as the ground truth, 0 otherwise + try: + reward = float(verify(answer_parsed, gold_parsed)) + except Exception as e: + print(f"verify failed: {e}, answer: {answer_parsed}, gold: {gold_parsed}") + reward = 0.0 + else: + # If the gold solution is not parseable, we reward 1 to skip this example + reward = 1.0 + print("Failed to parse gold solution: ", sol) + rewards.append(reward) + + return rewards + + +def format_reward(completions, **kwargs): + """Reward function that checks if the reasoning process is enclosed within and tags, while the final answer is enclosed within and tags.""" + pattern = r"^\n.*?\n\n\n.*?\n$" + completion_contents = [completion[0]["content"] for completion in completions] + matches = [re.match(pattern, content, re.DOTALL | re.MULTILINE) for content in completion_contents] + return [1.0 if match else 0.0 for match in matches] + + +def tag_count_reward(completions, **kwargs) -> list[float]: + """Reward function that checks if we produce the desired number of think and answer tags associated with `format_reward()`. + + Adapted from: https://gist.github.com/willccbb/4676755236bb08cab5f4e54a0475d6fb#file-grpo_demo-py-L90 + """ + + def count_tags(text: str) -> float: + count = 0.0 + if text.count("\n") == 1: + count += 0.25 + if text.count("\n\n") == 1: + count += 0.25 + if text.count("\n\n") == 1: + count += 0.25 + if text.count("\n") == 1: + count += 0.25 + return count + + contents = [completion[0]["content"] for completion in completions] + return [count_tags(c) for c in contents] + + +def reasoning_steps_reward(completions, **kwargs): + r"""Reward function that checks for clear step-by-step reasoning. + Regex pattern: + Step \d+: - matches "Step 1:", "Step 2:", etc. + ^\d+\. - matches numbered lists like "1.", "2.", etc. at start of line + \n- - matches bullet points with hyphens + \n\* - matches bullet points with asterisks + First,|Second,|Next,|Finally, - matches transition words + """ + pattern = r"(Step \d+:|^\d+\.|\n-|\n\*|First,|Second,|Next,|Finally,)" + completion_contents = [completion[0]["content"] for completion in completions] + matches = [len(re.findall(pattern, content)) for content in completion_contents] + + # Magic number 3 to encourage 3 steps and more, otherwise partial reward + return [min(1.0, count / 3) for count in matches] + + +def len_reward(completions: list[Dict[str, str]], solution: list[str], **kwargs) -> float: + """Compute length-based rewards to discourage overthinking and promote token efficiency. + + Taken from the Kimi 1.5 tech report: https://arxiv.org/abs/2501.12599 + + Args: + completions: List of model completions + solution: List of ground truth solutions + + Returns: + List of rewards where: + - For correct answers: reward = 0.5 - (len - min_len)/(max_len - min_len) + - For incorrect answers: reward = min(0, 0.5 - (len - min_len)/(max_len - min_len)) + """ + contents = [completion[0]["content"] for completion in completions] + + # First check correctness of answers + correctness = [] + for content, sol in zip(contents, solution): + gold_parsed = parse( + sol, + extraction_mode="first_match", + extraction_config=[LatexExtractionConfig()], + ) + if len(gold_parsed) == 0: + # Skip unparseable examples + correctness.append(True) # Treat as correct to avoid penalizing + print("Failed to parse gold solution: ", sol) + continue + + answer_parsed = parse( + content, + extraction_config=[ + LatexExtractionConfig( + normalization_config=NormalizationConfig( + nits=False, + malformed_operators=False, + basic_latex=True, + equations=True, + boxed=True, + units=True, + ), + boxed_match_priority=0, + try_extract_without_anchor=False, + ) + ], + extraction_mode="first_match", + ) + correctness.append(verify(answer_parsed, gold_parsed)) + + # Calculate lengths + lengths = [len(content) for content in contents] + min_len = min(lengths) + max_len = max(lengths) + + # If all responses have the same length, return zero rewards + if max_len == min_len: + return [0.0] * len(completions) + + rewards = [] + for length, is_correct in zip(lengths, correctness): + lambda_val = 0.5 - (length - min_len) / (max_len - min_len) + + if is_correct: + reward = lambda_val + else: + reward = min(0, lambda_val) + + rewards.append(float(reward)) + + return rewards + + +def get_cosine_scaled_reward( + min_value_wrong: float = -1.0, + max_value_wrong: float = -0.5, + min_value_correct: float = 0.5, + max_value_correct: float = 1.0, + max_len: int = 1000, +): + def cosine_scaled_reward(completions, solution, **kwargs): + """Reward function that scales based on completion length using a cosine schedule. + + Shorter correct solutions are rewarded more than longer ones. + Longer incorrect solutions are penalized less than shorter ones. + + Args: + completions: List of model completions + solution: List of ground truth solutions + + This function is parameterized by the following arguments: + min_value_wrong: Minimum reward for wrong answers + max_value_wrong: Maximum reward for wrong answers + min_value_correct: Minimum reward for correct answers + max_value_correct: Maximum reward for correct answers + max_len: Maximum length for scaling + """ + contents = [completion[0]["content"] for completion in completions] + rewards = [] + + for content, sol in zip(contents, solution): + gold_parsed = parse(sol, extraction_mode="first_match", extraction_config=[LatexExtractionConfig()]) + if len(gold_parsed) == 0: + rewards.append(1.0) # Skip unparseable examples + print("Failed to parse gold solution: ", sol) + continue + + answer_parsed = parse( + content, + extraction_config=[ + LatexExtractionConfig( + normalization_config=NormalizationConfig( + nits=False, + malformed_operators=False, + basic_latex=True, + equations=True, + boxed=True, + units=True, + ), + boxed_match_priority=0, + try_extract_without_anchor=False, + ) + ], + extraction_mode="first_match", + ) + + is_correct = verify(answer_parsed, gold_parsed) + gen_len = len(content) + + # Apply cosine scaling based on length + progress = gen_len / max_len + cosine = math.cos(progress * math.pi) + + if is_correct: + min_value = min_value_correct + max_value = max_value_correct + else: + # Swap min/max for incorrect answers + min_value = max_value_wrong + max_value = min_value_wrong + + reward = min_value + 0.5 * (max_value - min_value) * (1.0 + cosine) + rewards.append(float(reward)) + + return rewards + + return cosine_scaled_reward + + +def get_repetition_penalty_reward(ngram_size: int, max_penalty: float): + """ + Computes N-gram repetition penalty as described in Appendix C.2 of https://arxiv.org/abs/2502.03373. + Reference implementation from: https://github.com/eddycmu/demystify-long-cot/blob/release/openrlhf/openrlhf/reward/repetition.py + + Args: + ngram_size: size of the n-grams + max_penalty: Maximum (negative) penalty for wrong answers + """ + if max_penalty > 0: + raise ValueError(f"max_penalty {max_penalty} should not be positive") + + def zipngram(text: str, ngram_size: int): + words = text.lower().split() + return zip(*[words[i:] for i in range(ngram_size)]) + + def repetition_penalty_reward(completions, **kwargs) -> float: + """ + reward function the penalizes repetitions + ref implementation: https://github.com/eddycmu/demystify-long-cot/blob/release/openrlhf/openrlhf/reward/repetition.py + + Args: + completions: List of model completions + """ + + contents = [completion[0]["content"] for completion in completions] + rewards = [] + for completion in contents: + if completion == "": + rewards.append(0.0) + continue + if len(completion.split()) < ngram_size: + rewards.append(0.0) + continue + + ngrams = set() + total = 0 + for ng in zipngram(completion, ngram_size): + ngrams.add(ng) + total += 1 + + scaling = 1 - len(ngrams) / total + reward = scaling * max_penalty + rewards.append(reward) + return rewards + + return repetition_penalty_reward + + +def extract_code(completion: str) -> str: + pattern = re.compile(r"```python\n(.*?)```", re.DOTALL) + matches = pattern.findall(completion) + extracted_answer = matches[-1] if len(matches) >= 1 else "" + return extracted_answer + + +def code_reward(completions, **kwargs) -> list[float]: + """Reward function that evaluates code snippets using the E2B code interpreter. + + Assumes the dataset contains a `verification_info` column with test cases. + """ + if not is_e2b_available(): + raise ImportError( + "E2B is not available and required for this reward function. Please install E2B with " + "`pip install e2b-code-interpreter` and add an API key to a `.env` file." + ) + + # TODO: add support for other languages in E2B: https://e2b.dev/docs/code-interpreting/supported-languages + """Returns a reward function that evaluates code snippets in a sandbox.""" + evaluation_script_template = """ + import subprocess + import json + + def evaluate_code(code, test_cases): + passed = 0 + total = len(test_cases) + exec_timeout = 5 + + for case in test_cases: + process = subprocess.run( + ["python3", "-c", code], + input=case["input"], + text=True, + capture_output=True, + timeout=exec_timeout + ) + + if process.returncode != 0: # Error in execution + continue + + output = process.stdout.strip() + if output.strip() == case["output"].strip(): + passed += 1 + + success_rate = (passed / total) + return success_rate + + code_snippet = {code} + test_cases = json.loads({test_cases}) + + evaluate_code(code_snippet, test_cases) + """ + code_snippets = [extract_code(completion[-1]["content"]) for completion in completions] + verification_info = kwargs["verification_info"] + scripts = [ + evaluation_script_template.format(code=json.dumps(code), test_cases=json.dumps(json.dumps(info["test_cases"]))) + for code, info in zip(code_snippets, verification_info) + ] + try: + rewards = run_async_from_sync(scripts, verification_info["language"]) + + except Exception as e: + print(f"Error from E2B executor: {e}") + rewards = [0.0] * len(completions) + + return rewards + + +def get_trajectories_format_reward(min_steps: int = 3, partial_reward: bool = True): + """Reward function that checks if the reasoning process follows the ReAct (Reasoning and Acting) format. + + Args: + min_steps: Minimum number of reasoning steps required for full reward. + partial_reward: If True, provide partial rewards for partially correct formats. + + Returns: + A reward function that evaluates compliance with the ReAct format. + """ + # Pattern looks for ReAct format sequences: Thought, Action, Observation + thought_pattern = r"Thought:[\s\S]+?" + action_pattern = r"Action:[\s\S]+?" + observation_pattern = r"Observation:[\s\S]+?" + + # Full ReAct step pattern (all three components) + react_step_pattern = rf"({thought_pattern}{action_pattern}{observation_pattern})" + + # Final answer pattern + final_answer_pattern = r"Answer:[\s\S]+" + + def trajectories_format_reward(completions, **kwargs): + """Evaluates if completions follow the ReAct format with proper Thought/Action/Observation sequences. + + Args: + completions: List of model completions + + Returns: + List of rewards between 0.0 and 1.0 based on format compliance + """ + contents = [completion[0]["content"] for completion in completions] + rewards = [] + + for content in contents: + # Count full ReAct steps (Thought/Action/Observation sequences) + react_steps = re.findall(react_step_pattern, content) + num_steps = len(react_steps) + + # Check for final answer + has_final_answer = bool(re.search(final_answer_pattern, content)) + + if num_steps >= min_steps and has_final_answer: + # Full reward for meeting minimum steps and having final answer + rewards.append(1.0) + elif not partial_reward: + # No partial reward if disabled + rewards.append(0.0) + else: + # Partial rewards based on components present + reward = 0.0 + + # Reward for steps (up to 0.7) + step_reward = min(0.7, (num_steps / min_steps) * 0.7) + reward += step_reward + + # Reward for final answer (0.3) + if has_final_answer: + reward += 0.3 + + rewards.append(reward) + + return rewards + + return trajectories_format_reward + +def get_code_format_reward(language: str = "python"): + """Format reward function specifically for code responses. + + Args: + language: Programming language supported by E2B https://e2b.dev/docs/code-interpreting/supported-languages + """ + pattern = rf"^\n.*?\n\n\n.*?```{language}.*?```.*?\n$" + + def code_format_reward(completions, **kwargs): + completion_contents = [completion[0]["content"] for completion in completions] + matches = [re.match(pattern, content, re.DOTALL | re.MULTILINE) for content in completion_contents] + return [1.0 if match else 0.0 for match in matches] + + return code_format_reward + + +def run_async_from_sync(scripts: list[str], language: str) -> list[float]: + """Function wrapping the `run_async` function.""" + # Create a new event loop and set it + loop = asyncio.new_event_loop() + asyncio.set_event_loop(loop) + + try: + # Run the async function and get the result + rewards = loop.run_until_complete(run_async(scripts, language)) + finally: + loop.close() + + return rewards + + +async def run_async(scripts: list[str], language: str) -> list[float]: + # Create the sandbox by hand, currently there's no context manager for this version + sbx = await AsyncSandbox.create(timeout=30, request_timeout=3) + + # Create a list of tasks for running scripts concurrently + tasks = [run_script(sbx, script) for script in scripts] + + # Wait for all tasks to complete and gather their results as they finish + results = await asyncio.gather(*tasks) + rewards = list(results) # collect results + + # Kill the sandbox after all the tasks are complete + await sbx.kill() + + return rewards + + +async def run_script(sbx, script: str, language: str) -> float: + execution = await sbx.run_code(script, language=language) + try: + return float(execution.text) + except (TypeError, ValueError): + return 0.0 \ No newline at end of file diff --git a/openmanus-rl/sft.py b/openmanus-rl/sft.py new file mode 100644 index 00000000..0c6f025f --- /dev/null +++ b/openmanus-rl/sft.py @@ -0,0 +1,178 @@ +# Copyright 2025 The HuggingFace Team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +""" +Simplified supervised fine-tuning script for decoder language models. + +Usage: +# Fine-tune a model on a single GPU +python -m openmanus_rl.sft \ + --model_name_or_path Qwen/Qwen2.5-1.5B-Instruct \ + --dataset_name HuggingFaceH4/Bespoke-Stratos-17k \ + --learning_rate 2.0e-5 \ + --num_train_epochs 1 \ + --packing \ + --max_seq_length 4096 \ + --per_device_train_batch_size 2 \ + --gradient_accumulation_steps 8 \ + --gradient_checkpointing \ + --bf16 \ + --logging_steps 5 \ + --output_dir data/sft-output +""" + +import logging +import os +import sys + +import datasets +import torch +import transformers +from datasets import load_dataset +from transformers import set_seed +from transformers.trainer_utils import get_last_checkpoint + +from .utils import get_tokenizer +from .configs import SFTConfig +from trl import ( + ModelConfig, + ScriptArguments, + SFTTrainer, + TrlParser, + get_kbit_device_map, + get_peft_config, + get_quantization_config, +) + + +logger = logging.getLogger(__name__) + + +def init_wandb_training(training_args): + """ + Helper function for setting up Weights & Biases logging tools. + """ + if training_args.wandb_entity is not None: + os.environ["WANDB_ENTITY"] = training_args.wandb_entity + if training_args.wandb_project is not None: + os.environ["WANDB_PROJECT"] = training_args.wandb_project + + +def main(script_args, training_args, model_args): + # Set seed for reproducibility + set_seed(training_args.seed) + + ############### + # Setup logging + ############### + logging.basicConfig( + format="%(asctime)s - %(levelname)s - %(name)s - %(message)s", + datefmt="%Y-%m-%d %H:%M:%S", + handlers=[logging.StreamHandler(sys.stdout)], + ) + log_level = training_args.get_process_log_level() + logger.setLevel(log_level) + datasets.utils.logging.set_verbosity(log_level) + transformers.utils.logging.set_verbosity(log_level) + transformers.utils.logging.enable_default_handler() + transformers.utils.logging.enable_explicit_format() + + logger.info(f"Model parameters {model_args}") + logger.info(f"Script parameters {script_args}") + logger.info(f"Training parameters {training_args}") + + # Check for last checkpoint + last_checkpoint = None + if os.path.isdir(training_args.output_dir): + last_checkpoint = get_last_checkpoint(training_args.output_dir) + if last_checkpoint is not None and training_args.resume_from_checkpoint is None: + logger.info(f"Checkpoint detected, resuming training at {last_checkpoint=}.") + + if "wandb" in training_args.report_to: + init_wandb_training(training_args) + + ################ + # Load datasets + ################ + dataset = load_dataset(script_args.dataset_name, name=script_args.dataset_config) + + ################ + # Load tokenizer + ################ + tokenizer = get_tokenizer(model_args, training_args) + tokenizer.pad_token = tokenizer.eos_token + + ################### + # Model init kwargs + ################### + logger.info("*** Initializing model kwargs ***") + torch_dtype = ( + model_args.torch_dtype if model_args.torch_dtype in ["auto", None] else getattr(torch, model_args.torch_dtype) + ) + quantization_config = get_quantization_config(model_args) + model_kwargs = dict( + revision=model_args.model_revision, + trust_remote_code=model_args.trust_remote_code, + attn_implementation=model_args.attn_implementation, + torch_dtype=torch_dtype, + use_cache=False if training_args.gradient_checkpointing else True, + device_map=get_kbit_device_map() if quantization_config is not None else None, + quantization_config=quantization_config, + ) + training_args.model_init_kwargs = model_kwargs + + ############################ + # Initialize the SFT Trainer + ############################ + trainer = SFTTrainer( + model=model_args.model_name_or_path, + args=training_args, + train_dataset=dataset[script_args.dataset_train_split], + processing_class=tokenizer, + peft_config=get_peft_config(model_args), + ) + + ############### + # Training loop + ############### + logger.info("*** Train ***") + checkpoint = None + if training_args.resume_from_checkpoint is not None: + checkpoint = training_args.resume_from_checkpoint + elif last_checkpoint is not None: + checkpoint = last_checkpoint + train_result = trainer.train(resume_from_checkpoint=checkpoint) + metrics = train_result.metrics + metrics["train_samples"] = len(dataset[script_args.dataset_train_split]) + trainer.log_metrics("train", metrics) + trainer.save_metrics("train", metrics) + trainer.save_state() + + ################################## + # Save model + ################################## + logger.info("*** Save model ***") + trainer.save_model(training_args.output_dir) + logger.info(f"Model saved to {training_args.output_dir}") + + # Restore k,v cache for fast inference + if trainer.accelerator.is_main_process: + trainer.model.config.use_cache = True + trainer.model.config.save_pretrained(training_args.output_dir) + + +if __name__ == "__main__": + parser = TrlParser((ScriptArguments, SFTConfig, ModelConfig)) + script_args, training_args, model_args = parser.parse_args_and_config() + main(script_args, training_args, model_args) \ No newline at end of file From e8c3c6651c8c37b198554a2299bc39808fe23a4e Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Sat, 8 Mar 2025 22:25:29 -0600 Subject: [PATCH 24/48] Create utils.py --- openmanus-rl/utils.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 openmanus-rl/utils.py diff --git a/openmanus-rl/utils.py b/openmanus-rl/utils.py new file mode 100644 index 00000000..955f88ad --- /dev/null +++ b/openmanus-rl/utils.py @@ -0,0 +1,38 @@ +from transformers import AutoTokenizer, PreTrainedTokenizer + +from trl import ModelConfig + +from ..configs import GRPOConfig, SFTConfig + + +DEFAULT_CHAT_TEMPLATE = "{% for message in messages %}\n{% if message['role'] == 'user' %}\n{{ '<|user|>\n' + message['content'] + eos_token }}\n{% elif message['role'] == 'system' %}\n{{ '<|system|>\n' + message['content'] + eos_token }}\n{% elif message['role'] == 'assistant' %}\n{{ '<|assistant|>\n' + message['content'] + eos_token }}\n{% endif %}\n{% if loop.last and add_generation_prompt %}\n{{ '<|assistant|>' }}\n{% endif %}\n{% endfor %}" + + +def get_tokenizer( + model_args: ModelConfig, training_args: SFTConfig | GRPOConfig, auto_set_chat_template: bool = True +) -> PreTrainedTokenizer: + """Get the tokenizer for the model.""" + tokenizer = AutoTokenizer.from_pretrained( + model_args.model_name_or_path, + revision=model_args.model_revision, + trust_remote_code=model_args.trust_remote_code, + ) + + if training_args.chat_template is not None: + tokenizer.chat_template = training_args.chat_template + elif auto_set_chat_template and tokenizer.get_chat_template() is None: + tokenizer.chat_template = DEFAULT_CHAT_TEMPLATE + + return tokenizer + +import os + + +def init_wandb_training(training_args): + """ + Helper function for setting up Weights & Biases logging tools. + """ + if training_args.wandb_entity is not None: + os.environ["WANDB_ENTITY"] = training_args.wandb_entity + if training_args.wandb_project is not None: + os.environ["WANDB_PROJECT"] = training_args.wandb_project \ No newline at end of file From 5291c6f43625e9e3f7a7e65b73e9a224cdec36d3 Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Sat, 8 Mar 2025 22:28:23 -0600 Subject: [PATCH 25/48] Update Readme.md --- Readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Readme.md b/Readme.md index 865c5c24..b57e0105 100644 --- a/Readme.md +++ b/Readme.md @@ -161,6 +161,7 @@ In summary, our method systematically integrates advanced reasoning paradigms, d ## OpenManus-RL A simplified library for Supervised Fine-Tuning (SFT) and GRPO tunning of language models. (developed upon [Open-R1](https://github.com/huggingface/open-r1) from huggingface) +We are still laboriously developing this part, welcome feedback. ## Installation From 2422bf64dfdac14bdc63d53f0ffe780842b52c22 Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Sat, 8 Mar 2025 22:30:17 -0600 Subject: [PATCH 26/48] Update Readme.md --- Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Readme.md b/Readme.md index b57e0105..d27fa26c 100644 --- a/Readme.md +++ b/Readme.md @@ -160,7 +160,7 @@ In summary, our method systematically integrates advanced reasoning paradigms, d ## OpenManus-RL -A simplified library for Supervised Fine-Tuning (SFT) and GRPO tunning of language models. (developed upon [Open-R1](https://github.com/huggingface/open-r1) from huggingface) +A simplified library for Supervised Fine-Tuning (SFT) and GRPO tunning of language models for agentic system. (developed upon [Open-R1](https://github.com/huggingface/open-r1) from huggingface) We are still laboriously developing this part, welcome feedback. ## Installation From d97e2b00f341d19a9483d0803b7b7c2273fbb4f9 Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Sat, 8 Mar 2025 22:32:06 -0600 Subject: [PATCH 27/48] Update Readme.md --- Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Readme.md b/Readme.md index d27fa26c..8e2bc3d7 100644 --- a/Readme.md +++ b/Readme.md @@ -54,7 +54,7 @@ Code and dataset coming soon! Stay tuned! ## Current Team Members -[@Kunlun Zhu](https://github.com/Kunlun-Zhu)(Ulab-UIUC), [@jiayi Zhang](https://github.com/didiforgithub)(MetaGPT), [@Xiangxin Zhou](https://github.com/zhouxiangxin1998), [@Yanfei Zhang](https://github.com/yanfei-zhang-95), [@Yingxuan Yang](https://github.com/zoe-yyx), [@Jiawei Zhang](https://github.com/CharlieDreemur), [@Muxin Tian](https://github.com/realtmxi), [@Haofei Yu](https://github.com/lwaekfjlk)(Ulab-UIUC) +[@Kunlun Zhu](https://github.com/Kunlun-Zhu)(Ulab-UIUC), [@Jiayi Zhang](https://github.com/didiforgithub)(MetaGPT), [@Xiangxin Zhou](https://github.com/zhouxiangxin1998), [@Yanfei Zhang](https://github.com/yanfei-zhang-95), [@Yingxuan Yang](https://github.com/zoe-yyx), [@Jiawei Zhang](https://github.com/CharlieDreemur), [@Muxin Tian](https://github.com/realtmxi), [@Haofei Yu](https://github.com/lwaekfjlk)(Ulab-UIUC) --- From 3e615c9283b0359d19c85e029db8427bf8fca89a Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Sat, 8 Mar 2025 23:47:37 -0600 Subject: [PATCH 28/48] Update grpo.py --- openmanus-rl/grpo.py | 272 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 272 insertions(+) diff --git a/openmanus-rl/grpo.py b/openmanus-rl/grpo.py index e69de29b..91cf51c2 100644 --- a/openmanus-rl/grpo.py +++ b/openmanus-rl/grpo.py @@ -0,0 +1,272 @@ +# Copyright 2025 The OpenManus-RL Team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +""" +Simplified Gradient-based Reinforcement for Policy Optimization (GRPO) script for language models. + +Usage: +# Fine-tune a model on a single GPU +python -m openmanus_rl.grpo \ + --model_name_or_path Qwen/Qwen2.5-1.5B-Instruct \ + --dataset_name HuggingFaceH4/Bespoke-Stratos-17k \ + --learning_rate 2.0e-5 \ + --num_train_epochs 1 \ + --max_seq_length 4096 \ + --per_device_train_batch_size 2 \ + --gradient_accumulation_steps 8 \ + --gradient_checkpointing \ + --bf16 \ + --logging_steps 5 \ + --output_dir data/grpo-output +""" + +import logging +import os +import sys +from dataclasses import dataclass, field + +import datasets +import torch +import transformers +from datasets import load_dataset +from transformers import set_seed +from transformers.trainer_utils import get_last_checkpoint + +from .configs import GRPOConfig +from .rewards import ( + accuracy_reward, + format_reward, + get_cosine_scaled_reward, + get_repetition_penalty_reward, + get_trajectories_format_reward, + len_reward, + reasoning_steps_reward, + tag_count_reward, +) +from .utils import get_tokenizer +from trl import GRPOTrainer, ModelConfig, ScriptArguments, TrlParser, get_peft_config + + +logger = logging.getLogger(__name__) + + +def init_wandb_training(training_args): + """ + Helper function for setting up Weights & Biases logging tools. + """ + if training_args.wandb_entity is not None: + os.environ["WANDB_ENTITY"] = training_args.wandb_entity + if training_args.wandb_project is not None: + os.environ["WANDB_PROJECT"] = training_args.wandb_project + + +@dataclass +class GRPOScriptArguments(ScriptArguments): + """ + Script arguments for the GRPO training script. + + Args: + reward_funcs (`list[str]`): + List of reward functions. Possible values: 'accuracy', 'format', 'reasoning_steps', 'cosine', 'repetition_penalty', 'length', 'tag_count', 'trajectories_format'. + cosine_min_value_wrong (`float`): + Minimum reward for cosine scaling for wrong answers. + cosine_max_value_wrong (`float`): + Maximum reward for cosine scaling for wrong answers. + cosine_min_value_correct (`float`): + Minimum reward for cosine scaling for correct answers. + cosine_max_value_correct (`float`): + Maximum reward for cosine scaling for correct answers. + cosine_max_len (`int`): + Maximum length for cosine scaling. + """ + + reward_funcs: list[str] = field( + default_factory=lambda: ["accuracy", "format", "tag_count"], + metadata={ + "help": "List of reward functions. Possible values: 'accuracy', 'format', 'reasoning_steps', 'cosine', 'repetition_penalty', 'length', tag_count', 'trajectories_format'" + }, + ) + cosine_min_value_wrong: float = field( + default=0.0, + metadata={"help": "Minimum reward for wrong answers"}, + ) + cosine_max_value_wrong: float = field( + default=-0.5, + metadata={"help": "Maximum reward for wrong answers"}, + ) + cosine_min_value_correct: float = field( + default=0.5, + metadata={"help": "Minimum reward for correct answers"}, + ) + cosine_max_value_correct: float = field( + default=1.0, + metadata={"help": "Maximum reward for correct answers"}, + ) + cosine_max_len: int = field( + default=1000, + metadata={"help": "Maximum length for scaling"}, + ) + repetition_n_grams: int = field( + default=3, + metadata={"help": "Number of n-grams for repetition penalty reward"}, + ) + repetition_max_penalty: float = field( + default=-1.0, + metadata={"help": "Maximum (negative) penalty for for repetition penalty reward"}, + ) + + +def main(script_args, training_args, model_args): + # Set seed for reproducibility + set_seed(training_args.seed) + + ############### + # Setup logging + ############### + logging.basicConfig( + format="%(asctime)s - %(levelname)s - %(name)s - %(message)s", + datefmt="%Y-%m-%d %H:%M:%S", + handlers=[logging.StreamHandler(sys.stdout)], + ) + log_level = training_args.get_process_log_level() + logger.setLevel(log_level) + datasets.utils.logging.set_verbosity(log_level) + transformers.utils.logging.set_verbosity(log_level) + transformers.utils.logging.enable_default_handler() + transformers.utils.logging.enable_explicit_format() + + # Log on each process a small summary + logger.warning( + f"Process rank: {training_args.local_rank}, device: {training_args.device}, n_gpu: {training_args.n_gpu}" + + f" distributed training: {bool(training_args.local_rank != -1)}, 16-bits training: {training_args.fp16}" + ) + logger.info(f"Model parameters {model_args}") + logger.info(f"Script parameters {script_args}") + logger.info(f"Training parameters {training_args}") + + # Check for last checkpoint + last_checkpoint = None + if os.path.isdir(training_args.output_dir): + last_checkpoint = get_last_checkpoint(training_args.output_dir) + if last_checkpoint is not None and training_args.resume_from_checkpoint is None: + logger.info(f"Checkpoint detected, resuming training at {last_checkpoint=}.") + + if "wandb" in training_args.report_to: + init_wandb_training(training_args) + + # Load the dataset + dataset = load_dataset(script_args.dataset_name, name=script_args.dataset_config) + + ################ + # Load tokenizer + ################ + tokenizer = get_tokenizer(model_args, training_args) + + # Get reward functions + REWARD_FUNCS_REGISTRY = { + "accuracy": accuracy_reward, + "format": format_reward, + "reasoning_steps": reasoning_steps_reward, + "cosine": get_cosine_scaled_reward( + min_value_wrong=script_args.cosine_min_value_wrong, + max_value_wrong=script_args.cosine_max_value_wrong, + min_value_correct=script_args.cosine_min_value_correct, + max_value_correct=script_args.cosine_max_value_correct, + max_len=script_args.cosine_max_len, + ), + "repetition_penalty": get_repetition_penalty_reward( + ngram_size=script_args.repetition_n_grams, + max_penalty=script_args.repetition_max_penalty, + ), + "length": len_reward, + "trajectories_format": get_trajectories_format_reward(), + "tag_count": tag_count_reward, + } + reward_funcs = [REWARD_FUNCS_REGISTRY[func] for func in script_args.reward_funcs] + + # Format into conversation + def make_conversation(example): + prompt = [] + + if training_args.system_prompt is not None: + prompt.append({"role": "system", "content": training_args.system_prompt}) + + prompt.append({"role": "user", "content": example["problem"]}) + return {"prompt": prompt} + + dataset = dataset.map(make_conversation) + + for split in dataset: + if "messages" in dataset[split].column_names: + dataset[split] = dataset[split].remove_columns("messages") + + logger.info("*** Initializing model kwargs ***") + torch_dtype = ( + model_args.torch_dtype if model_args.torch_dtype in ["auto", None] else getattr(torch, model_args.torch_dtype) + ) + model_kwargs = dict( + revision=model_args.model_revision, + trust_remote_code=model_args.trust_remote_code, + attn_implementation=model_args.attn_implementation, + torch_dtype=torch_dtype, + use_cache=False if training_args.gradient_checkpointing else True, + ) + training_args.model_init_kwargs = model_kwargs + + ############################# + # Initialize the GRPO trainer + ############################# + trainer = GRPOTrainer( + model=model_args.model_name_or_path, + reward_funcs=reward_funcs, + args=training_args, + train_dataset=dataset[script_args.dataset_train_split], + eval_dataset=dataset[script_args.dataset_test_split] if training_args.eval_strategy != "no" else None, + peft_config=get_peft_config(model_args), + processing_class=tokenizer, + ) + + ############### + # Training loop + ############### + logger.info("*** Train ***") + checkpoint = None + if training_args.resume_from_checkpoint is not None: + checkpoint = training_args.resume_from_checkpoint + elif last_checkpoint is not None: + checkpoint = last_checkpoint + train_result = trainer.train(resume_from_checkpoint=checkpoint) + metrics = train_result.metrics + metrics["train_samples"] = len(dataset[script_args.dataset_train_split]) + trainer.log_metrics("train", metrics) + trainer.save_metrics("train", metrics) + trainer.save_state() + + ################################## + # Save model + ################################## + logger.info("*** Save model ***") + trainer.save_model(training_args.output_dir) + logger.info(f"Model saved to {training_args.output_dir}") + + # Restore k,v cache for fast inference + if trainer.accelerator.is_main_process: + trainer.model.config.use_cache = True + trainer.model.config.save_pretrained(training_args.output_dir) + + +if __name__ == "__main__": + parser = TrlParser((GRPOScriptArguments, GRPOConfig, ModelConfig)) + script_args, training_args, model_args = parser.parse_args_and_config() + main(script_args, training_args, model_args) \ No newline at end of file From a0a493e3e3376ee0fd2071b465d0aaee2281b799 Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Sun, 9 Mar 2025 20:36:52 -0500 Subject: [PATCH 29/48] Update Readme.md --- Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Readme.md b/Readme.md index 8e2bc3d7..6df9fb76 100644 --- a/Readme.md +++ b/Readme.md @@ -54,7 +54,7 @@ Code and dataset coming soon! Stay tuned! ## Current Team Members -[@Kunlun Zhu](https://github.com/Kunlun-Zhu)(Ulab-UIUC), [@Jiayi Zhang](https://github.com/didiforgithub)(MetaGPT), [@Xiangxin Zhou](https://github.com/zhouxiangxin1998), [@Yanfei Zhang](https://github.com/yanfei-zhang-95), [@Yingxuan Yang](https://github.com/zoe-yyx), [@Jiawei Zhang](https://github.com/CharlieDreemur), [@Muxin Tian](https://github.com/realtmxi), [@Haofei Yu](https://github.com/lwaekfjlk)(Ulab-UIUC) +[@Kunlun Zhu](https://github.com/Kunlun-Zhu)(Ulab-UIUC), [@Jiayi Zhang](https://github.com/didiforgithub)(MetaGPT), [@Xiangxin Zhou](https://github.com/zhouxiangxin1998), [@Yanfei Zhang](https://github.com/yanfei-zhang-95), [@Yingxuan Yang](https://github.com/zoe-yyx), [@Weijia Zhang](https://github.com/CharlieDreemur), [@Muxin Tian](https://github.com/realtmxi), [@Haofei Yu](https://github.com/lwaekfjlk)(Ulab-UIUC) --- From 53655f32bb35274c34d18b3925b2e0f36430564c Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Sun, 9 Mar 2025 20:40:24 -0500 Subject: [PATCH 30/48] Update Readme.md --- Readme.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Readme.md b/Readme.md index 6df9fb76..3dec7d5e 100644 --- a/Readme.md +++ b/Readme.md @@ -48,7 +48,7 @@ Code and dataset coming soon! Stay tuned! ## 🔔 News - +- **[2025-03-09]** 🍺 We collect and opensource our Agent SFT dataset at [Huggingface](https://huggingface.co/datasets/CharlieDreemur/OpenManus-RL), go try it! - **[2025-03-08]** 🎉 We are collaborating with [@OpenManus](https://github.com/mannaandpoem/OpenManus) from Metagpt to work on this project together! - **[2025-03-06]** 🥳 We(UIUC-Ulab) are announcing our live-streaming project, OpenManus-RL. @@ -189,7 +189,7 @@ To fine-tune a model on a single GPU: ```bash python -m openmanus_rl.sft \ --model_name_or_path Qwen/Qwen2.5-1.5B-Instruct \ - --dataset_name HuggingFaceH4/Bespoke-Stratos-17k \ + --dataset_name CharlieDreemur/OpenManus-RL \ --learning_rate 2.0e-5 \ --num_train_epochs 1 \ --packing \ @@ -210,7 +210,7 @@ For multi-GPU training using Accelerate: ```bash accelerate launch --config_file=configs/accelerate_configs/zero3.yaml openmanus_rl/sft.py \ --model_name_or_path Qwen/Qwen2.5-1.5B-Instruct \ - --dataset_name HuggingFaceH4/Bespoke-Stratos-17k \ + --dataset_name CharlieDreemur/OpenManus-RL \ --learning_rate 2.0e-5 \ --num_train_epochs 1 \ --packing \ @@ -230,7 +230,7 @@ To fine-tune a model using GRPO on a single GPU: ```bash python -m openmanus_rl.grpo \ --model_name_or_path Qwen/Qwen2.5-1.5B-Instruct \ - --dataset_name HuggingFaceH4/Bespoke-Stratos-17k \ + --dataset_name CharlieDreemur/OpenManus-RL-GRPO \ --learning_rate 2.0e-5 \ --num_train_epochs 1 \ --max_seq_length 4096 \ @@ -248,7 +248,7 @@ For multi-GPU training using Accelerate: ```bash accelerate launch --config_file=configs/accelerate_configs/zero3.yaml openmanus_rl/grpo.py \ --model_name_or_path Qwen/Qwen2.5-1.5B-Instruct \ - --dataset_name HuggingFaceH4/Bespoke-Stratos-17k \ + --dataset_name CharlieDreemur/OpenManus-RL-GRPO \ --learning_rate 2.0e-5 \ --num_train_epochs 1 \ --max_seq_length 4096 \ From fdd957311626b5156ab409d00be1cc1bb86c6395 Mon Sep 17 00:00:00 2001 From: CharlieDreemur Date: Mon, 10 Mar 2025 00:27:41 -0500 Subject: [PATCH 31/48] Update Readme.md add huggingface dataset --- Readme.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Readme.md b/Readme.md index 3dec7d5e..c83dfd74 100644 --- a/Readme.md +++ b/Readme.md @@ -1,5 +1,6 @@ # OpenManus-RL - +🤗 Dataset (OpenManus-RL) +

OpenManus-RL is an open-source initiative collaboratively led by **Ulab-UIUC** and **MetaGPT**. This project is an extended version of the original [@OpenManus](https://github.com/mannaandpoem/OpenManus) initiative. Inspired by successful RL tunning for reasoning LLM such as Deepseek-R1, QwQ-32B, we will explore new paradigms for RL-based LLM agent tuning, particularly building upon foundations. From 1a008e267f0509b98188611967ff665dd15d994d Mon Sep 17 00:00:00 2001 From: CharlieDreemur Date: Mon, 10 Mar 2025 02:09:49 -0500 Subject: [PATCH 32/48] Update Readme.md --- Readme.md | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/Readme.md b/Readme.md index c83dfd74..180743b7 100644 --- a/Readme.md +++ b/Readme.md @@ -33,6 +33,7 @@ Code and dataset coming soon! Stay tuned! - [Test-time Scaling of Trajectories](#test-time-scaling-of-trajectories) - [Action Space Awareness and Strategic Exploration](#action-space-awareness-and-strategic-exploration) - [Integration with RL Tuning Frameworks](#integration-with-rl-tuning-frameworks) + - [Dataset](#dataset) - [Running](#Running) - [Related Work](#related-work) - [Agent tuning](#agent-tuning) @@ -157,6 +158,44 @@ In summary, our method systematically integrates advanced reasoning paradigms, d +# Dataset +[**OpenManusRL-Dataset**](https://huggingface.co/datasets/CharlieDreemur/OpenManus-RL) combines agent trajectories from [AgentInstruct](https://huggingface.co/datasets/THUDM/AgentInstruct) and [Agent-FLAN](https://huggingface.co/datasets/internlm/Agent-FLAN) with features: + +- 🔍 **ReAct Framework** - Reasoning-Acting integration +- 🧠 **Structured Training** - Separate format/reasoning learning +- 🚫 **Anti-Hallucination** - Negative samples + environment grounding +- 🌐 **6 Domains** - OS, DB, Web, KG, Household, E-commerce + +## Dataset Composition + +| Source | Trajectories | Avg Turns | Key Features | +|--------|--------------|-----------|--------------| +| [AgentInstruct](https://huggingface.co/datasets/THUDM/AgentInstruct) | 1,866 | 5.24 | Multi-task QA | +| [Agent-FLAN](https://huggingface.co/datasets/internlm/Agent-FLAN) | 3,000+ | 3-35 | Error recovery patterns | +| **Combined** | 4,866+ | 4-20 | Enhanced generalization | + +### Supported Tasks +- **text-generation**: ReAct-style instruction following +- **conversational-ai**: Tool-augmented dialogues + +### Languages +English + +## Data Instances + +**ReAct Pattern Example**: +```json +{ + "id": "os_0", + "conversations": [ + {"role": "user", "content": "Count files in /etc"}, + {"role": "assistant", "content": "Think: Need reliable counting method\nAct: bash\n```bash\nls -1 /etc | wc -l\n```"}, + {"role": "user", "content": "OS Output: 220"}, + {"role": "assistant", "content": "Think: Verified through execution\nAct: answer(220)"} + ] +} +``` + # Running ## OpenManus-RL From e2a01f4bce9b07d6489aa87d81f6c7dc706a35f4 Mon Sep 17 00:00:00 2001 From: CharlieDreemur Date: Mon, 10 Mar 2025 02:12:19 -0500 Subject: [PATCH 33/48] Update Readme.md --- Readme.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Readme.md b/Readme.md index 180743b7..4b2a9a70 100644 --- a/Readme.md +++ b/Readme.md @@ -34,6 +34,8 @@ Code and dataset coming soon! Stay tuned! - [Action Space Awareness and Strategic Exploration](#action-space-awareness-and-strategic-exploration) - [Integration with RL Tuning Frameworks](#integration-with-rl-tuning-frameworks) - [Dataset](#dataset) + - [Dataset Overbiew](#dataset-overview) + - [Data Instance](#data-instance) - [Running](#Running) - [Related Work](#related-work) - [Agent tuning](#agent-tuning) @@ -166,7 +168,7 @@ In summary, our method systematically integrates advanced reasoning paradigms, d - 🚫 **Anti-Hallucination** - Negative samples + environment grounding - 🌐 **6 Domains** - OS, DB, Web, KG, Household, E-commerce -## Dataset Composition +## Dataset Overview | Source | Trajectories | Avg Turns | Key Features | |--------|--------------|-----------|--------------| From 8fd3c353411516c88410e5f45c089b5179155dce Mon Sep 17 00:00:00 2001 From: CharlieDreemur Date: Mon, 10 Mar 2025 02:12:38 -0500 Subject: [PATCH 34/48] Update Readme.md --- Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Readme.md b/Readme.md index 4b2a9a70..c6e0dce2 100644 --- a/Readme.md +++ b/Readme.md @@ -35,7 +35,7 @@ Code and dataset coming soon! Stay tuned! - [Integration with RL Tuning Frameworks](#integration-with-rl-tuning-frameworks) - [Dataset](#dataset) - [Dataset Overbiew](#dataset-overview) - - [Data Instance](#data-instance) + - [Data Instances](#data-instances) - [Running](#Running) - [Related Work](#related-work) - [Agent tuning](#agent-tuning) From c8dae45dbe286bd44752cb173a7e7fc821b99e7c Mon Sep 17 00:00:00 2001 From: CharlieDreemur Date: Mon, 10 Mar 2025 15:58:43 -0500 Subject: [PATCH 35/48] Update Readme.md --- Readme.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Readme.md b/Readme.md index c6e0dce2..7f06e16c 100644 --- a/Readme.md +++ b/Readme.md @@ -172,9 +172,9 @@ In summary, our method systematically integrates advanced reasoning paradigms, d | Source | Trajectories | Avg Turns | Key Features | |--------|--------------|-----------|--------------| -| [AgentInstruct](https://huggingface.co/datasets/THUDM/AgentInstruct) | 1,866 | 5.24 | Multi-task QA | -| [Agent-FLAN](https://huggingface.co/datasets/internlm/Agent-FLAN) | 3,000+ | 3-35 | Error recovery patterns | -| **Combined** | 4,866+ | 4-20 | Enhanced generalization | +| [AgentInstruct](https://huggingface.co/datasets/THUDM/AgentInstruct) | 1,866 | 5.24 | Multi-task QA, CoT reasoning | +| [Agent-FLAN](https://huggingface.co/datasets/internlm/Agent-FLAN) | 34,442 | 3-35 | Error recovery patterns, diverse real-world tasks | +| **Combined** | 36,308 | 4-20 | Enhanced generalization, broader task coverage | ### Supported Tasks - **text-generation**: ReAct-style instruction following From 34ed646086cc29f2bfcbd4abebc4e9beb72fd94f Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Mon, 10 Mar 2025 19:22:17 -0500 Subject: [PATCH 36/48] Delete assets/wechat-link.jpg --- assets/wechat-link.jpg | Bin 169656 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 assets/wechat-link.jpg diff --git a/assets/wechat-link.jpg b/assets/wechat-link.jpg deleted file mode 100644 index 1f0768b05a283734dfe64efc46c2fb3913af0a35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 169656 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

%I~Ay#85Xo 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

GJG(Z{ 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 z >i-nz1BlnSq3-HR>+sE_pf!3`%#Q1xnTx^CTElX}h3P~H_O@1HnXS-kKC>Rm`T z{mvOq7t?X3E{BLamb4YBmn1FXl_p>!0H)sGW5r6=es@ze8dGSkR#j(kry_%x3C4~K zl7=10!$+VTj!l4&`m!bv5NgXRlzjbp8Q=O^#TVWim?n!Kh%Vx7-Dzh5{Q*>XVK|LI z4CF=E^ts&ifn#wLe7mXHS07(OnMB9cJvw|`*pFofE3r{S)4SQtTymW5X8AWN=koP; z?=K9#q%d?d<@yJARe35feUKzh8Katk0R~02rkZ>Ys{|P6;hS{R@?U=IPC)OaCe3Y;;+>HEP9!~riZ>V!+iFsS17?yQxt%UN zQ`>FsYQ#F1tl8xeO`fl62|YSqT6tV|Owm-YB}&46t^Xa23{H~6X5xZ@(U-ro7ux-a zug^@;s;TAsTJ@$T%N5V|3!k)TF0hfKpcb|OvRGCrT|==ZLxCHBAbXlg&s7~ZRm96V zYK#hejv`w6S~jS3?CzEpsQo5Xk@M9g0B)DXwi{t2Gb(zk)+A7i-)Z7(ud%L+y8fXJ zkZ#`Gw;Wx31ijt%FfvDgrdP7hqMGheW;{%$3~+T5#`Xu}$qQI()q=7&E+@p${JlZk z_1M(XeWR%Oz&DOI>Cm**%gy`4{5r$45a(j zrt{so5QUJ>9R!yMOic`s2xnNg|2tP9e@--7if>8sT3_Xk_B*!S`Q&GRfz0YZD8Qd! zRB2d;hCc?PGxONf`1-(jCK8o7x4O;w_*sPHFYnyKjmzHZqDyCVb9<44QPXWz$;yK9 zciNtOhlGK{-g?*4T)ZT=1T^4l$EW~hSu>?;RcyBrdhJuO@o%3*tNFC&)|s&G2$D!} zt=uVMf*{wHi=$g5pd3JtX~%D4hT@%lsR5gA*$(4U2Nu<2|1#sIkZ`X`iic{3>@gMv zsr}XeD>Q#D!Bjx?31%Bif{50@Bn}mQwYzF&m|PN9sV=mu|1qYh({uNV(k<6#NHt*Y zZ1XBXK+v{1z2B(fL++3nzYMps8uM$NCj<*g6oD1$iX6dcDb*Pu_tY%u*IBW&A~q_O z!MpbAZN>^L0#ybD7+`VdEF%BD*8lIvBcG=6d#7zL%h0D%m0eSlr4Bc>Z-P6J&@@HP z#DLiUK*YT9|ABtLnunoH0aDyua~EA5BB}7lrPBfTKJQ({(IUr($b4V2h3v7E@9y*4 zy#TJ~pSv_My94=*y(sy2WTt+{OTidm1z-+0hn`Ms>8 zEiv&|bJTW^;MXH+=-*_KT7NeHRCi-8A2bz2Gv5@5&{m={>ANJW zqad-h^vJ%_p~uL^+ptb-70S3`v6^v!(UrucJL9f1{M4gKO`4ztYD4UBiaUFbQ9A5!`9G^V!0MrJ! zm6_OcP|SI;s*!lvTZ{jyV_rzxrf7%hA5SlunOySohQw>92 zHu-O^M;mpOf02$mrb~S5F4huI7Ln}AlnS)%69fKS!?D`tvpDV2eLvN7pR#3Eo@U^| z%gC5hXWD*Ai$^K!=T#$_jLc8eRY?ud2rx8uUFk`<4kLyvV9b&+6G*C<^G_O28>gCx zYU2VW`4@x6C9`~N2x&b|6LYCNaxo#KoFFJGl9h^6t=z##;3Bf5Qj{p|m?)ZO=4&K5 zo=d;<$&CI~bV(NZ%SN9KG0y)oDvfF~U{M2UxY=^M)wJ4};9W@U6#>x~V36wRKj}{U?E^Kv z+lgxnr5#^?pIv#WV9G;Jz!jf!c1;zxCfV2-wsA18k1we&qU8e#@qNwa>gTF-&h-nt zF!R4{Isg0i^MB*d^xNxqZ>g0~o!%6$<;^r@y&|66|3Em_!&c5IngId0%$Vu!vMIcO zz}UW%2pueyUT1fp;l;yhfuHqwE?ZykS^P|Gtyh0_EHYt&88r#|nF>8^YKdc!HXK#) zXFsf1V4wxc);$vdlK~L)0xEdyJ0W7MQU8;cPt^>QOw6X7K|S)t4K_T7;NOa5~=q>N%tIkV2(lHD3Sj_+QHYVA@Uw7nBgd|j~De*7wvKt zS%k&vTq`}~xs*7M^PP^9AsDFY0?2+j%;lVCYWVYOp*zd6C__aCs9S$3!0`j66VzaN4ynMC5byImz|X$4la7t!eu zNp>SOS^K{{n3s@qypw+)CexQSBo;b@f+zreScYg673IN|vtyCNWlO_nW)|uE$BbNe zlb@%WF<{GI$rc7UPzW#ZKH3j4EJP>$6P1XW@%U0wnElbb#|t4l;rmqt-Fd=vH^+h@vv?C4Vc@R)~s4lCpXzRcvl^$1}snPJzQr$<>e5+gdmAXjL_yu1TQA3(9H+cZpyKN7a2sc8uPJKuA z%swswS6}sB1zz5=Yu?+rn&1NBckk{sg{dD~!`~!oK$Ci3DekMw-|>|KwkSIomA!{L zQL?pL#Yi-3e~hI|5w-TMoQdtxJ(Od7mGLc&@k16lIYpKOHs7h#6sr0#=?jIv4&4y> zt6LTmpvqSCA1FiUc2*514piq0)&2uLGQauSK@q(O79qB=pg&nN2c!Sa*lNt55=$q$a~Pfnq5I*W_5Cdb8@v^Y$zVG9m!e*y#r#Q@5rA(2Pr;cvZhLu=+40>I!a{!K=Xnv za@VyNwXhLRynhpy6I>Ng%Y4tL<(7wkNLdM>xZ^RtjUvn|@XnZ}K9dV-J>vQc;&4py z`wRL`LwZNg5AqMkMpJKEasl$68@&|%i-TW9Jn1TA$+lT>ww>==UuHyzPQKxJcXGJw z!M|PSu;t&{>iAHyq=7<2AmDyXv_AlGpIR*SMvBX??|O%8-FyXcgTIMQ#WB$2BZ@KP zcX}4Vyunhj@K>Tdv6QSioT68{hxaGns6!SCP)?hLQ4R~$whH8K9@>*d=IWrtKT_Av zOxpXopz(6JVr!VWcntp?ROVI24(3kVT6AyGO>4RE`c>g~ecYv+lN4FGBFoaA<|;GO z$%AeRQ_tZyYKKAgtoru%y$H#CI^Nw;8BxKy`h;hZ7|r;gB_y>-QVN^b`-i;$_Z|miX9GK{NhE z_fLMeL#JQ1ZJCM`ii5mOSED=7m4!iYX;4~n7KV>CO5XZ9sO!!l3-C7UX2I(S_pg4K zy5t_c`#HBrK9uS35zNIJQSNFbj+jpjnP;eNc5(5E5LJalzlomZXk|KE>QO}j(~c8> zU0zZHm){@bW`&I5+g}d;f-Y9W&+iwJRyfUtD8Q`=_p>iMx|H> z5jd}acc%_z)PwsM^trP9FK7b*EVxy%;wWtAp`ZQ*ef0^y!M@mT!n$0)EQ{QjB5`TC z>Zqo<)bD3*ZfYDA<@o}_`8g_3Q2AkQ~{tgO?;s zI~DhpI8vY@yk&KAcSUMp6t2COCx1bu^4FnLdpy!_lbj@{7I07NJ^&e0;LfeoU%-|V5Pptj zfSEifBtu2OF*e2=0C*1?As-o@XhjHBS3`>Dzx_A5(Rdpe>K}_%=Icu;{thB~9@6+6 z*`n`!IoP7D?`NFX)rC9#1zkgOS;F_=e?eNDMWl+r9{z71|KI&!WsY*F+5J!wJ3GV7 zh$e2IhDgvSdo6byMyUl%($?~>*K&wF*_CdfrarY_$3}-U)h2)D`(zTa=T9}q+j{`PZuAjbl3cBrx z8x`u+0Y!W0cH;wEDkf^sMxoW)Bmd3bM1e3I=K`kIW~imv2x4U%^g;dGh{s!D8BG@F zDannE0@2|Bm5rU$BiZMrmezZ`u5KRwR5POs`dnQj2>r`&s=Ix#>EtRp%Q6lBx1Mc;oRd+IozX1FJ;U>I2Jly zsl+`{&Li%F=VeSWz{ZEvcK)hETS^)`5Z26&UCbW_UekFgFF@G3HcuxgvccTl7}s+I|0K`2 zY8p2y#1r}F!)E3Ak@W4LQODW$RCz&aA}^3vIzj9Az(XN9K=w7jnkdau50`u#tcSC= z1i4CNFP%tY<9e0D^Gj7m*MyaN=MNw(LhtM;NjluT4KmWtyFfwozbB=_ zd$>`HA-J2rF4P)a#~!w62f){x+<7LlWz#__(=1+A9z~ex8S8^=KYuG0jZf|Q>@FPb zeB*6!Hfj)DPK37sb+Tz`J-kK|H>Dh*=X?L$ABQVLzaz$1Mw88H2RBm^w-}-K>@y8*6ZUqfdbW0j2~X8MU{Ig`3-5aL1?8>$v&^*FjZtroQ+27%*OjT7wie4q zSE};djZyo@r-1WR@yP)xk{xps3N~1ohCY^L)ppQ1aFM*0CEet*o!E3E{{Yo=ljq3# z3*Z41kmg$u1(K#anXy@&xrNtbR7yi$BMCTf6uD4uK{(QjNjX55pl^tHz}qRSQ|@A%i@TVKafr~S9yzUs5oo<* zvQIfnm)iMs0celcSbw@t%vXML$yvCs{K1`{BV&{q$AsbfWbm&LnW+_Y3UbO!T*TKMXAa$}ZC1>`wI@k1_mAEGZ8{3U7VYpx3G@6 z$HY9RTNbpr!IIm4Y%v0-gSas2UGkNokl%R*dcywSnu3*2MeOh zt=0@l`xRKn*{htB$s9qQYf8=DD}dYd68qM;DC7;wX)Bzhpp| zo+L}%mP)TxVSx9h3t1o{d@}3|$X5NgJO~1^Zw-*dDSrChA6ivKOQ46q#`BU5M70B9 z%7_5uSC!fuX$0e<+7fY1E|z1CjH6`f^3jN=NKAx;*F^A9$Rg5sQz1nxjb%TmET;_S@8WmBF1<4J{#vo0q;Dtf zDZpU=972lB{;)M6@uGDWE#>q%S&GBuL6a)E280N!4_uhO!%-$x+le8w2F|k6RiA)U zbB`eAVVmIMS>MfHQ1s{d5+rehnb<*J{ZKl{vPD%)yLDrCCXgueojEKn3FB(c)*ErZ;XB5p#+ z;2Ws&ka~@>0bRRcv=<_LWC0^GfAacqNk>aZPwp1I(LN_p?eB;|A-0HLQp`d2-d5!Z z+yREE7+JAUoL&#+=HZEj+RY2|pLGPRzHd09!_zxR+Bylt3%DU{H;`kIdH*xPw74^d_cr1?Bdb1; zp&RsjXShZlDDBFipjV2tuAB>(fUWHtQuh67riPSd*J(QdN1Ct-FA1?l{H(2Vl?jpl zQ9bnLk?4{-Yd+l+Um@Fdyu13G5dvkp6^r7$i@tPLXx1&g1X6_q5Ar{XyRBaN`yT-G z7wY~+G&%C{N_bd2gStU#P@8|7Q$HxZ+MHEU5BM0?BMONO^6^`rO4bA9VOH5|)ZSvJ zpB8)nEVUa+j>t(Jjp&?2DUdy`Bj3MT0w%C4Kh8@~`@>-}$d~GW6L?fW7-%%foE0+4 z17F2Zn0SuS^!Y_kO99=S?bc&%L%(#DjJ=GM`S?D;cor^1d176&9@!#i9uN%3H6OO{7bVT(ZL}ml zh~p&482MyK>H?wN3qh`dY~9?UR6F>)8-r>g@b#YtvefIcK%9}F4?y$3Cs;iiF>{uWE&y7bNL!6 z(EbHAsNXPmk$iCAWixZ_FWOWjJw}J^4uLXv_?}D~PY<*S#`h9F7QFYWaedF9c7axc zEReI-QsW69K8OceYFr!Swbr@xpG|3RcwMrrsvVN|c|-kz7^AkUZ>(L?+V3qx9EkTo zMy57p)|7jMQF(tIZ9p7+us}R}$E2%0b5JX|%CYV3ciVK1^uCr*TxPi{|E-Zk#K6u- zs{{)dlKJ@KmoX;C05`CPq&`&(M`*c?m55|NOiEgTu*o`}Y&VQekMzJ`pQe?J?t-?{ zF9C)#+Zk11=xM$KW9b6aP`yxDBN#@_%}L?nPVg^?+Uf(6YeXIrzu6mE9&Osy`cXg1 zMW8em-Og!$IzRz00IYpu+uK_ez47w+;nO?S7&4%`zeK$&FaINqQD?)0WU$(m)TwOw zfu;2R+H*+e18^7>uRC@u!J=bk3&4QrAn)|hEj&wwT2&_e4?ibu~H;nyD=n#)-f_BR57a%o!UHP%~&QRkMr zp)v*wpS7#}7I`2d-^e>F?F~ev$@8N7|3pAgt(BI0tR%iwMJV1tpCeyQ|~if|2ry0Lv?c*59iV1xOeKx6j;b57`P# zg>ZJ9eUNc0qi&7*U-#RTb43jJofIUfFBR9tK?M_YJVuCJ88+{&2;51Fx^z{3@4?R)}u;QFj(aP1&k}|VrrMFqWlSRqlNj}DUcdG^f zy^=S~fqdV+Lx)0rC_QK7H~EQ7c?l8#H%PuWE4Il(g{(`$O+2qgWxYseYZXkd4J`8bfVgCEMphWuO`$y8uXHMqi5j+ zsNjt);M#FZn{>fg^){bDvRn-+MaNXZ_tL@}GY#Y?d_x@o6mQdzr*qY>FS?cImlj`| zY__yHzXekWZ)%KjCXS6AO%wDYyhp6qLm5Zjthh?#=-HKM`@1iQ1g^dKQqvrV##oYi zS<()7({B2%r*O3+B@*f$ADL;uMTeaklm;S7BT`#3KLw1!ahbMvLjZFiLx0%;eDG#& zDUWig$t-$pbo%|#xBM0ArvjqcNBi91zO+=d(IVH-(%9G-(0a;2yUt+P0>+1;H~ph( z+2`Fia_`(3{y1BYXFg}-e%i2sz`rTb)p;IH5<<1Mjx^mr7~4?X4#Ndf1OI{;ox_QK zBXFW=DyzE7vR;?^98_?+K+>6L`v{gBJoUy;3*@cdVr{Pzhq!JzA}`~y*VyKc9~7K& z+e3qM-kH)zr5h$PlUmsO(gDQQq%bk$<1qR8qIm1Mn$6aZ0NXgioJ8^$8=xJCi*#e;;W9zN(C>A;-NxOfQj(6p< zj^7_s3i{{nm~9VbH9g5mIU#N^<)tH%rLJcApyj5g)H|HIQE~e2)Ay88^aRk$!?oGS zBU#lAZD|7rKriWe_&p_GnzYLgEXa3dxm$|gm3LlkfQpDGrtNn!17HA`j0~*?lpmwF ztZxZc!*_RTLyVP>j2JD_#PCC2KoD76(2fKyOwTuyG)pzM)cpMjz7+qzsTjf$f&Sa_tRcS*&wF86u>Y=IMN`>0mpnLL}MPAsIm)n6qFXmW!hn z#IPHY=kid7DnslO)qx6T5V#14F!S+P9Jk0%-(PBemq|U2_pa1e{{05)WJ~Yn2Vg9J zssxn8;J=_2<8Fg#-0wlXhbLPyj^1U~zt%=bzcDrGu18{%PIj#i6;RKkMTOEVW}O;V zujm(khZmC&hmINg@=H&>Xv~~_){?ZprWBuKNK`Ek9;E}pQ;Vemu+#) zDHuO_%u#7Crv=?Om4oR~{*xyB-w$bP7*qI|9Ae=vswVtg%UD_Ze|9aDS3sVmpmkVN zn}2;m(o_*Wdqp|SlomoOTAox6Txw7ultua25bkjW%-mSKF`@F5Ir9Fz3%eS#&EixIT@`#DX zT}}F|KnQEQxA7#&_edKy0DCs?al-G=oRKT@G48E{rxIgg{}o+bY1LE+J|asIVf6JT zKX&+HV&ScwiWmDP)7H#ir1v**Wa9`#o7WM>9UN>uzHRlES!*8IQOl~ktUN)d}$S9mbu)5l}^Oo1# z`4hRShs={=pI0y$jWGxy`06lBi(C^#G7qmOY)txAZa2gL!{3$k_jY~hy#^`5){ zGA$vkUk~59tl6LX_u(we%Zu?aQ;7*mMq|Me;ZzWmmwQ-v>5C|qvY!)+HPGzK7Le=x z`KLDEsviTMk!Rh@RY<6-ecUZQqH<|!IR4!-QSda@Z4r_c8M%BfLe_e7JylkJO?uik zXNVyWF%?cE0uvh_g{H9?8C3sc{Bl(MsYBZ$!xL(HI9$bBIxdUd?sru&c`3a?eyQyX zdIavZYMw(e4g#{Rh2bFk4u!;%le(ErmLlH)y>RPdzmv=P#^5{p?h!M|k8lx<2MI_;u4hzkxw!~q~=FdBNwf$P1duAV{e|pLG zT6nDgSCi}UC=tgKjRw7pRL1?b-0?Pg`~cv{f{z466$ z34mw98(7QWK3Fi!tl4E<@olU$-~*n(S@ufz%PH37d)Zqf8fd#;7sZ4IOXIAMRb&wc1XEw3#DYvjPt4 zhWruK4JFtz^)RNhDKSJN(0y=&Yipv#wq#aSo~K&$-=ArErD=dqpZW%2+SEt014-#i~=(qENzPRJCApw<9`NLDUn7hZ0L)1YE8*a2nN7azw24v#-4 z5hil-LtdSb+0bpD+fBX^9pQmNACtz21T-3E86wp_IfY#bTnR1nY9tCv+2AGiCgi2$ zF+qhRX9K*|P@aVZ7axQ9tz6Sczb~H%{7EmV*r>G5ab}C61$%HYi93V);K-?DyL4$( zp~*@)hr~?Awfk_89&C#C;4*h4*24*i5mkAZMLk>7RK|bWDe1`RsjHj?@+53wTm-v}RAE{qUUZZ`j1%K?mg?dP3uo5{^TD$g`7M`<}I z_t0{F{YAf%1qDf_Mac6a?*k<*y4M~TowwuK36OQ_;Xy4DT2BryNhxME(oJg}Ao7Ow zM-PJ;>Qk*OSKaEqS*~(FM+Y$r)!kOn$VaI3Mc)qd!IJ9#8MmYV=M9YxC=EaL)_$6; zCm{aX$(f6#`Alc(h;}PnM8%_Y?-9LSy*<>3r+tG00?PB1q(28*m=o07W(&hLy08sQ z*48gRH-#oK!or64>t3<+Pb1%hl-RD-!LsiAUQ>@Y71Gw&=g{h9E;n%>OU1fZzbRt0 zG@uef`bq)-7;ZMt4%&n@f|(WuC=dBBSDB3*T76bZaIGJTjb8lA+M}*R$WI0r5(S`@ zh#EdT_D_^;;&1<^8Ou@~OwxS*d$@`6tEduHYKp@&Wzy9A@fPALUW{Lh(cz_o8~=|) zp#sMt{*=fOuas%rK_>8&)kFQU%ewVC$`OZ(6PcRC%PrHJCu6!L1w z{4Z!5fAhHe2m&<4)r_YL$bQ0-WFM99FNi17F56NBa_ta=Cb9zHKLeCHb{23nw7NH8U=YfbS<;GzM-%`ve&uFQp(VK6BatS<2$0V+YzmD9tJdsKa zLdO+YpUs^gN@ddJ-86vFyWrm^@h!%00Bpu#{n8Y>2LC|Ah=yB=DI)j?n{ro5?6=|7 zcYPSeYv^ND%znka;#=bPe?d7K3MbP=q&Ynji>qe47@S+f>ghl;h>*hjSijLPo#{Kp zB=Cwatc`~h6G&stOz!*{>ilg7>=Ne``F$mg|Cgc2CP%03lnAS0LhWGTFyNyzDS2gwbb-4qGy@QakM~kaNcDR zDGAcYU~ntn>`_LsPuF{@mr*2VbH+au8nG#0h?~9b)SnJ>r2&g^V8I-U?VyxO`U{-4 zUJA7Dd<|MDoVYCc^R=+z_Fl7=?@nw$Y4c3c?+C=m0;F7F@GrA#T@w8IjImyCO()Cn6IkPqN9>I>Xgan9_8 zEIyhKrQP+tu7QKrUr@t}0V|8O7KgmqUTyV;Cw`_Z_@W_e`x7j7#<>nV@;!bS;KPq^>*V;1vkSVZ3HQduf&%Q`f`JI;+9lm^ z$JG1ZMIv&mv|uj>KArX19cn%+_`u$^)Bj^kFbSYXrf&On#}hU4T4hp0D3RTpk|XE~mK7=d1YrFp0<2%nnWl-y=8Ia> z9_^;gE0z7P413^ZtG7(@+(;5T|i+O`XBO=!st;1d~X1$lt~ zq^G^!2nKSO*n8Fx0%w?l%az6^}AgQxNL<>MA!z>cio&2o!3`g7dn*yTwTH`^O)1fW}BD6sYCP zAp8mu@WC_1tMLcfDq_Rmht%3faIrT)xHTZZ*Wi0}_eilBuGQgJk#L}DICG|#=9piJ zlPSi`;Th(@vJ#D2Xn(a%(?wry$rygb)%gzJ$XwD)AMYq#cJO3 zEe5TA8T0O8Yg^`M!p%ljlrBNmaxHKHe#8^}(e%jNVMt^E9@X%`fE2E;|KG6~xXZmH z3fl!JS4_WA?+qvKCuZIPl-FMn^hg{?`zKwv${?kKBY`{{EyIeK{>pa}}YaX_AIMchmt#&)Dx<{3%P8>b9?F5)} zrn!e7x{ij4qD_8w5pEIcaH%!af1GHh)dNValRFLs_WTc(>qRo!$W!i zI$H?}@Ma3E` zmqV+Re-J%1G^Rmxy|F3WwA}`y7(gR;pV_lnlgyIG2}d%A3Dv%r;8Up;^XNTGS5x;? zb;pd;oVKPkGrmnyxo7g&jr)1CX=%!rtZ53WbeWAC;~%HX!;&mM54mT4si*zys}QBtrnk+Gib#^RDIJE!Lzkbk!L=hj}<~26*X+yf`#D_Rj7b(sON#A*JXf zIk1gq3rR5iufiSx#kgimW8EgoU46n>bGOmVO5+C_wnJogvOB%HQfIv=>z)S+!ODo8 z-Wy0EfUgw@@oddi0EI}MJ;)$3bIN(R&0!ZP6jDA7xMvWqA5g?hnP|fwS{y=Z@7`BT z{`f69cKN5La=I3d#Eom3&~kn8EYy{H;q5Qa*lBSQb;(K5q+a3@vKExvW@?868Ca2( zHbgT?BaAH|gHt^f80~a8*vvJ&A_c)@N-RZxIz8}~foOYKRR8CeY{do7hE4oYKTkB}sx$&N4F45Y}HQaOABl1%JUE*9h>#UDMY6e2_>(?*!3hxT90S?lnrnYDc z#O(xjMd7cnD&5nO-In75dS3sHb*p<9H}xR4`awKf!ie{^aaPD{)W`6R)u3^$S)i{~ z%vsTqsXga{`~C2fp^^oee&!qR0wDD*H*8X96!6cum83GyFuEi+R6bCm!@jwv!I~Os z#yb>7iZ+`IdA8LL95r-5y0?JxvTl)0x{je||?xkM|U>$HW zY-~>2-_o346MLJVq+!<KG$20^ zR1Ihyo=ORtibfmxxUuTh`^0hjXYa~n^N9#i=YU8pc9yEqw5a;3fF0|uS+QhBZYy3p zZ>E;WIUDIpBO}L2f574ZP?Z%~`hldM|GrZF@BK@C3dnBd{2v#{#jR;VoL@Gi0-RZ% z*kt?2Y0Ah#3sOME_{LsD?HdWqz!8qSb%`2>5q?L7L0QN2AppekFsxInAJ@!FcvzxkZ+wJq;32G}2 zoLCqC$g#lM1*9q{47adw&D8mV?TDLe=AMrlxgEvY`~uJbBfP-U$kc77;K=`D0c1? zd2R|=;Q4tq+cTvc8za;q89Od=x}syCyn9{+ZOpt|>V9ublWDjhS#t}E>jVO|f<4T; z{>I+2R}|*Nr=!}UWEx{!S&GaKR0OEjt>&ZQlOdhZ+R{uFX7qH~<>Z_(4^aA!j$=9No!Oo3 zlbpB}xgJFJ!)mR0Om9%|0E_n_~F-fPZpqGyT$$^H0 z#3L)M%MTZ7zF2DCcIzFE#mhb!pcqwH_-e)9|aV#HIg#&^TU zxBv}m&xLQsyb3fmZ7qse?l5>5%_YO9wuz|8A@BnhTAD zP#%oG%RPRM8k+&7+*5m3(DfqsDspSK>|^L<)@}Urg>QdB*-m?DIT)}aOA&XG&u74{ zU+qDAFdg7DxUe+5E^Id3>F8u62a<{NOGqnS{iEGVQ!E-=70sC< z3#XdBm;492jfZtRa)!FqTvNvWs24BGF9&$#x%XeE$@Pln=4@QWyVu67Ng^dqE^4f= z(mkGGQgIQn=cDHsCQ`HWs*mq$_#d|C9VJn@Fn3cC6;A8lXC_pf@nH<-P@i>sZO8VA zY>4VBvjj_Z=$KfgmD46^${Gt&FCk04CF*$Iv=xstkJ}V)hlwdF*tm@3Eta0a3=kbl zB%S}R`A{yTeanKS}0qC>ojDo38yJBB3xo70?qu(1x3aH}kN z!%dlx5moD6>!2rA93gl-oph=wz{>4gPJjU z^9IXSmgC;^fqqOfH2v7V^sr4Jdq=y!BPUAsk(X0d*Tem-z4Axoqe{&$h_1NY!x_#g zc%x7U-u$ftHGbxSR^pGS9MU(ATrx~T2{K6mNy%lG6FhC;4(P2tX!!Y9qU9xXMN0-} zXsqX9Uo_Oam+mMn=(=Yq(9H=N>|*xlv*#|do+ySX3U8Y%Z~~a(yuscQiI2?#%lu

UV-6bzYs{ITi@5v#3xJKt7`2Xx}sLPK78z7kHyepxgHF zSs)*#lo^;Ci7O#&^Y$nSkImlZWo9GBlOy81Yx{Q&i@kHaPLd;P(jh;GT@*lQ>$^&q z%hs<^SnMA-DNeYHPL(4>yr%8#ub5qDdR@lHlda>wa(0~%SiB-16f%OnFR+MrxuDk% zC%7(G?r5u@cN2JBmPrr)pe6g-FmlS48+<(D3^E29gG~-UC#Hs$$6ab60dAjTR2hZY zh3t%8lSD)Qv?@3RFTzs9WbWq=SD8E>p@6wcW(qL^gh`>PZcr$%rnVLDt%0S5(x#gT zUU{Zut-uEdRa@)`0Y&*DmcWw>M-lvwzzH8CmAfdwFD9==Fd4XspU5k)KjB>PVRGQ&ZRRdUtF zW=CIJWA$@P5SgH%$mtK#B=4{4q=8fMYiU?HhF0P3)eYB{?3sB0sbyQsyUko)`~oSm zclI{%*yMZGloY@s>y5J031u8KGkV9D%<*eU<@IDSRuY?mdj0ULq#ZP_7w1A`6Jc^9 zgK6n(&32}ml)#7>Bx@yi7uZv|>yqTTEGGPsltUg~yx$HgrWhLY(i1s&>ZZBDySyvm z4&xs`bWv9*@y*EkU6tAz48`0Bli}KEazS?hEpRg&;M>xe|KGp?HdEPsD-MVT?j529B(abPVzei#13x*n4bD>f_9$J23+dX(EkaKF)iFW zE{q9T@QM1e-b1Jzs=z%))Ja$&1%fKUWG{C1pfgDzco!vNeXxh1tF7|~+gl3@HFlSW zS%EJmwV;yN5qi_cHbDl{LHfA&k@;vr)@c8LNtqATJ+pMN{9Zfs?ISauSj)XqY<6-; zt7jXobuk`Wcig6XH;2ajo;@n-R6>d2(Vj+JCw5GBl2i1xCzpAR?VYGVEWpIqm8$m0 z{ulnQ9*g8G=%S5$Sr_3Z=3Rva3a+g2x|TWiTtE@k&vv;n{j_afw6;ry^cjV@P_ z0O+i7+t02F%=ArIU(wOE$}tCjtB0;I^r8`ww6i(rT<}1ei1wNC*TN&n+{ljjCW#() z>igAnsmV9OEnS0`5wn7@VSa<1LvK2F1AKM|WtECpS`L=|K}1bj6a!6_LTtzz_OFF^ zg4)3*_{yJ6pT2oXRe%pP3e|k9Gq%Tb38r!h_ge6eMzj_JX1bj~7m-uVWDa z2+S*MO0u0x%8>#IQ}YC8C*)`*L}7w&RldRHJb=>4UKd>a^Q(4s*&T0eKU7anvrdWG z#Tonop&spHjpK4==Ir-JEFV2)|MnyhkB;6$QJN&0Yi>as*#EZInRgIOTskZwEj?{r z*Ikizk!&h+^$_BAFul~2u7nY8|Hr~O4>-h{cxnIZs{-w0yNW}bfbqj67;zJeuDnIk z)LmuM_;qtC`zfPlY0D`CCC>u~(zg5(Xbe;>=nNXy?y-2K)$5VO;5OR$Ug=d<*Q9=| z;!9ubox3tHvWPg1ZVk<9O|>uYmtQxbP%z?D&&}pSy0*j|IdXUjmXjO~@)$f~?PuXb zxd^=bY-aHnWH%w22yc^dGL6Lb7UKFdGJprM0|Np3EW$r7c!77CUioDKV_*H|_t-6u z20{)4@b+?eQq<>yhf^f z)phx0!E7BPj7GxMRaAvD>hoyjJ4aKdj0>#zKiuG26t%+OqVFDhbvz>PjoX$v?$dNze}wmTk_CX}Ya1v4vI7#vv)13IP$C*YCHXSg@BC zm_+3AKu~R+Yk9SFext=GyQx#GIF5o3bM26KWS$*Y9#Q(#lB-@v4=VKae7dGk%bZ=d zWwZ?Cc!oc#+xKE*U111q@xDYD|BP*OeOtDQKY3qb2M%@?3>{$HY$~3}Y5$r%t6w(d#@?v{Fk6K$aSY%cR@qgLQWbu%Nyc4qRJvKv+tN#7VVv#~ zb*R&mT@YW&K?lJ+SnS`1lP?WnL9aPxYeJHI#!>b@!7>rwJe5)-aaU}+wYRL}eXGJ_ z*6_}JmfwkMO0Sd+c5ra;KHQwMC%GfV#Z3ZTC=i6WBkB?^szQ12ni;i|vll5X1|sQi z1q_$5Z;>Y!tV0KdvE-i3M`LcjPG8TAL9rPautQ<8}x3h@nbkR;R9!*1~|!Ap}_kJpF32jf+y52F5P zaKx6-ozcqAe--p}`R#@_xq_@9^jUlbI_;VH#hLYCy^|MLlCSpg z8-AO{(|o1P)jaCalZYCt)vXhj0RI6joc0Qc$k^3OMJr`FKd9o>W31VQOw5nx*Ox3z z(;t3oG+XLWc<{l6qp)z1z8ovY*2QQwMA+AoMN|@uN5sfQ_OrrCwQ(Uj^rug9LWuB} zrTy#$4&Aw*CE708DqlB~ZCI8S%s`itHrfH1ba517c*WCLk($A-)JG|ojZwDw3=-hB zm(e#2Ar#dJm`La%mE_bX`buZ;Hvqk+t_^^HM;dNYuC`XMOb6NTpQcrjUnLwWJ}dCD zssUEeKkHOs6pI0;n00;av-0(k&w#Gy%t&KI1KZwa`(jG>=VE}~;AH{LG`~-%T;B5X zJ*xIGNapu&3eB37XNvgN^dUC&af4e{-5#$y?QS*GNtM4bMIL3>HCDj|Q~bTw(Ao=S zt$#sA0wG(1fy(orC10T4NWK+SD5RdFc4EHUUeb#Ia;B0t_js;X%{Yr zXqDHW^@}r+VD3Eab6a5qIWa9X8c&2blY9u~N;zL1t$CQadVUdW{{%u~YR}heAze5U zAsrssszCf3$vlN-pU*8}sEEeD`>eF`;Tl-@ur|H(n0(;A!H%xK0d;AePLFkhj`!uG zAu_X3Ncty&(yvsMvs}2~9@0;B72M!NRJTOj1H@}U9`<4Abnl2g#$@5D%u4H8z0pQO z3QUh1LaC$g(DMDnYPsI8a@5ZwEFTqQ&;AO<~M+xLt zc((VBIXI$pMW>BFhE3-h74=daAFICov-XEO_mN*_EsdB_KXX4e`NA1>>#d-RF%ng1 z(3?3Qa6~g!B=VJ~bLojqv79bdfwVtRaN0fGFfIu3$QdBqOz7Qw9Jg;0v$4!sPWeHa zxtz_;MQX(>Ewp*psWf2WNTGafEx`I|TT^p(Kuzt(3Fqn7oOaI=coFb}P2w7GgR@bA z{)qf8*V0sJn0efF`Lovx7}G?@sj>8G-9tE&jX3X*keA4hgDm6=jz5lPpLMpykUm}- zh_$nuoH1Ph$es4y3sT^n-Z(SWyM-ZE(gZgyJ7zRxy>R+HNYeMAg1&pM+VHTfaMGbw zTlJO6bI^8Qu1n(wFMjy9lSAi^qA25Hr`jc=a>oz84V;I{I12oFoFA43* z=!lqp>oM~VhAkuPFp*Zge?dK;0g2GNR)n$IoIT1L33hn9y|x4qhrj&Zz~@czMW!%c zK^loHU!(jBVgVd*>x~#HtgDAnuXW>J-lgMS`Y&#YcY3FB*(|1Fr%00yDyNV_ef9At42(1*If2kQQ+I@2_P$~kxYVO{X{|SVdRb>v&zBSvbpS~j zhpEKl7Fq$s02PGV$!1f*!}kGJv(KXqPw|p(HKO0{W31-cn6UCT;N^@}PS5X(x*j-$ z%6&24&#|TD-B}){hwAxq_QU1~&IA`>T63gB&b2)-p5^7`QOCER2tMWz;O}Jy`yTAN zPG0B`KL6U&*3|j6J!y-co|(W2oAp`$4V3g1=w^l%F*V$aeawBu5ONe%E3S=Qbuu{* zxYyXOaO#@?qR$#ZeP`UxVXH9?Ek&TWPCHX{I-QMuP;~#vu==f}%T=!b;IyFI@8~1i z%n7m#zij0Suw5O`0a!63tg3U}Key%>JIIc4G^Lt}qdCr0?_p~%o8Ob+gU$+61L}?#OV$e$W>!O?-fmtV zwC}hL3@=lJaOYT7gMyOkZ{?hGvtHfY4VXUtn*Y$;=1@GEw}JXu-W%oC+0!Bt%+6&D z!pENi##~k>UHs0JBTA?NjV4xeq24wFoZ-k~!<|8_vw06gCezdRq-PTWV zCi946)r55n>1gJ>h=f~O=%knTbX z02RJMPNgW|H48GJ;+V}f=J?q?*i<0?s#)$c8a#%&-dX8hfSU*O522)q-X+a`-ahWs0Ogi_+eLl-Ad0p%*(>)=VM3kIyt|N{PGNf6qK_O-SemIE4lpM`OUv zqyo*1(yI*MHS3x44PMqP*qU1!$?nVpeJ_1~{47eGxcrJb-JvpI6w=hVGu<*7G=+4503M(?f&0U%S@>ne`>sdoep)Q#zo>wfG&n z^KukK4bB8j1~8q?M3AN^P|F%_o-kWG-*B!NWw*Fcz(+NSQhrorbH0V2*nv|B=1_V_ zl_7?a$gPk0ZW}#W8V#@QZNiCT z@0vBU<~#W2?42{#;vga9{+GRf`?~t>S35c6O)K!RoY%Sax~S1_$9?mUQPCe!JJUPF z`(Yx&UHW@C0bZzyc(bc3RwR$a^tSm*ThaUE!pgqg-o+^S-uM!hF#Af}%A@*4F=TgR zceZs0yZ`;pj(c|rrow$CN-9&3)Wi177C3}i{hSwXL*ti@%x`=&+P9Qgs-9cwj`FF- zp4M(8Y!IHNkq_l6*42Ktcq>x)hz=2|B!BtwhbbteI9y`tft@^#w$|P5?n1MH_>+33 za|E?t%XUYHRHkKwDNmFU7;wDpMqi8I;xD)0$uhPY4jsL-xqKAmgy0j>$KB>cJABHH zeCZ)4->>Cyr%q-bR-~Z)_&H^6$2jn@%ziNqPDM3qQzi1jw*Z}o!}aw3^@Jw0tO6lX z)`BoYd9LOk-eIim!E>_M$hhGjM5G~>y#%dU=nTLKdo2=XhNa3VhrG0<7GX_F?#x~Q8UDVRYB0gH>YpYS8OPw-})Ky#wUt*4+ ze?fF%x?5`W%WhUT76R*=OWOkP)ui!B)%UNGfQV5n`+mg|2gbN8&0ME=PItpxOBP;U zTP@4C7!WI9Lo2{L;*37yb_ZoU>ar@W?wc%Fk8&>V3@`H2JmuK+8Id0b+h7QaFnmbu zM7$|76fHN%{CHifB_1h9Q|7^HZrZmD;z>9H5Wol1o;?bXeYc%lPD2*nVAfoL=G50V z+W<*~hf2~n+1iTEAlMh>$KMNfsCvm(cyg5;MFJ>k{g4yIJe@QUrYNax6_ zkHM6a>!q`YG%n+&1}ok=#93Xtz{FVy2$z7A!)J2?hvM&M2Y*4@Dt^cg>cov><1qcd zpl8;wD~{9Y|DrAI^yeM#x6eC~(x7rW1KC#(Zn>Y`mR$2IB zB$6P?54C)Ikr^ywmkcs-`*-Ony(-2>QgxPUZlUjccN7;E@KVD|NG{t>@7^Q%4Z1+o zA^NSt(NhJXlsl`FLXLtzzzjm zbK?N%LP<>iQDR*&tBir-rnUCHR8UZpgT&)u^GQ@H2Sx0ZZ`U&nz3sQIC!hDN0;@iy zSg%xxnWHIrJC2mz(l9_tdHeu$Q_j3wB$=o5M(i>?-mBUDX-Bu8|2cWdZOJ&Ym_ede z+SHbtk`VcAqEYm<0_2btnQ36c`i({E!CA%)Z>qpd23cy&7~m>*ADEI>8nk0wlpg0K zbp5r691<7sV;iyPl#Kfm4WcaS_|cX^9dphsw|IsI=7A`3a!s{p?SeBM-l&@Pt%l#! zGGb-?$<40H)|x1zB6iIgWHA3oHfEykqg*xz9}`6xQPxQzbTwq=26YTKJ>CH6#Uh(k zw>l6+JR_ZmWK7G*o2dlF7W-0b#3)QtR)+awyUsK9-6AOqA8nTjd(e|0z8pI9U%Aip zkl>}W26_ZaEDP-Cn)!%t^QRaVOzm7Y(#T@EC^$|=;L2Lf7!zw-6Xg2F&^o8Z$3U{y zpm+uKX@YDag6`l_s;ML7a97C<5B&XVPnlq^-o}Zoo6KaBKRgszZ}~vqDZpPM{k_t9 zA>%alx1>qy7|L>2wHYnF4XAH@bKujS3=n}@)C!0bLk2zhtx<^OFUz<(r(uHB}e#A1^KC) zXsCp-OTz<`H_)+@u!L?_F*8rLYyp$*bPC<22DPmFl7QYQ(N2zED&XF|$Z+`9l=oWV z`{A6hy|=fT!`vxnNEGT-!5*C&LjD$oO~^q_Dh*JH+Mm_Q|e&) zP4UzSiEb=3%lY$$cBor$5NAzB0c1YGp)=Z;O3Uvkxf5%T+(_{^;@VfVOADqfDlZVx zi&^7nUnYGaLOMDn-`B_C!r!=c{#8LV%(2{d8kt6jesxHD5W2Yp5A`!s4y}kp9HOF|Rz)oMp zob5i0_H^)LF&O+r>}-kSsnqZWpb)_!SW?GX(v~=> zz3Vh((NwGZSykaMKY1d`Bbi;9UeK2dZF>jwqGqaD(2Mxy7kN zYsd$t*&ad(n@m7T$*Q^w6|Tl0hSX?Q@tla}%i$OgeS>$;lD$Okcu8bvN~Y%t_ojlV zZfctZ_i~5v^cWN#?Lmn@&VZ^bPC4S$VkZy|8e&@kFL-1;tn$%kWu-hlASdElr2t z@;n!`w&%m?$#y)L)9W;s(oxDco%5)kT&*-`5u1AQ6QU^D(|td*jcG-HNMV$zp`q%-|GA3oaWh_1Z$Mg(9(Bx~vioOFO^OtWwSq=o=Qup&ig3(G^)IDR ziz#6U(?=Sy)TPzgJPh*kA(!mUY-oBEtLy=y384vZfcn8-_HrtFso>|V>^0qp6qX2A zhPRmOfk5H{qAW}Rr|=n~ImEr9*i-IuEB?05hvwCl6bibbYzKlFkRKWvZ1CjF7tymJ zclM(8Q}-vNqZ}pgXlsl5eW~Bl1p5G)PT9N?GSHu~&(@|H#DMnTPn1nqW{AHlPkgw` z;j>a66w?+NuL{@);=(sK>R-yujC|Ezen3Uv_!u z_1uVe1Kc-tB0NfY2AmAI0LzhHl(?ba9)ysZ+RZr5k}*p*t!Kr+vch>2bX15<$6#B(&QoEo~&%dASdA8`+Bem0d}xiqxCH=3d}VV(FgfugFry*4sqw; z-_h)Up9A`D{F!F;F9_b%dnk7di?JP-c<~&t`JKahICCDST&>bY0xGEGowxPR{1S_JZ)d2UxmTRCo7c#2?)HX2M$VDwcWOWWqPvgr8!MoyqhOi_;>bq zH!XfCX(*t09F;etLfiN3JT5gG#lLoIyF2>V6G2fEcEWSQIk@+gKRe800@zFFEDEla z9JE`B-mxZ{g0?*rcn+tuBozR3xkF}`A&i~DS;6c{40WZ<`6#l-Y7TFX`9!I=_yQv{ z!K?7NYq&ep^wB+~WTsnD2Td{5dKbA-1pn#Ysx?zUOQ>tr0|`#$7vkhsm8%S?D@VW> zSW%Y%Uq$locrE8=p`;`7yAxIyji}q@TWIlq==I(Cf+vmnNcqeqi)!h@`de_}I5P!e zA9%>I_)SRlR+!!0d4tv%Ptn`%aXP!1dxuPN0Gv6Fv;70k)%+>E!0Npg?((7wrtAnBEN9uJL$q&{fw;HG`({6*|8aL z)%GepE7tx#Hol}rWwLP5XRihAbT^4GZ0Y@6a=_o`xo@1p&^yUiss|)pJ;a3LZRhg!PL}z5N0EuPMMoFOnz4BBj;QN=$2=m?z(RCrTVok>Ig*5Pc#e}-5VwaokD*%58-8T2^EmD;bUtO=a&4jhnCOs zG8w;^#!`_eSvbNt6A1o(tPw(;G2F z&cLf9H=RmQ7Eg_DOlq6-ER>&|3Xi9>8?o=c>5OnfIBo(+_FI@JeWwESva9m44V^mo zFFDg|yKnuE)#=ydi;&i+rH`~Pz4`g?2hU;GecSIi;qpP9_DGH%uGznO(P`PR;?Z7=g@!YV)c6 zpbnmMb2>rI@td?$o(|O;4QCpKU@Dz~0LrKdn?g)5|K=aLcwnul+puf!*{m+mqN}tl z>kMAxH6&sX(Ih~;SLvI&L&SHMoUe^5uLQqogUUZ9Q25?sQb?_lX|#~Pc9qMY4VgDd zned^=_mjG9IQP|}kKdpF<}0ox)#kY{S1fl_4c<(oOLOa8bDADW-ekT|@rHw^sV;?F zp~E?dgJ^-$C_3aQrkNbAH~zJQIA3)0;k&^v(!)%rQ{8RmMfg{X%2MT!=fqgg%!@8_sknGzB^JrFq1RC{Z;8NQ zLHS|QKJa7-r9dWiVg$QHyUB9Vm%}HqvAk8>_elX8=rRsg*u#k{*?Ncll*5=1>oN}$ zD0<%7mW$rC*zsiE7SZxm2lTGR68RUhQ3}0D#|*e&B$L_Q0izOP4%%ZjTyf7?XAFCF zFi%I^?Re8W*p7I!Ckr$o$y-MKMhSy-VQPr$5-~O04#*3y^8A_rgHn=Ga?70XVkP_=ZfhJg8qG}dDDo1An>!!^d^K}FH@h^95toU0kgng+ zn7bR4{cC^ULg*ETuRJ&(^ydKi2pGVm>C&>vQ(F$=6VcrSu!f~X+AB1+9CWWS8x81%Cq!Rpe3weOo| z$G*|vBvCmy6b*Vf-=$HZ|7rg$V{KVK4Le%W7o$KNlFIhuRSzwM*|0l)AEBWkZO~0V zEt1UQKi0^omMBfI>QY}y1{!*(JnBK*O5gGwY4R%^#CkjG_J^+f_RDJ8Ck10Ouw@>@ zxjEiUCAyp5;a?(}_akVrl(6J36_;AK{R7H5CK41y4NJAq#XUef`Bl>s+3 zc^DS1HZ;vKE|MAfRnxoRd&}ShGRY7ECb~n6SW9ef@-f8kX}tUqZ?3LjGbDqNLqgy!2!NgnR>=Gg z`pWs@a*&(qcahQ4?CGF;IdaF!C zmCwn-a9~6b#(Gf9)Hv%f<9R)TfGO$UtrSoE3MwrIDUB+-M33z9aP`~s;q@_c$wuii z?VA9bI*4*|JC9c1tVPykng<&EXNiz{%bG8T@2eAtlOW{iu`o+t5-!DZ$_U`eat_zTWB%{ z$3)DnGa+Qs%yoO_{Hv>Ryis3)1VQ4+*hcVN&8 zTstbs(<$#V1ajUUo|wq!>lbwo0w@Umu0Hsy7};P%Xn!tB+3R~nWOW(84_f;2kpIq3 zyH6jd!cXCWFz!up#!+P2J+=4%oea;98O5RINsOk^&n=@K_Z4Xo-uI)^N1a5E<$om?7=E+&5RXLU#-7 zDzB7{3H6(Ug|T6@lXz#l>{|0xCbRb0p0>y$_b6`bvQmL4W1-se@LsEn`wd-|m6IQF z*5(W7*B&Z4h367AQ8@y9A_SmVs1h(`z}*|wWfhl=v$k5T05j2L;Aq-p_9AJONs;C_ zYarpvf~@i=6%a7VHB~~2TlG>En6zPq!wR8VVd; z4Y0hoQ;^I_#GjuQne5bSI||c8^4WX~bwP7)zC+8Tobo%M_H6p|AHXDiLk$1iS{=VMrI-81G6JF zFs^s6QfuyM(BApcK`{3rMh42C#&EZ?kEkAPGDBcvG#oB@Vu^FBS#oQs4e%djFVm5n zpnDp)tW@;b8!QNnhrUEzi@TfmaN&Zg_d^{2m>ZY5v!eup#u9bT0o)6CoC(0y+WSa8 zC}#flt<0fx)S34V@WAkZR7OGO<<~R7HbM0f=EfWnm=+w#5#kg$;qlC^Wu#^&_69MO z#i5wmGrr9tLKL^JV5Wg2Pgw4c>9_^{4p4q)ua$5>tGa`$yL{>Aa#DS=hoVyJ@f+v0 zqW)2ZO~6F9TMKfDm{z4m{8IK0pwxfRGmkE932+lDb@iQ$B8&&MY8JY1UI6#po?sk3 zmS}MKC=FUvv;W23THk}ez}a+65_Lld1l>G4+q2gUETz78^+8%xe~^nfo|0?IdbAdn zxrIy$Qc%wnTK<@;@T~7gPsD5lH>Bslv?&qdW%~ME-jCuboms7r#(N-O;PL&n3gn|H zrXt3%V`i5LVJ?@k{H|r^qix+_9fbH75kD8{QH-*$ABZ@=F5E(dFEC@4g9)jm_9#MO$+>dc8hH z^9`{<-&gOM2Qqyc>7$$wrB`}K6U7+C|IE-JoY*g4q4Wmq)>WCZT8;ZU=e)i4e4Y4Y z`M7eDXWXi=7y*fb@@b#^!CZGpSH)Q@*0W(NjmYS_zw?r#)m*?ShepcdF)(FxGZb5_ zBK3xv4Hp0e9mSzdLZ2{a6&{S;csaUpzn7Q~9{_gFTY?#H#jLrWPEO$+djdcanubVg zQnK!TVOVR#VjdD2slkH34R|wKOEoo&=B78hK z#)eb_QxboYx2{PbYJ-81bkgJFS4755EzKtanby@VNl$}ceY_Dxypupwd__>#h&)fn zKP-pH^_zD%|7mRh_Un2+fL}*7h<4Chs*qv?&aJn5O@-INzJOt=4d$C|pIeVxH}dK- zd~QR^I%t9Ta{lpbd?H!>tJi|IdKxPB0?|GJyjpv7SG!Ahl|V{`LVf#2gq@1OV07_D zAD4KsQ?fXPJHc8E;h70<3}hz}L~Wu2AXL=g={F(CCr@S${jazVFIfC5Uv0}~NDnz{ z`D&1n5>Wt}(+f?8wo>YM*C3qQU@n(xy77X){sFl@#A!odL6l@%2z1ARoa4fU^I$K; z#(ab=Vd#j%W_?ofz}Gs7^WF0}23`uxXA(i8QXn^yrOs_X2V5vfv0PP17?J3YR-dz! zw_;_jC*DMgQ8na_src_BL{UoHCBXPaj*&%Noqxd!WY{SmoTlAwqE-vxhKncK-I>7$ ziRFFVPj`0nB6c>BwrRY#YLQ8*;&_a^z}J-}B9NMwJEs)|B>=vo=!bPhEo1j!P?o3fi^7xr7S&EZJ# zgbu@s&pKb$fWRB{rrfWb89EgmW1}8m0>k0|k-3taQG7W;!#^VvY3(KL!bC8yf*Q4Y z>HWVma%OAu-xxzpYuhQ8i(nK7SdcDZ8nI%of5-p{}NBT5y43;4M7lZ$L#8ZG-L zK-dB$$~lL6)%m^QS&TaCe|%^L{@->1E*(Bol>Pv~U6j+A1GcC)_y;&aaB7&jPn{-A zC3f{QDX+W6y|Gf`r$;uFpXK{^mCxAi$$D6ZFt`mp8A}<~Bf|HpI!TP?{FI$bDPxE7+*=@?cUd2VUI9Cjj`f;Z;=L8Dm^iRPyR3HZBaka@d50I zjur<%u>R9{<@bHFRx{(n6PILX*Ll}*=jgt^-95`#BzJ7Vjy;2$!W8(zDl#qX0CRG! zb2KP^4uoZYJDR^U25&5wD`9r8bpaRqU(kPn?aexFsdMa{L&HR!{bb5_6aBx7@hCZ^ z9U4m(Z>C}%KE>K)e8THs9-YZreUK@K3kAG1Go?r?v7ya~kyQQAb04dXPhGB>@(U8b zj(7jryJVf7(E8^usI;c!;x-#-p!q5vML&#C6%6L3Apc+y_rm6wh?NA)NkyeX8M*@u z_u7GdE@cK?-YnzZqY~S{!yH(1{Q5-rfiB;_??umJb&kAv=`^XW-k91NujZ#rx$iat ze9Z*JCbQrUx_E#f@NEraZ#@6&l@%J)pS0_F$O0*{`ILyWV?Z|BU(c&+$!$P_SO~p={n}#3- zWj{MF6nE4cT*_cxM|W$Y^B3kXti`ON#NYkS>sJt|zgbWVi1;voS)7@&)q6>*0pLBE zdX`G5$hYhVAgY}G5lH|>(kNoYDdPie<0$;rVI@sn?XmeAEJcUtTltY_?c<> zXU59ySJgs8TJvXF>|ap2dHtM^Iv1hZ3$KfU z-s6J5pcPl(tM=kAs0#RqgnF-9y8nWt0itr`fK=oH(6`9mxL(o5OUYdsZ2SSb7wG1r z-~X@vHo;A;5&F(c6>V+b-knJEz}q@ewKQ`QvBG!|!7<|xXrV@*eYDbc_bfy|9_Ka* z$vSj@8m)B)#LxuzC;Yf+n^Fvd`mI_Ds@7A;b)Qq5^QS&+h>cg^p&?661^iBm2qU}j zOZ7+~Diw)NxXym4&ZXvtY3$Fm)k?#v8DuL}-g)yOm-Q!U_GXC<_xrkYlw1^ErFLJ@ z`LF`n8A(0PSl^`K`x*IEi=T#E2rT9s42Bk6zkofxDyIsw{ZQOKD+(+EPECLa;bs@n zRxR_O-#(jps%Y~;Tj`x!EhIfw4gJrF+WAV+&_9zQqKI^5A$R56^N3q>Tlq{v{9gXi z8PWa3E_Lp^MoSgxN!U;;1AJU?f=#B8odGC3164w?w?W^<$JyOeSxq$2DvJnQd0{Zd z8qCTb&l(K`E%48~E+1VLI<)q-<{u5tO;Z@MqM(CX69iL4%&)?|-9KEt>)n1w6=FB0 z_M7cgLLD4pW%#=Z1nlB&n3i;;7ghgNbKULu-1)=gAGYOkv@vCL?fg{tv|%zobAT1I zITD|8A$S!ItZb#mH`Stg*dTh;%zHsVLy|_M+0EkrU8p zR1?9eD0(UmrAGcTx22=G>r84upzEAzt~yv9Ca4^xt^gdHfi|e==JdtgeDf=u(Y1;` zkXqO69h|-dYXk4k$WC9K+XAw?C0db!SK7K#M3`sJ`dbjw7(S;bb-a@@vf71D_N7w9 zPP3L!Uz0rC;%2lu@N+g};mw#fqwk2`tBq~?m%kb4U zjNP;7ZA`%D2&<~?yxzDVfXQd?ygeyeAUKoz>P5BJ!-nx^T9*AJV;x);oVJW!;^QD{ zBJ{qw>L~aoxNgB8#((ve{aSQz^;m{9_%A3*+pble%M>fTIl(1^rCt2ExIJH<$&)#} z_|;iSi-21)16~(NW)JLLV2>`wfXdbJ8iPvx&{vC*BD{?L=^bV1ZPjq}UhhFwG` z_yCLnk~ged^)m$0-7K3#D|}bT%w&mJf~&hxoihk1Eu~;_N9JAg+p`5mK(5fA(^Gk7 zjMWsV4uXHM92AEHow)a=axvuYyG3qU{5<}XDHWWV7}R4JBzI^eShan!iqOEYZy}Pp zWRRko#t0FnF(DDVB{{ts%XhQ!gjs#x{R#tEroEI4HsR@+FCNZPlu8&M_)#swee%HE z#&?L8k5un`ca0?TFJbupGr~sBBt_o;=eEThFGW<;{mnbaD=c=9&A@)l5t>-WBLr?( zFz{l{OHfC7p=;f^fsBfb;#k|q7)TOQb?N$Hq#j^Sy8)EF#X9@D+QBiZMYlHMqRxc3 zQd7W=+{+5g#Jw(-YX*)ie!(BE^2tNn$}@GvcyF27NNiaY$3g*H*f++K+I=6_Wtp=I z?{t1MV_o0ujYSd7k#hE)7L%yRVsXp4#_GMs`c|{)G2X;PA5G z1fYSxGNFdI4OhXOXm`xunakYrW8ylRTA#iV_9SSRpAK_jAP6$Rv?erlmUqlcbBc{^ zX*?F~F7s&vSB^!wb)?5Bt5mJYES3X0r93K7a2=pi`c4p?>tOI|4jCm?b(W*%c&k^8ty+qQZ8hX8%1HtlQ2YVi9gXA|nN zHnn@FM|0ik{xC4^1_r2&tTSP4*UMpU$gz!I284O>Jya9=QQ!cV1a4t*5D6!8I$~q!7=qhe`$9RC`SGgT9#qj&zD8#(ho^jP3gB zTr)kz6Z-}xcV!`lm(FI-HJwVbGoV2JWL|9xjLGu7W}anDH}S^- z3nTpH=~+6!K8HI-ega6Q+O1CX>M*uVhi5u{eVb-cd;01u%RzBrN}p^677I%Ea?MFd zENjtxX?=X)AI6lgW*>qaajn+r19qG}i=Mo09~)Cg9?OetC^0TG5e*B0t1 z)$E#iURroOoXdS0U0~XkX7`LaH|}Ya4rT72cB1r<_m~5e6$Cz%yUel7ZmBXi@;pZ@ zY_{FFor0|HCc`oC=pNp?77dfeYE`|5+~3e^Oun!cG_+QVW*BP=c*x3*%~3L>wl@}5 z+T0l6W^#?B@kiU6&)>)?|L|yP&VZdsl${48Okda%+}EdkR!Z4R8!^+c7lOVn@!A?L zRMpXI5w2^ zED!nh-=&H2`A&Zd3x~b&R3(QTvlh$$wpZq3q~;v7w&onR;NbQKv^}97h+%e!D!^Rs z`gtO?x)z?{p}Yz5Y0I?d4kGam+?8iJvYAT1d|3XY%H7>>t0i8j+#+A+NO{<%&`C(0 zdY<>gLIfM+LuB+K8-rOxOO;1u0lfJnPl@D>2l()iy&vEPpA-ux&ZtsD_5u!Ww#`25 z(pQuk7r}Zwq#zY^r~gCfO7ty)FYHxH|FuxtEYD2wg}$kgtfklkO+Ow7h8wTaY82#m z`8X$G2^*}nVNa;OoLecMiI!V-pCtaE2dAlGSjppmb5d8=< zsG*{HqFR41_eVx9?!f-xhZDeUeCA*#%n^7gW;HUrXqg4@52Y4xjaM>?E~wKFp5Q&ONHt1G z{-t*74A;po-(U~vJUcV%9tJ+2qmn*z(oON#b~4S_;luX!I{sM%J zC9yAJvE&BdWQs(Vt(I#h=9Fh!g0x0JWbnfJvp#8p->#Kn=+ds%%=KfEI-VRoU5?MJ zwnoMpBRm&u#ko-mxGu&mi*j9F%y2sUdy1MCni!Iw8ss+A!|B|vJ?x7$O_SDN&5C*6 z_Mg2$gvt)q45{0WtY#*tC)UjsaJ^Jq|oe30vQ-lMrLZs$@X5sK@8ioBCJg+-WX5r{@y@z^UxI zt&Z+svlog!bcU+1dOqf;%oTon);9gPJ-YuKbZHF!(vNl5n^$FA#zDu`-Cgr{f6=;O zB>83jRhZAq2~t}3WLc`dI@+YXU^K~tUwg)I&HK>r}y!UZ?sQ2Qq>meP@p@E=uf&TZ*0 zDN?hVlkm~13k0XF8m2Pr3-iCkygV6G&1R)*n2#8Zb%(vBq7Td!7Xv#z1g=xUU2YEL z{#e&}+Ws}(`L5KkPZj`h;{gCqRc5!8McaM74X&wFi!JN2hI;9L2jRTR+|P^IZLKJ+ z%uE|PzdvS^>>m}d;9!(j3g#&Ehp|P*s;Zhhvk|qBvd2xxtKqIf1e1GMaK&D+*Q~Rm z9=F;T{FlmeAtnwabdB|(76LwR@P8g)5@l+v`GC2q=p5Q3f@`ni5h94xgLADkWg@K* zP5fL&ezd=Tuekf}#^7`k&~gZK39YclQ5!DSiOLS12Nm0$^vScPL2rgfl5OL`nDpUX zRmoX#ucneOD^}|R0V0`3tYi&s&+pY38s3vXKoI2vdGjroe^S1eA)j)}$vgF1E%`D8 z(;{C}&`gjhaAgzhsohYvFN1Upn6}R06};YyR)5s@@}wVoqr*aU{COMyngjZF`|Kcc z>jox0lFT&{Ck_<3lIn=gLNJEiTXzE9g=xHONrTLYJpS|f*M0D)k}fC=#jzU;ht(T{ zOYmm6bYRA|Y1Qq;73@)Rr2wtS%V@u;`RR#!5(kqG5F%6z4mM;K!jVtfC>Q!wFVF4; zi;(Bj57;Q6YO0N<-mDE8dgBV)IuLJRmr@*O8><|M%zc_RNT{k=>^Il8@mh^S+4?HdIsXzs-Ye8$xoaJd@34lCxpf--m2e?8mTe1Bw8z=k=mNp|uTauW zu1Lj`6r*Jmrec{c%tVH|4%Mt(g16F}a**KnjMF+4Dm}j0o)O2fFcrT9pk{WJ&0{U`OxT^F2_M}LwH-<~B*%TY2B-a+li)M-K&WIC%ZGYkM~0=H zeLu_Jo5N=*5ZF!&vTy>)wm|kFKLFY`in2Ggu31?3x7#bHFU_G7Wk}=MDuRT&WpWeu z6u^ZU8*gxHnE4@99&A^BOHu{-xMgXYZzFHEGYd~V-@&lfU9XrDN@b(c{f?oBN&_UQ8PUl1{LiOUkcYuCGJPdkJ> zBDZkQ#dLSrR@2kh3$WVe#A`opH>76eOwjuiVFauyx}4_fFUWLO#h&%UeNN10|AI)H zl>Twd)#jRtEE&bNEZH7ttul1g;YLtA_rM%3?}5X8!+)~|oZ!FeLvQ8~!bli5#PMrT z24FYq3d|ZSSd`$%lwE&!ivi7T<5K8fN|m{lY&~}H?P zJ+#RxX5b(I^eus~8f9@*ItApbdx|Z&DfCdsaZTifTvAI`YSbpsl-kQE{?NsCIS>h+ zyFlJT8QhmP_sUfY%+Mm;yq6gNFN$O{18%}IF2H2cd48#$7#g}sVMNpET>ahW*~J@lm%K&?=)W$EJ@ zHq-1Mw=~ovG7iPK$CK=Xc!Dxb$c*;3>9 z*->bwSSFWCP6Q9B?IFyNq!~OUyN^ z(@4h#ry6Kb0b>h00$R7*F}n#!+3W(!mZx+qpqklFaFpdX650RWE>%yT+r8>2T#rzMn z@0Q+uqex{a8B*+i@P4lA<4`0aUJZ7D$genyyQ*o;WG#pC)^v`J@_7qpO-V%=v9K@@ ze1(t?_Xy-|*{2@vEFK<;HJwJS7)breeE37cd_dNS$0rN^IM&XySOpuRdW6%HscZjn zeP50DJFKkfD885plNTd1DP`RC*6kwZu(Pw+p(eT4j|D_ow(ad}NTqcnm=5B;xfk#R zRiqEp9`ke=B3^I-G_&7Ev0k3d;v}viaofcnL+d5P$0JV(r)H}hqx-ghGqxz2a&nOi z8{D2+(OZ6XD@M9S=vKgSOjO%*-Dj;V3JRyysB%!47ZS#aYsTwVp|Q8CNvx|Lo3M}a zJtRm3-F*YrJ8JS`!Nv8upj}Kno@0;Dr?fBgJcOk9ogQZN*7>4i3sW%=#zl8Ekg`(M zON4o>$%4oAys)0*{kW$MqoABA)v`r20Pdth^vS8x=z1G%1;>f7e|cJpqk zW9g{^(7#6GBauG^psx7GHB!UKAk)#(b;`??C8!T`J)`6;Q!4wuY|X`dz=5QW5O<-qZ^5nG_#Jv-in$ zpv$L|PcPF1jW1REIlDZBTn9LqjB8sny$z*s#$cICdE7_4Z(+{i&eiUD%W=Km+3dv* z1GB-FG=y?=+7uyrY!s*xf@dIPsX|gf^GYq2ob{I)4?L}be z-a3!dw`>3A)ic>J2g&DcV7ifLQr-EcolhRMm>Ib=Kk((z5m$9(Kf8o5TlOstWs00p zyem-wLirhz0Y~s*|M7ubQlw8MyPK!keF0a*B##%j97fF07f7YLHr9iwiK23v34FB*)G z%qEJSeuXFjkV=uH1%nq}-|_aL0ls-;SWRVWGM&wxr;S>mQKGhKjnPsvdk(xKQlC4? zDkm+zyK>2DInhkM*3(MB__>w>nU&D)t!mh+QYe6XPewTp8o||M2mPyZ0p69okXsg5*G&bp}Il-Imh-xYV5dAYFr1#*0_YH zEivnRTgk$q6>*GDHz_}>Pxn4q?}?tdzJrsqTR_e?b^9ua-ef^5#*j$;b&%yX6{MR(n*4?%R;jkE> zU!)<*w)S3*%E?Lmhv%Oui`aT^L+~pnL7!jb~WOuu}2ZLzfDqU3~l9m4cJk>(1 z#I*fDl&3gKRRvoCReoA5wrHY8yI=poZXz+mPM3|h`VGjGhYI}iC`<*3jxbs}uwU3& z^x|I-g~c_=840=Nu=Ky-I4N0IrSg^PXJM&D0%c>opgrTu_{$+gZmYOb)64+TMCJB& z)B!7)xESEh{;oUkFQ&l6H)2{&?qja2RL*k3y{APtgar$M8XhT;8#~`7R9odlom+VT zwZYtfcdYo%Vh~?E+4&dAZI0veM7{+YjU&5)OKk|ucCO3x6F^6pJbkUUG%5sL3{3HB z$|N+Lllq$KQsMcj!!^=HjS{Y?oL^VL|FW;isdQB-HEyIFxAg%>c5YQ)GL(NhoE0XT z`nVi;tTTBAtDMPJye;burKWAX2}ZA{dPJ}{t5ENLHLG}DUoX`Z8;R|2m9uBpk*pdj z7QdYiIY|K?>#soAkDROa2}+}h^3sWs;upq z7V~#)8P-|7pJTfkrG&yV9F#0=3_MvK!R}jS(>5|aFnP^0O`cg+=)ao}+G(a{#bv01 z_VSYt%pb2$erDGd%fU({ilpAWZXZi+@eQGmagPC<)?Kz-oemqA%$ERUq)dx!GKfF1 z?>`SV2OzmXaFa>1b`gMIvsu4)r`T}SPaBw^JIURHrkb-1Q^RDY-69(Sk)`yN-twV= zrg4V_zol};ozH_DQF@gCjt#sXrF@R6NLAK%!3vtx*CU$Qm8?zUZpANdy*Fm#51g8l zqq8{n4fP-LS8H@hI$d)dWGm0Dt+v}(DX)C@aA8u&e7*XOMW(!9l#h9Y_)j&;y0B*g z@FeAjKIQwFgT-NH`}3Y(qiXtuUn$*B^?5@8Sb}?RG?fsziGQ|-7}@8U4L77l$ zy+aN+iMdu_Wgon&mr1o^`8|U87IEmpwFCwlht*bZ2o~q)OW$3wwUSq+jc4Hl`g?pl z(A8wnpOdX!XqZ`;UunO1;;B+%o%mLa#cq4>@`BUXDG_lUcl^QWZWb$z_N*dJBm`ga}!hdQ(%-wfd$!o06X zY!CpWdX!ct7EoPXou;^~P%BV`MSR zuEzY39cGb|>6rrh6KCZ4J+_C*9ni=QOoL0%>=y`4q|+CF-{&d&`+XaBCLkxz7`<39 zCfwe-)zM-vt+dvP|}19fWS-^qNAgweqtz=K4X>zN|hO* zr0kOl@qy`4Y8Nq4?pzYEC|DHh3Oh*rul|mZN#q9Z%x}CXy4S{vXO7=2OXF1-wa-M@ zlbJq=O41VwwQuK;*cr3V>1a%!Yo0B+M%RUFQhDGPJ|YZIct;-|BwTS2xAGe3Pi7^J z%*=}HDck(Je`>p>)HmpP!ex}$WhL3SNdK3?8RzFb(*gFaw7W6pT`HNa8Ng; z38~iCMkUZCI`YX;$&o08j9PvfhQfD{PSYLLbQiq=EY`OM4;G2|FkcWB% zt^e#w)w!iv2j8Q@Vs?$T*vvR+*jzsE_w<@JR4zRdVI!?b z%Zdm0PU3)wplQ&ZAgRx&p2|&PLuH%od)1@$yVlcFs}zwQ2|e|A7ub=+VnX>%%J)ru zHG8+Pt!&{)xlx*=XyOEbYmDwPp@+5U*g)A9U-L1Yb|oupVf4^192#?>O1|oBm4xwF zELP`sbY<99bDR6aM`}lox<&gxX}}58{FXF$P7bya5VA!fx%aC#Hkfk~_6j@T&<^4v zKZ!X(e_zcUpS=F($@Lym(Eod~H2LrddC*sj;9|R)qA=Pt9uyyS#zJwJ;L^u zbkEeOL`UtIdm$Vpmmp6&^>$%u!o>pi%sZ195^nSR_onNZ;Q43dp3nOEava zDvJgYA>%Z!Ijw?dPq}kRV_gVb6Ms&Ft>j$wy9Z4k+qPv5WtARBqHea}X4` zl~L0@nF2?yAg8`w0eZK8K+e-O@QXFRS3Ug6kXmg}=w`xPb`nOj9HY<=bj2`~7Mb+D zf9I(N=WdoVlP|qI#~iad2{vrBM-pfoKB37`DmMcRRO`md5-{MwNr)nTiWmyb+17gg z!574Fw2ANc3fUZaPCqWY2x)DV+c38+{2K8aW8P+yde{fK?$yr#E?77xeIUgfcdTnZ zGYeNLPz^ZhPVpk>*}Yc*0s6qts{`H0TwsJL-E`6nPu@FQ-S*WUnjXG;Zk@f>sS^n?OW1sXcFfG3dJnt}%$zjy5@?dHRTx+Ke!sL&x^ zpMzN3OGI{s(ENqMb`608T;A%^(P$G3)!H00apc19-II&g^)kc+ZLNmSz!ko(R47SL z);NiCy=!_Kc^QXM(H(O|7NeJTB#g%84_xH(w?Up8#0^0)=R7#ZsUW0zdRz;Ie-K ztk%MG7L76si%LDqL+9Kb$7l2^isGh6*vEAC!mNrHwbC*`7(AvBYQf(T zX|Th55O;O2aH~1Cv2oNpqublU6uDh{QOm@TbdYFNJJZl5eAr|G4&CJeU*zIKvBK>G zv3^n9Xh;gYE-_Geq1diR^(MCr951^SYH*d*05XsKGc^#{KpEjEbbIVC@otV}alX@s@-#Xg6 zYZF9hT9XQZhnTF;p|-cwS`EK?ME}Ke_TGK8cV6Kc7?qSiR++U761^m0-P2*qN#ppx z@>zd~tC>BFXv5&O%lorGwc$fP2tkZXos))WKVN_Lyq|3jkp|yi>el9rEX{R(#515# zmfEyz41c=mI~L9DIwxB5?JUr?hO}Y!o1=hYEXnB}Q^MFJrR1YN863l$!FpslxK8&g+SvK=rJ|ZpQzcc@Wls?^|;V$ z`j-!*^(hyBxAX-`t+oh?#-VGwaqG0)Zg>Q$Vmlois2Yvbfs9W&0d&&^;dYA@_R7|g zS{t5wy0w@!B@jsTevsJI3IX+VbWMeT{I9x7g0NJKrIBbWe?ZFdFUd0xDZhAhEQi|B zUmfRwe&KuzkUX=JuS-F|gbDmUmg8_dMtt&2=0-c^vV{s;H#veKqRi3Jv@r(0@?;BZ zH)5KVUyYyZCC`MNL}QkL?Zn<+0U^vT?#5Bba|Cx@ zAc9UpwPRXP(Y!0!v16RZGx80$444^+(2suq0J*d5p7S#+J#6x!h>`T<|K`ek^^~Jk zQ&tQ=mryqJH-O^ajw$+)gB$RCjk#ljW_2|z{`tyV@8~W1FCXL8av8H5_q48>`!}Nm zKGHu%QIr50`(EMjGM;3+wEQ%s7FN)1*<)2zRr@JYMC^AuU9@vQ7|Vh}EvM&CraE{g z03*b}84DJGgMbx9sWbrx1N%rHGZyjuv(3s)f{)6Tw$D6E6R1-Du5iSE-Yxy~H2UT^ zayFOnONUDwWsJvsvYz2bN@^@OY1qOQ%Sk&aOaFMWr4`9XH*q*GK%K;o8z4sO5F^xL z#6LsX7PzV;rSg=XcJ|BEc;P7n?U>sSDoi*(wkQ=XLTCl;yOX?n_iX-7{nIzm8o}ex zkKbi*WsIVI4XBwg_M@YBD3dZ9BZEf5pGc2p zfa4t260vre@g_bT`%NsHR^&lE)rgDhCYV0FE2g!sp^Lb2p+Vqu&u`#q^k3^BsP%nX z!qkAC-iIUu91$W>27dFd!bjyRdiu*Lx6GA9&O_(yyzRAfqQ{F>0E90XNCm%;K7H)W zDNX*{jydv;-YgD;yM=@Y9;v4U6t~oLy>xQMXmT4@cV`4ooq?K|KQ2rmC9LiQ`T>EC z1#acg$iD%{s`c%R>nr_Y|9Lz6^Rq2Br7Q-+S5{cHVijW^g#_Y)(0oHw_pTuvCk(;g zRS5e!aag`0ENEjf%icE@xs}j|0nxlz&yH#2XP48zsWezy!1W(9<&0Hh1PAeg&148` zVgmRfuTdf3byq=(3u~>Nvy3R3fPzE_o3oDSfRH zu0a@aM$Ith*(B#*V$VxLf^jBemaqz0>^#eDYzkkL=H7U+{qDfQmds}9QAsXgjow7EqlzUw zL(m2Yji3<-?h>n=d*jK~{=c*d`fH;O^k>UO33v71Q%rkklSinwOx>fGEVid2y%PNx z7CPRoXl3g7SZ-SDnrg-i)H7o`7(SS|C`-A9&;B;q81Kf+`4Spcgc+T_C= zr^6?Iapam_6+-IHS{<{VRULy0Vm3ND1+0a8114CfP|Vci=@xZK?G}uLNj8^^It%1G zCXb

#&@G*+a?|;dHzGJ}V_oh;6I!4;-;c*sjHRCr(&U%FWHCZO89+ZUoq#SW2FYYANva++jo*y zYC`W+%1rDi)Rpt)x!>xReSL`^E5n$=xG#`$1&I~AbVeKNPu=4M0Fv|`Fc4mzgi(MR zqqabT`$JITX;%|*t%@r{Gy#NpTc}gRsU9mYbX7jNwqq3sNrCA7_=SJPPbmAHYU>P8 zyl1@{SFCOIcf#=A+kBq>{E?tz?xR-e4hCT#%wb7$KNfUzsr`d+{jBpRl@}WlgRp@n z;ZxEwTm!gXT{k!1u&5XU3v)DpX$a-_3dNYLr!;?NV$V&0U-@C{nlVI5&e!>*vJybM zGuW*xt&xa|#<+(Xw?dOkrk=xh`c~{{Dn@Z@r8VW$9I>>KmD(sKjhZ)dxZr@0pqG!j ztnbU8C;K^31)92HM*#`e5!q&H=rW_fVvTrbbIRhr zEq6Z5=Ie?W1UQ6xwn7LQLwm8iLeP9D?aP4x4sovQuSF{~5$TAGzLyapL2xPx$DVt6 zsY}Cv3e=Kj>-^cvM&#y~yHxl3Q|$?+mebaLklGgOqn7$Mz-^krwa*vm^r!uruFH7h zTYX%6_uiDsnn#UbLsQ1t5r?nshF*~ez?tX#F|frRJj#Rw)f519Ovmm!wkfn?Y>dry zTw|d1{WtK*?e*Duef3%(f%~~3eFAD#TJDHDrfg;%{{_M~P(x35_GUuU( zCW`C2`bMV!*ItB1pm`!%SYU~|sHwiO0iVk>9OMnve>}A(Lt*h+Tt^( zfh%S%3nt4?z}{$ue7zkQA<0tnQ9QhjF+{9Ve^Dq__PP0Fr5YV*8NJ`a5f}6zqEx8p zcvAevyzIqVDS-qLAq0B2_~oSA*Daf8;dIu9XtY>zf*!_QCr@5`gxLf@r83U;4cfmt zRTtS6r!Vh%nd|+`gex7n0~3#AWV=i&vODOi6Qa)QWU6E5NgHOJkmKZw@Dw;TGJfp0 zuoLqZIBKj-o}RTOcdTyKE2T&a+RmN6J_4tt(KW@ry{!3?no7|nK3&w9t!Q=Y$JR;p zFS?a5Pg9nzcM#;?D9^DQxAJV?`+@yqt+GIeXBn1DnWTI%)4zDufqNAPzo!d4r+yrW zJbMqpSF7)QOJB7PxIfvvi4@2FqX6xn4T9zjdg~15fQ}x78)u7V@YRH~FT%s$H~Wl` z?&HHoSVhlsoC5T{sYf{n(=y>c8Mh+aTI-W}$jdivoh|SkZ?2>cIG?pUoL^}-TRh|6 zgY%0CcE|fd^xV7o-x~JzR#v<%37>nHn=Z&O*0K*k_&FAYab0+@3QbgaMX8;Vy@#W} z+YRf!EX~v1TFsIc7V7h**w8~L5O|RSjGQSdwz4EN9Ub~oMP?Nu%pF(BF-=owEmI^3 zf;<~6o9W$Y`NC#h1p)l&c~8{$mj<2gvi z$yH65{%Lowze2xe=lA(@=f_8RfeEgAL1E$EFC;?&TF7E&8!$GPU)|z~p+95Frcund z!M(W8GcZ3$>Dk?K4>r-!FyVig_wph{_|j-+tvsoucoQYfE}-~_(I>tlCl|=CD6ZJ! zs0n%yQZBOyp%L4Wf6he7-o7MBOP@}AsUKK3@#7HTD8FoJ=FFWvi8|Qx)FWbp%wzlc ztN059%h0ox-*GP4pxKIHPApCSnq!xzG4#OeAq^K>(h`SX?Oh1i!q7Q90E`|ZB(__k zOwc!2?RA5X@~mJwYMBm$EE9*o-GH?7>NgoE>sJk2+SY#cTU?}gCh5C#x;mNo3VPyq ztOFRUoC6O+Wk><7d4~=$#HYrNY^J8!mmOiRvub}3f8X+S0!twUrq#joembdsUPyup z1h7l>C(rYZ!eLs+|Kjx9rS*B6B{?m9?r#KmFEvAn+1uLFn>Gcg5mo$SkRjJVptp10 zx`{H=We1jEo$$Vc1V-XK5-f;;_ybS9KA8%&E4`x+hSJarB z?Z^;gij zEF17*PEK?N3 ztj*n&1Tk)^$S*1CE03Pu3Li!+)#V6$xTV<}efe0A`aMflZuyoch#-0YfwZe-?oPRQ zT~Cdx1GT2mq_~M?86>Y@j)Ua|27Zd&{H}NRdFN+NU92BHFICUU)51jomZ%(W0TH;> z+`jlendb}~A>@n6foJjY|!`(b_yM7^UmP6pNR>%b!mR zULmVKHzdvUxs;(_RWhOQW+g*Il$| z4q2IDW^u?HPl<^Kfp3>buWEAb_+%IaVRKtG(LxNAA8-DC5>8y%FjjV@NncQ-Cj=eclOL@OoJJmV*8e%GA3l)EOd(ODf2V40Kh(S!)E zbP8pA(d0DD=dGGVUQGBoBhStOJs{W8om$1A*9vuWi?T0SeKM0P@nfSj5lJGiD**O- z{r6A7b$NSB;*h>$Li)o5eRe&k-k;YEb=VF*@lk)&!3xOt+csY%xpwv!em6EXhj4hs zXju|iS`XjA0IaLh6)@la+KGOO5UpW~UBokp@^Gu2I4E~khdCDR+RPT;XYf>;160@A zHO23S`mHIv2lmN~Wsp{CQK>rMHKr^>E8V+^y9vZc#2@+;4BhZ>Odb=D4YxCJ`^JM= zihXR#P6xTjFt!4zp`@^=fi9sO-RZ@R9lW%HwJOG#0xR{FgHpyvPySj&XQ>4<;5SZz z?Y;iiL`X(Rjyu=O;XBbb8R^zSg0Oq|Cf!$Q{|ui}`n&TCjJNBZ(QP$FGKb;$)rQCD zZh4Lh*<1%KG~y}OkQ(&5Gr3g9NX@cJvyX+n>XMRS$pHOLN$J9AZAsa;W68D#xC8AY zyY+l5OmH9IocnvT<*^5xbIosBJF=Db*w~%j6C0U5G|=q9XmzlwiKL$fppDP+8WvBf zC{(a_wS$en;7fzBjA3XJ=F!#h#s0zk6|5vf&w&K+zU>7tk-;|4a-^(BRS#F5%JzbA zVUPgv&vXelK4ZuKyn_NS5%z!*Udcq!Pp+e-4hc|(>>$08!lX*H5kLO}Z=H@rXXShc zf;DmmrNf_{wQoz~9RB4C*+IN%y5;Q6F?ATG+9My3>~9auwaYK7m6A>zsNw)`16b@c1*DwSCwyn zC`Oax%S_3_Rl#m*KA>xHlu2w3zQ-n&{k3>g5M$1GBSoDYxfSJg}Y}pl(4%*<2QqSOEJ>>?V43W-K?|&E%l!<}q6hwbZ+2zzbp3X}X z7c_+Lya_qNk^B`(SLdjy18D{4ohBZeXaTih1mS1#gF7~BZoQ`N&cepWe}+GsFs_;jaqj;OmSULl|bRX)w9EM6Wq$gL=` z!l+Xb*M9DyphxxEY|^u~;AqX64o2Gv|mp z{RzpK#|^}PG${U9tmS4B3}lydfpe=&md*d}`Pr1|R-Rw$aXzz-l4kRO^H%-FNDBZg z3XT88c;Wvq<`|YUEREK&7!dA8rT{Z(y7wn{z})k6Dm5oH;0%CViXCSQFE#0mZ#L{D z_rWeUPI}o_r!1przo{;=Pqbhj@&7y3m$$iyvM)&{OD1!)oBlyCM8uP}uMf7ckY} z3{YDs%P(>Xu?DP5Ho_QKE`aWGPK~R2NIag;L7UJ-}tu3 zvkxEQS4W7TGeL@sm(hf|I+6{`8E2*SWMVr$1Q?Wocy~6)ny*5og5MN6n_62W%x>Q>ax`0w zScLc^C2T~C(WwZ9Fh8lPwL`C0fA@Xmmmvo7mF4$K%;Ac^{GY-IdrzTf$2-Q6j;EGM zuiX;gYA6xsXY0k8O5LIsEAF)BoKB!G?01fEUR>4`XNj=UB&^kazh;~U&p%+Jni3FE zINVoC%=F5C+y?m_;n1yk94bg2_|LN=`~E;HWr+%Zh(TL64#~#8t~QHRk6Yf2#S%67 z*$0ea*!d3qm#t8Tw)w<{B|W}=XZo8JaX@d0k2>-tAYg;>>}-a2m{e9LmV7Jap;I18 zfTdLgZ+V2=TT1{PiE-(Q1s6JZw zdU9uS$3VG-DICURyC-i*X6ho#V9bhnT7wS@0jzV(O|?ae=k{(Q+}n*wq2b!}xgmra zzZCbI>?a>E^r!5R{cn{^EyHpq60~Jx*=GefO#i)1*9jkH5KLq!5UmXv0`emjg)Azb zSllXHJ56*#jc&W6oWuhOIBd3(oBPLCRm_+AYB!XH2FxW!e)CEWe~vbN{Kpfn3s|5! z9BbI`^BQhj0@y#M^7p=w`}AFsTjz@gE*s$d>8O;(Jr1-oz{@K?raX6MZQ|p6q51i_ z-`NV`E16wDw4Wa&K`m`_{&-~I%luq+$hM1A_=lx}U-~N9Uy2Ou+8pql?Hocx5m=do zWxI*3<%SacDStz~{Pg~WT$H6tRLW<+lRgr(b0>zJ z>et5(4$NOMP!g&x7@WzvxQI4=)bj{5I>Z;EbZod1Fx7>xDe$tihjwd?oA5!xxF*&% z7x!BGyRKfZogGR4;|_Z=jnZumc@TXMZat7Wr7ivS_c0ItuV($Ois#A(S{ti6oT{(N zgO8Lj=UCv69ds~I`;)#?VLtPowSsjohS@$)Kd1O$BQ2AglbeelWwL_Vo4BSx`mzXD zB8-3Z(doNPCsA`3aU{-l72xmoQ=OJ1_I0$Yz)QDjjUKCA$u%#_#CAxS4~@3TtBJ4T zJmWsgZvw#DHtCC^2rcHUuRS0yv7Ju)>)iTQdY)MuTWYgJ72T9~enpE)c&yM|@dE%i z`O^;%rQE+EJa0XBRns`=P8MLRoYr@4xRu;bpH4kV2%$cpXQ|8ym0oFXm)?G{y59vI z-uok^_P2BG^lIv3;C?hp=j$BGIYlk9JvTiCqsc#xmCNw(_#_7OGnB zNKnH}+l@(mOhro+_zd*7x&MI*X%f{%sb}Z&L9;7D?HjeZHf$g3%v{yw4->6xi0cqL z9nF?a=+(OF#vkp!+f|v0wQH)l6mX7{o-fXD80`w-mUn0-*ez`h1xPt^XvF1J8XwOg_xUGHf@^~Y~wbFi6eSi&`Xp#rIS zu)Ustv_wyCKT`cX>PK6m#&FvASS2ji@ANGPqEjC)&R1yE+MCe@Wrh=&l_GX{J-dF@ z`DB{1*H$kYpjd~`V)o*qb{pz4mI=EFl}~?LeFGHt{+H`N>T@!b1Uf zz)6wv=^1|y;s~QU(Qvv$2&L9fp+j1~rZ?huY#*UIN|gO%m-f?&ES*9rIqC|jf*(ir zeUxVCZCxFaES)S}L`}^DuCC$XCjKX7gI~rti(<4x2z<=9C$02Hvbp%@Pw%LZIbVKP zII1pipRqJL3qN<|wIqNZo3ifGE9C7LqHKV=AN@@~N2k+Z+`b~3I$)ev%ahiLv8;DU zAeulRdN=3wAQ#9rfErozC4kD-CuZW?D0vff#@*Frb@O9r@I|c5Xb+|s%VKNo?JKkh z1L_Nn)tRRZ!_Fk0+4%3FM~M=%;V)cY3kv={f?qWKIGp z{gjdCVV_RLAO6~%y_la@`q(scW(R>t{9(ih5zoAwt7e5s0|MXh4uk5Ki6wZyste_9 z2M6Ak-^%agR?xfP97JPIcq&zFjIof{942HYO z;7W}$61wXr_xXKl%s$`NZl|l{;>>%IR34pGCg?Eyi(CoX7sOi?AdME*D~MToA7<1? z319atWjUv-R0Y2eQp+uurY%JKtfZuEa6ioW-UOw^erxvrT)W!sMdRf(9ME`~)mV9> z!v{omjtX9iDk5TVY?!t{U`;iue6huI;&j=Ni7RCfB5=;6@O^~xXjYn$)wi92{}RUI+T&L4M_ zJn3pvdeqfqfCaiA!)p_bX>7u1Nv&eo>(`Dt`pE@BqA^<72MJSh>S`>YoZOc!St5w3 z(DUCxAy#ZtwEg*IBzOE6z&%e5D zfxcW{A9sGy>rSSE|4nrX?^%WEEpg=PeafffDfHXlQZl_P%M^pTb`gL4`k5Rkp)H!W znC+?8fk?yHvy%4_0+ufTIM@}nrt5E@Bvr0B&VGj0*;eN8PEq7Edw~agp>m<9#_5ZH zp$k`l?qV(zBqK~3>5>%9U9z z7pJDt7L#Y7U-hB4`(btU{@b-TbfI1JqA6>6SV~IlswS--X>*&+2_(fyBTN+hUN>dm z^sJm#RjLVI>c0E>48LA@E(q*yLgwup*X9n4H`_k(ncaUiyN_$Wl{i89r#iXrp3v}R zyEfC=ziu=`lWh1(0~(lSmkxnmKm)_%#QUFJ|Id&oRlPFw_B#wA0c1-a6`k6@Hv6U4 z!u2R{lGR&pCqfE$GZUxY8%c-w(G|gXlpLksM5@5WQk0nery#`9iE}|95J>d*s1!3J z8K|JhwMz=^_;3BQwz_sqyv8-yMzv_*_2kFr1A9x_ASK9=zkOX{E&*k)37(|L)~U9N zg0gbD)3RivZ#w253v^QuX!J}~RosF_bR}-M8?3vj_OU>{?INut3!mM>&kO52lkZNa zY8TPMr_~7wjh6bZW;jinVPQhuR>)J3KQJ{U8y@U_>_&f}+Twh}9HIr-`*m&Bh``Z>$BN_};43twR8`_O#YN;ei00|owk^i8dtgF4d zon+IE@WpFEZcWAASC!EOxZffF*_kz?X>43Akj<|m&nUx<;9W~p68bh)qBq)DzRy7C ztoi=~>-(?%71WR+{_*hP-9MmpECjM9*(pFAy?p>zt!=S57PsQXT0hws zqlx5C;!1=zj=FKrJ$OQW)WW!gB!oNa(w$~4+D8-8M)bTus?*G(4(`D{Q?w;v&`0Q~ zcPQa+{$(G0TCjK<#oIiZSD6S%~OT0 zAJXyJNG#Rm)X^AjlPLLQ=^>LwqZN$BDu#f|ODz5a>NN@X`4TMMQ0-x`s&vMEEnmBG zX8FM|GsToZiOGW2qHGcbF8f`>iM~OsoAe6%e9&h|O8iL3W>=_wtIeCk`u@nI#=#eL z8m7r~c)TPLm# zj`j0G$5o?+Z&l~680veRAa;c*Z%Fv4SI97X=#)g6P;;4EevIhG9cN?kR4Q9CqlibK6huj4u_{sisX*7Ta4zgWXF*jrexzxYu%vD+Qu79M6 zf7dc5IabNf&yQ0!d$xZ1Fr7FweY(ES5t4T1^=S~KmtUX1*wAXFyEA{XoA8r8U$qeK z1H!1n1v1xx6)rnoMVe#2ofEU7g>m%>8R5W!ufK_EYm%H}ss04pB#BsZ`gZ^`noCH4 z?nXHebTOb7Hlp%JA2)Vp$WwJFLlh^TwOS+$iC_dDX8-oxHW~Ey0$@YR+$||Lj)l5i z1;jCu`Kx4!)WcMwRH8tRF;yr~Y4!Pb1`eg_PZYNn>f`-HaFO3lkg|Qi86w*?lbxd7 z)jAK$!6}|?2qcyZtkyLYuKM^FChnWA&CC%p7{MSiapOAIEeY}-_wzu_iJAF31Z9UT zh+hA)|F!w0?f3B4JG!D{5!b@^Mz7o6#7THPl7&bHDNc$FzsvZuV-ozgP4TGfC2~Z| z9O}FD9v$-qywVkp3{M1y`Z1Io>WIvAc)Fg5kPttsCs8_rQ3H=l*sm9pCF zKrFNgiF46^BmcDcd7`FG1J)f}=lzp84hhNaJRf+F*#$)_n{P-icsLDTGJRl-dp!jy zwm*1-eqNp~<4lS+!FRpbXq66H1{TOd+f^EkIRthY1p_baj}@KXV#XIu3uBx|FDBc- zd{vAXWab(Q<42l=XAHoQ$03Y{325yIz)UJ>gsK^$=mNxW4lIpLO-*fZs>GAA0d_vx zM7YwBS}WpFyAYWaABSZP^WZ#JdIOCxm2+6Vxc9-}{%`(Jb7td6ca%pPuZaij6kj zICSaZ>IS*IdCe93AFAhg)q^;CLu|*}>GWlcp@6(&yffW=Jiox{gb#R_=j#R|GBtuz z@DyjeS&4J;NFLUo!g-SGKK&n_r#(aPN@4T#Yw52YqQtve&M!|l-jRkjzI{48ZE1;0 zFpfce+m6i&eT+z^XcR1LE5-;JeEV*v>Xn+v1lzYt6`uiG#$Xi28en_tzx;sa%AF~FAD+aI5-oE0R>1YIuZ2T^w6Fw%r z-Jdg>L+%uyHI*j1BLS19ksO-m?XFlUoE6cIv>^AyIodz#H$A8Fcz<@9Q6gVDl9J=S zZyex`;FvL@pp61ab+B`ppUzS~n#*d3S=p@IaKk@njB<|(f5Un%0ZvMFn3yn3K8W^0 zq(-e8*2Z4j8&r6+e1N|U)^SS=4Qc5;2tA%B9`ph7R5&U&KMO;tn-?67uW1te5>5XQ z?DDcd!8+~F6y|p!z;+Rn0$=+qZ7(_;%nKQDODGoUG4l$>v4BM}5)_y$5{Hd}nfFYK zVQ6rMA)#u6sgK4c8OWok5>b7K`=h2@4+1cSTV!PKj?ktujJxzZL3Ac!ek$nUohp{0 zw(Rsm6-RqJE0&~kGaYM2w}H$HrPJVOuTg1vov9qMF2aqY0D-Rglg4}c6^R{|3+Dsd zLQNPWs45u|I$SI|3Oasxguc;14Hj3?x0$8bgTKOUr(f>HOOJhU?N#l(JT=ZjnCPtNz|nWC*n#|NUQ9Q+0zDQ&p%4L$aW`v|&_jteC6sKI*r@+nT<*K@xm zZ_8-0K1U20Nz=2b8q7_}?mogOV^$PPY-NL^wXG9Z^{ke|t5WrHfp9F0djNyIWQ1Dn zd5`X+Mc^BpK1UVd6i=%K=6)zp~ItE|6_*AX(ku>_a?YRu?Llo_2ah{HWDLJ;<%t8 zGz&^?Ae$X!VJD7QU3<;kK2rJpvn9L2I~Q4Syh8Dl1L(Oi4>E9@qH1f3RH^b<O88XrUe?8yEOv@NFMSCOqGXS(q`e)b8UFb``Q3<2H}ln;2wp!rWp z(d$z#DKj0J5f_z%O*f+NEH66PH(cd(7LQmhnja_Ea zPU^X64+BfHCxLRx7y$VR{BNu+x&FCET^&1*)9GoHjq^A5;`3q^uByGppImkxPk~&K zul*Q*)E{SD^29y}FLaRS>5k_=N!dBu8nQ|jIZ+qr%jWm7JcveR5^pF~9V(vE9Hl7! z@~mq(dIJ4y-Etlc#cD-e2ip-Odpl!Y*L%+FhteSfJ=ZLv#TubWofn)`N~iF=J(Ab|OUxo7~f) zf#iQ~e;^e;y@MLbU_9%mQ*@+XT~h3yF|;ocPB8@;8KmM5q9!wq#}M0k-^G3h>0AIp zB+B*d|8g~W^;+|pOiqt{p-}{3uXXc)V-d8LLH2k2=z{9wfTt+qf(qu&iN!BY+-Cmm zm}g2)v@vNh8Jtw@Csq;7abiGDPgpa<)gc2~r{sEzgB3^?*E> zrm-4#y6L)D?7N7UP8zBn=LSiYw!v*=pZiaakv-xC{Z#cmSk2M>Vlca#U>>E}09RmS z=R8tk$;Fhi9|NR)!hnr=BD}(?;;@MzrEjL7J87VjJUv(wWAx9+5Wpdp*yk=0%-7l2GepL^RvzPhO|( zw}ml<>1i%OChe_7j%)6t$XGi>IAw~BE-Kb>LZb> zam#aqc!E*R<#r_URG;mblBrWAN%HwIhShO~%W6E(9^1pn)X-0-1bPD(1{~h86=9r{ zlRaKNoH9~9xda)JtibjB_didZl!)Fcs7D9BMYE+Bd3rIgw=ykloQKKt+_)(H)%ii0 z&4QNYI=NuL+ElE82w%0q<^j}bz6|I}9YhC=iMufBN0B*l{Cwt;zX5EC8YAXmDie(A_qz31rkZ3Jl> zsZUgrsHi0GUm`_lejYkUaPIC6igb!&tY0Gw!;|w>MY2YYOfE=W~9tINtagz*N~Pc6!i|4>OmEb@V*=(D)3HCxzW{<)gJHDzBbGC0LD`p|d|G z{g=O5oF)!`TsxIv5Di$EZHIl4i*Bb{ocZ|@hSkkP_&zu%w_4}gCw&WDRrKQRQC;QH zwr&p{46YWbUGcRvMF33t3y~Eg_GuI<7tMclj_^nKFGc7l3RW^tWvRSfYkVHeqL5mW@Y>Zi%h70{C&rR}eL1 znsh!o(I`8$290$`)!o@Voi6yK$lm+v`f=uuw}=BSc!1UO8%uoCe+@V`UpJ^J6tfbh z0el~j<)_f;k22x0+h9h&CdhL*-KzNcR>N`8bbi{i9bV;zhl|1@o~cBG2Rn|1{AVBp zI0TQNt8qf@Ru1OFX8C5;gF3?eUfC$qNl$ zt{zkQwZ{Rn)U;lM-Z!5+l##ixZz=$By`v$kn)pSA{g-qLH>X7pC8?vEp4;(nMwG+Oj|aXd%`hkH3$tr2nAkrO z=N;`mlF;dfC2miJNvf35+&e2Of6EUMPEuyF3OdY+=9fXRWV+5)!rXi5X^?x36J0Td zvd-kQrWzOR_?f@~O$BfsY0&|N!^6r-5|moD1{1F_kanZP)7{SH}r=(IF7byrRa$)W9-)41LwO-KSdPgk5kBf zlicG`7TawFsUQ%>Pkf!?|D*t%qu&XluWE3O4sUKq{%BvWy}M*rglROinCyxbZ3rXu2p-Ps4?4eH8U zfdY{{f)0BN1kDBc=p-+#inE0HiR9bqh#P+^SRJ(T%7L%d z2;4iZ9J*u`Le!wBoq_5&f40T~mwo*WSg!`T=xBdLhFtJ zE8%B@HlO(F>Z$>LeY@pvmTK~}dV1ISM8lNiTN$(uaBYo^sVei1DLZm;6OPfOu02fH zlLAY$h}v92vr4sR%AEAXiwDgqip7zAUNH#s%4mrB6G$F?;|S~=K_9ktAD}|Nvv_fF zM5diOilK!EdIcY_+zK615S?_x%Em`mZJ$#ce9T>0(^oKaSfa#nr}D6M@nT37!)%ev zL=uXE{ydNMS^8;$$&wKmmOTcUK@fYlkNs2ci7aqXyS-b5rJx7p3q;1MYcrHfHsX zK*)gQZO~JY((TJB$m<gtV$4VR};ou#T>&#DAXfu%4;0hw4h9EkP4#}Ja9lzw0j;*+)qn|W*xYz%rD(zPPQ z;xcu}Z>1$z2D8YuBL9SVm=bQ#zxe`QiYMGQQ9On+AcqI&AgZm4oD|oKiiDg=` z4{&*W50U(bOdD$IM|r?W<@^L~0xS;XX5bsAS_#Z{d-0`GE_4xCvHaLBioaAq9#=XE z=tRWgm;B@AHnTbBvuBgm!MiGX%4Pk)UIB~v+^D91>X|O=K;HkoYPcX43l zNG7UrD04;|t*(g|&y-duHGJ{?~Q=yj&=6Spr}DevWiH9^8L-mAo>7FE8)= zT1_l*!`uoO?=HC?*E~T^P(c^_ectfmNaBhRgPYXlbsT0L#?JCTnvx(-dJkW@sLt%v z&tR=v$Bt86Mg^(s^e1ahy{nZ0Y+LIafYxT4l$hjwc!3gTs?&~gTb3+EJ9L}UBimL4 zqf3UIF47ixe0()vm+J12b0#8Cz*}EQz<2X-Jp@jng)Dt$UuB0sTS;|Y|>Lpd#t`Lt2#J2x3eeUJV+{q zx%;J#?1TtybxNU^+0{{6CTm9T2WtR{GyZ`~nv##5dsKx(RyZ(K-= zS`S)eyh3RUU0_R{i{ZkQpz9tv7wr!2Q-=iKhh*jN0)Fa%jXFG*FASAG@QS9l?NQRV zaThNi>Ux@dXDBy#Y^kcX4sx?UWExoUq$imEOr8c3yRICr^}Qi)Tl~}MG4DToFu5uS zn654~CK<})h~89bv4kQxEp%QddpDq>06H?34_0hHifbr=KnV_OD4h}dZ8)kITJkDX zgQpLpCA{x}EJ{DR--Q4G{eG>jJkX=)%y77gt5E+$?aiqKQXJyU0JDPua5CuX3Dp6h z8I-!6;5<}Q-Fv5_z?qU8HM7AX2mqU0~Y6w7>vBb3j77MNb8vo$R|7)^q zaGOmZiB->@!SLKCiCUr?^|od%pWqw z$8k0cZ!m&QT6->r!3WrZrhfVYn@Q1YRLI6{84-1sKG$-NkDQ&6j6B_L(Gqe+ ztc-r4W{;PQ#~eHe=YNh6PD^#Ts|*;>GX4YE`wqj(WfXzx2pAH*8IiSCUpnslbzGv+ zf$OFE?m0d#D-XdRFrmar9^d#=Gs=L6(fain_oU0qO7%h~r7bDeN%y; zQOR|dAsFz@Q2Fl`V*St0hhd=qplAk|8BwwJS&s@Y_$=&FNNX#o`HeWz!C$2%#)D(9v6FWatc?+WB*q zW<}<_OKxTkoy6**umaa-IlEJyFsW<=SCXj#o!4%H!5G#%wxygix;H}z1*Y{F8Lln7 zVB37+eK)(yln>PK!5yQw9~&wdo}xLyl6PCyR_rnWXBhmCGi-<+QnBw4|JDm#8{iue zt%QF0)?%sg7-SCgh<<(-G67CQO%7|%lr{F8eNM>bRVDlZ=ZLO-D<}*@&Ttz62kBF7 zoWz-mx1pRp$^&f;Gl5$L0GBH*#NeQ(M_<;^)X<)?#{DG{7e8K~qlP0jKF{y0dn-h) zs07A-mlt4P4QU(GGYQ&v&KgzgD96VRkZ=r-e}Jkbk$BmZC_BVO?`!Hch=&lWIlt7VPSWkvey2Yx|6>DRcCccAy! zgWChPj&WtjhHQ`QK0U`<3Ua(n7!>g*Rt}^xRvmN-)_EArMmRB`JOTBWQBRE6g-a!Xv3IvgH=uGTMH zke%%%kkN}9-D%j7z(9Ck=K&7j!}n1EBZMnba?owP4EDGc365t?+YBcB@C#vCQd9?> z&H0bJ_&=!Frirr{f0|l1PRPWM?!N4o7n_LQ(nH%*=BysQP3YJl?)hW8t0@f4Q|PHC z=ncX|*`wsr&HAz`xtrbE)kU)hV+%t$>On=JEAXxWUz8kdQyxdr=Zi6cL*_|Qv&a#l zu9!32CTLgZ@B3mtal z6Idv24GM1+XP+i8yuBeR$?E+E?T=`+OB)k5*K|iCFhOoPsa-d6kjs8K-Z@bXS-;EU z7%X*u$LVi%DGThppdrm!jN>_=i`Ot2Et>1zr`$5#a2R)9pJKslR0xGbUX|KyCwA}~D`T5O)M2W)qkZ*1&2I?H=a(9mbX;5i7Uv~foN*W-&k_1=;2m4aZ z?LaAYjErSiAB(tPkv_&{P-OJtl4R7+1^SFzsLMM-oxh+B8Ts2+AV1qOFpWd{Zq98l}cS3DUJovZIJpf$lE zz(_I32u)ot5IvKRXyj>hA+V=UTZlI{HF)O69dC{UnM=grKx8d4abqZR29$2C#|4Qu zqf{!K?5h}zAcDW5B#OdhzkM4}_@%xloppT1@-gpG{)TBIY}^l4zPJ{r_M6ZlIo@JB zL@Y&SaEKW&%4pZ0WNFBc^jb9=SPHyIEiyCfxy!4`0I0T0hwLf1uig6MZDA674$(;n z@g%lf#=``*A{=g{a@3GjB$y?^Pkd8z z!bxuw=*;T7A_EjlAWK^}Z>L?3oYKdqzRwbo^8aYTbj5CC&K&Z)mTrX5bOQ*UL-Xg#hsKe;sIqTqjwJWYX{@291h z%d64!xD7^hu&>RX>TBHk9!HC8DKr)Ch!DJ!DSD(3F`8iD=ixklfate=>|XLehU)a( zgm?h)9n3WD2api^Cn*My@|tj~_V^FYQla(!`J6tE4^&pbt1I3hO#p|I=kO7EGVm9~ z80@@2kn6b8e@RvhRmbu-rUr#af=df=LPUe4AW!<6yU0almHM7_bu_fS%L0Ue_Mrsi zJQGu{K0F&6mla*uw^Umi{$|vH^(x=%Z%m;AIRsv0(Ld6L@G&jl3*XvG5}m|LSS z0g7GIXMtKrdfpD?--hso-KQ(kExZ3@4AIhJ#&2im<90qm7rg=6eiz@j{lXXQ-PgN+ z_7}vEx|Y6QDW7DAF_I}TYXV!4qw|}4GAHXa328@8)_hAE@S)k80Op@3o@UWfV)@?` zE-u|vj!Q7ES>F|>Uqk*J5obM!q@)QADF35`Bw(n^x zdTmi$~|a4}SOMWtp;3 z)o)=>j(nNZfO#eA02?2KEIp7`>C!a8eQK69C~H}z z!r}R(q8bSlJz1Tlz_iHHvJ5nx4kKh^tJ4Gk-i-hu(lxC$;BEj3MgyX({2p(Q{Wa35 zBOx|nW5WfbK3;NS_`BK1!-%qDBd?8h>P~ia#tS4oLg;DxKz+7;4NV3S>rBzpRY=-AOjDD@@<9~BZ0~YCU+F(b+ROs|l!5rv^^S6;UP||DGWWL| ziEk0CerGVfYVoa|*1*lK=%uErlHrFPF;?$ZKZ&iLvXO(!2-PO(0B@bqPT#xY06y4< zd!d@HpAG(pHy)NXG>wt}V^ynd4&u?uw$X30p+^w2nZ}0`%WBewxHUm7+NN=+^)2z3 z0C||bH$Br|&;nbAR^ow~ps3~ViH)##%pk?2@(F*C_5EZX8Hzd^vEF=OC~zKGsrQpz z-2?Nv$U-+m2v?~i;=Au0yzhk8aAgb&FwV>bwyrM?zNCohPo#Y-inDT@SgS<6^7-TC$e0kP^~7Zy52E5th;uV|HF!OJS(qFp|K?R51? z{fR9{K+A;WfGfRf2r%vP&G0$!83+N9fS-#a^g^;gbVcG0@LiLbx#t2nH-=rFs;3iF z#Pv7*F~FqMN!$*BOb&xtky>;>NwDPB2KB=)w_>b{;gbQ4r%n&^2#z1qH)6R67C+GS zR!XNgdJZK%kVTW^d{#xH18ipvZWdONw6)fR>ii^<5(rGpukM=7M>i;f{yc7!zZzLwF81d_kjIeW75JW1iv}1HEUymUXmh!L)Y*sXERjpt zWU_iw&nqY(z?m-6$0}0J&i*|B2GkDYh5)>xFpvj@096juQ;fA+Yh?aM!48rQ4S!kY z)89^FLq~9Jqvtku>!T6okt2gv7SJIkU%GBI-^L{Q!mavG7gz(+i=Xq$<0>D;1|k<~lG-aj{lWkTbjFqw#hdA>2BW>B6vWHe z>o=4yG}`MQ$T{8?*@8SqMr6z}*AKVaPog^?H??Phk)74!3~2&X#VHT3MZzj&dtjPC z(_U!6@GmF<@w4&!bJJxliWC?*k5Un9Sb?8MPP{%#U%cN zU#?Vu{iV|ny@}!*kYho$?;A1~^E)|h#D~-r(Y$AfvFyIXc`U3CNcc`Z=5eA_V}%;V z{mxy?HN@IfAaf>kCN!WjM$%nLaKRwpVBD?^NK^iAc4Ip=h%%30Q#TMDtRCqMS)%qC=lj7ZQ9Gff&^v~gobpx+=5gres& zP=a5sBj6M9zpco=MS?+s>XSd*)g=+3>+QhQ?P-3(8uoO@E059x`k`2X4tWmlDR$!s z9_|U(!ptD&KrN;UicO)uU}C#9p=jNi02dpWiJ>w(XJdYPv9nHOHgSI$p+B+OZtZT@ zhjoB?9qjPvFK9ZdRcP@q=>El8^l#h0pr5|nn1|Opx51l`TiZ>CDr$%528uMB%-3@B zdW0gy0GC)r+4ECw8D`JJe;99et*z)3);_)_+(V^>0=F(+KP(9OZ~C@#)klcG!D>2n=kw)fcPv3x<$lb;7g%4SLw3EN)Trh zkpUQ#E@|>$W;!OJ;3t888J|yG5 zN8jw4a}R@ID2Pmtca3{mk&)B|$i23{T@+T@r&IF;2bUWf8mKqh^#7@JYf@36O(s@l zpYNoCy+X$TsG;!9^*fIaV4s-}kxQTH&9iIwr>kkO+`@@ zo3>Fd9cE>wtB~tH)x6`|eF4GSs=e_Mnc-+~83HA`olh9NT?BEt@AU@4GvN;vTGiamVL#I$EiLjqgh%Vy{r11&qC#ptmtD^!#~ zNHB#|(F+6C7Q0*Pk#aQI{YyD;d9sF8G5g=l`i(7QG%=rl^Qx!$r!Kgelty*Z?Y{}& z>OywrZgI>yoil{HdNG*Chbg=Paa-at8-|Hn=bTCh{6ZM#(;iyq01;^~BLBv2?o8;Y z+5>rUv#bk*tk3%tXtjgJ?cTo;iZ$6J6z5%V`cF?aMxUN*z1_ilkew;p{E^VP8O;(T z=-qM9k8+@n$y-5`%P`x};u}QZzE1X* z*@k@DMTbiQXJA6n7ZNXwRomBk&q$n~V6}2T?)J2L{+=gAB91AJGsIhW5(H(%3SGyP z3u`r73_xtX%sH=7AWB0RPWjs6wM^NE<1Ku{Rz^sa*+4#i#81?pg#qcOy z$h~}L@ZyU_>uYXaA3>ZsQ)1tdNeioP790T?9-NvC`X86$-xj~e(QcA{M7aGS#dB;f z+><5pE3rWTxqlu^8oVI2`xm4v3JSOd%C`X=b#3{ve*FGM4DXboN5O%nNtFStGmVp= zJwvL*Mh^S0I4J}@^rQ87#5)pLuIj^mu2R1b&G?z;E=anc!3wwwNZ8RONW`<*rzFIS2h2RtN=fP=20fy` zdmp`yee6E+Cm;mr29F&9p0|j;ETIGeFInj!!=QGL4=EysOIH@1*4*!op%YWI7mSF! zp(hvhl3mEXBeoX#O0T~A$srb+rw{Y5(ElEjc7PS_P7vFkciuy!X(=!l7Pj9s!&blA zB-U3u*C(b%I~so~@tdy%CVy8Dyq)6Er4f9`9UCH(4&S7S;A~Bh-?ZENm;ZJ&kwo}>p6s5yAS^j-r`z)5d5s+j_h${;qsqnPFMZkdd$^lhn`pS}Dk zA#j^i|n>V)oKJ47Asf56x! zZik_Jk_#Q{q{De?H*CpM1?w-}t*)_9)Rtf>u8wb*oT*M&oeA9hJy zv9!W8Q9ifHESP^m@VVXlgp?4eF3ej#S!MFCw8<7|^R#xsu2RL^Lu1%Hb7?0MJX0Bsx&-Ao3&TI|Y#^(Ps;ynf&nQ&D2xl+c6QfN6I4@ z8TrYK;fWo7@6q55Prw}g)z@ahF3v+kXW{0jI9Bdq)nkeNr|2qyDwygCJoTp=A zXdm40i$Zp^m%@ri=kv=vk#Ke&nT^;J{BmzOwNq82e=#`?@gq_%JVAB+#X{lkb4&Ws1nRWBrif4xzwe9q&yERjqul!LLu$!*A+~5M?M1iVltpc+)0GICvHcq;E z3S)mfW>Iz0rI=9O$GFm;5~UgE@&O5hIg+{Ft(?iyNy)crye-uEp|aBG54Dv=N!=lK zMx?)=8)ym}B=CQWV@JR)${!(Dc|E=sw`o6-@ATmq3yu%Y<_puUS?|W!Q(@>-eQ_<) ziNR4jBFR<$6k{g1w-1$ZM?~Lsk0Xzs29i{gL9?@`9{{8?EnrIdPS4w8-9*{J7Au2> z;_=%=4*nm3ASQ=OpuVGlSihzb3_fWA4*doy{6F8Rddn|Q7d$mx0n}}+fSd_f@c;W; zL0zfS~6TK>1=lhAKFWdRU@`|kZs5};@(z-K|$+}ivFJyQWP z?a-uqK*0UKTo^D=_J6#g=$=X_DR|Gg^)ILss8ns0J&68a&e-AK8BcfeqGw*T)8N5O zOx(hmmNTc~uf^QXY30tdx8!jkaeZRblhyW5mY(rBsnb4aWs1QH3B)*@kfPu9P+<9R zD~XEiO1KrKu5hA@QuZL~f4)1G3{nHP^kDgunJDa=65Vj7ILWBypDYLS@U7WlK6!_{ zhgMZORP3i`9FhspwnkbnX&GBH>ISm(cCt+Uel-aFvap~zRx{%Apooft(VFBnpK~ne z#jYGH02#(*pj$onC`U{^62y5*__EUjV3w=iLJ?{s`Py!aHu33ciaJfU?bTe{`3nZydE13{Mo>)7wVJEdFE%81XU zDV$U9GsY}CEv2X&8Li1xDKU=o*wLBACb!&;D8Uk7BReK=Qra*Iww*Y5twunR!5gIg zD}{I^H4*I0(%VHP!?yOYCRQj~$~*5wifvU1)c_TiAOwH)e%YzRREGnKz0Wm3c1oyPMldVw z>sP#{nO)r4UiK?3>34*-n3&N0pB)yRWRQ~_wD$($=X2nut(cbaK~DBx0vI253tQ_9 znl_!6f=-A}&SsCJXt_WLT8R_D9uXwR5}=7JnT&sWs3DJGU@uOi69@TyoFxWXyw@H| zF9l0*0K-iC8Yr4A+epV-i(q@74F*|Le*>9J=iixR+cq12L1SVZgyz;~M||06FJ%3o z*qX$&^GQQA;4IpnxMT3%2LD?;Z6Y2=j=9_HpU_k-bOy3(P<%~t?!@t_ZAW8Ui~UwQ z4~@OvE@QGHla$v!G+co>26?#kK3piw>sVC_xqk7~klSFlv0*_+>&ZhkbDEv2$LfYK|c`^auo7tVc>UvyB^&Ia6GM$e+I?$)771PD+Va_nodW>g_Halp~)C4ppgS& z*T-5wGSK@4wR=a9A%D3Ne5(rzbo=tb?ciE8z5IccqQ7$nH!PvYq-^0idEhFuFCpX|!3dYc0Qt>T_rbn*$OPC&E`Jvp z*%4(jc1aKqcmH-F*H?+dJlQb7!!8m@6CSWFv30bUWtlI)Ea2_ALC$Hf9 zz4XkS@iv;B89)wRen6cp0%`YUq<~lE`HfI*_HL+UOb$&ip2!d#C}4xwqX+RdFgE0g zS1!Q|ID4Y3)vLxXwZv^2GX7Alvf-@?dpQc^MS{;o6}xgxZOhV|@i1%^Kn)IVbedMc z(>cL`#uZb1~`D-`xb$nvdY~osV$xCi@Gbj zWd(=MLw(G)?eOs5fDAoEwl_GwN%&SQdZ4O!1t;t9NW*@oTIL7!FVv-X`L46apfp_c zYtT=zKkGe2yHOlrc#M1_OncBz%$qN`JMFdlP$#ybXf|wVB(QLOQE9kt)kqzmW>XQMi-+cT>;o;am0Mk;)#xud zntdG}jwpL}?A8N?h>e@~-}`!->1mQ=z@^4b2`+cJGQpf_{c8JU39;scR-kfFyxW2& zEQ@86CGn?<;^yKq_}d5_%QaOXA2MI*J1_?EG?(uUeugVY0x$am00g|LevT0$fspJ0 z9@5h@9W0wwf~V5o#T90p1T7~!eAg z+?AcR6&TNtn<6(R2|i>{w<&-B9`Sg@O@?~vONdCxIcqVd(@nnBtPY8zH-_-HV)>=tlAP+Fb5y95rUQeZJc2b~gW zDb1WSs4emNkJ;_U(1LX7o^f|0LLAgQE0b{FX%z#$Y5*iJE{=~@;MbD7ILC)laLaI& z+s_c0H~m0tK`15k(Thohg&3fCugKPBo?zK5;t_gBIJy%{ZhH*9IKHQaoXUTs=f6a~ z`yP?}(gG46rkL{pzX?bcyL(``sLS3-+Ew(7QAho>OyVIY zZD*&6V^dk`S$6U84sjF?cQX=extPFk?g~0Ew&cknc|&iej$R${Sql`uTLCAet2!pT zK7JN&o);~FV5JEnzEwc}Zr<{qc{+(>xF`Ok|Hb$R?Plz&*jn6TViBo7#$RhuEq=-szgRzVQM{#~f->4(S>}gP=|AtTBB$b`1M3T*oQ4;#tZs?ZxLc!zCP`yI&(^zC|cJo1n5nlokVIw z;xwn2=hqnWYgNDYkCvq%eAY1|dnUYhW!vYm^N)F)FSR*$BTHg&%sEo{rrCL~BZbSj zme~(=wfeLul0u`^ZrF&lZZvM59c4$|WqUhKzFHrMKLbYC!fMfqh>D8O7EZ((UeLLh z^=gHr6l09!u2MM<0s%d_9Xbt_#exlq-y13HEMilsQ#*ElsNG_Xaat=A$P4eCjPt&i zo%{WC^2pco@T0jnzH)aa9VWM9Zbf*yv8%@6-+Nf0`oLZJbR^K}QAjEC)JkC9{DE zl*2s#o9)d1Yl;pH@`808ZV;bg9Cp>+b-W39-kPG8q7tr|qPF;nJYh$rJwuk5HvXDi z8a}K02Ydu1Nu2mV9ll2=cyG^P{~E*%V?|e>O7BTeNONg4W>PM8sPtNVO`xx9hF^oW zH_9j6CZu*5eQuxT)&2!3FtFTQpJALuQvC`3U;hG3l^(L3VE{*T!4z23w9O<2ZqyFG zDhm}Xegg04X7;czY#>fWf8R6CAKyOvVsJ3ers(8DnckeHTa@VX($cqCZ%;Jk?q-L9_$nmy~rQPzk1Zk_7?=BlTQmUP+(CC8VN=nZpmLB zcYR7b(cS2(GrRReC*9q+{NnVV15xUWZ*|e`$x)m#n9Xk0-6-}u)UGZwY0hFHfO$=( zgXX9pHi%LG<*`-aA=#=4FP%&gB{Utgdi6j&5DZKXWp?NzPN>ty^8|lNWyzd*nU+0D1e@|b#+DJ6`Tz|C40D5=2(z?BUvBx*j z0rW5&xS>TS~gKJGB~`GS>3Mg^^(W1r5Q;=n#Z0s=%utYM={doOs3%75aZLs}#M;R-Ju$~p< zpM$Y74~xC^*@WRu5;C*S=}b682tq%usVwJMM*xDCi6`NSQ6W;X=)B#b`^PPL>cuFr zY8ZP4oAd~oB9{a{F32Avbg8rUA0JtCYb<61d0&>1(jB@g)0_|n0M!rh=nmr%?6S%b z=F&~Gh^Yhd*Ffm&;!8Y|3pAQWE27vjdP%!I3GpTkK}&F;c1LxW?`fjw<ct3RuF6z(=Sy}z%2(jeI5}KtL&7~Hn*NL3`X!geSTQj*Pq1;QW zott=!CI8xC1SYK{==^|havdQaV&$!mdhlCEaoJvy<+BozivzPLawnlkvGRk|_YQ9w ziBry(BRjh{g^B_vp+kP4y^8Iw*gPrJ%OJV=s;Umfa>E`6Poy$c<5+)etSinOE5(7< zBY?#m#0?QQo3)(r%yoOzku7KJLRjk}7t#hefK9yekmEGRv)dM-;P)+ zRJQ|Bf0!?w45D^Iq8milRS%d2=K9STH_m$z00Vn=^f)aZ?A3okPh8i0*|&`!Kwu8l zG~K4S(?N80*AZV(O+TJDi~DGjVkvmXdxC5d{c`>+;J!g<_3fHhY>}lN+Pi{x-cVxf zQNAS|r}{xQP8i28!tLqlSn)svm%WUwwBSKYaDr47P%>QB@BCR^+|aJg=pe!<5(U+* z@n@tM-u9ww10=kFon7vDR3S{2X}ta@%__{`LH?`ZNOdM+5^(r%IczW-rP>YGn-|{+ zl)BvhQ#jh;&W=N;2MWUl6XK}W0!HHo%_u;rE$~&n2qjl-C`O36Hhh@uFoL_q0w7gq&=qF+svXpW-1FR7E+U+kZF3|2_BEqpVI?tqmx*rimwSABODMC@C6Z9bj%Pkzo5AGc z6>C*p8QbHS&l>4M-{X%GxEEMk6W=L&!SiWlz_vaD9rvtSB9FM21-^O>OGwx#;a&nm zT&vTuyQQeo=!eKrNTP}1s%HkK&G5*I7BUjlbfP<`LafkJnfqjGC`{BziGYvEPb};G zLYNw7JoS;dR3zP=h_4Jj=y=>3Qg>=ZLT~_|FBTZ6`ZV*rA2aIRLU=eFYS77zj^1=3 zFcU~`2DIj5f`36gRw;UzcLlND_fN;!2ZAV3gPCQ^``4dn<|`;vedyNl$m){&qwtkB z@;|$s0K@&7E&wA{ogkm`khS%{7^$}su=0B{2b!hbzHxT#Ia{EXFu0{|pdiqs`dU+Z zQ$;JNag#=l8vP=5xM--k&mmdZhCQ)sjcnsi72N2bo>_sG@6N;iIr?E*^-HC>(S$*X z{Rl7~TacnbuBJUC1Cjt8M}qX}3IlYI@7v1w5wfYx^ni&mjEo`P#^+ zm|*Xo--1W1d3qqCAJgSrm@D&h?mlaekfouXM1s<*I($y@!-)i93|~c5${s*#$W^Ag z#Ds@;p|6nZ{YiM}{I~Q$F_k6bJA+;^UsBjMyn4JqP&lAr{tvn^4{ucMw?(^ao57;; zm6FD)I=V+`ZQLxH>arj@4y0rO5&jk8BK6m1eYCI z4^Mr1F~P3}GGLh4*-$uOPbf2V;g53p=q1FMO{8Vm+0~G>xQJ-WE$J~PeOt@v_b1-A z>%+AIJnL2(tz3*2GD_8rehsifglVnFopcq{M!L829!nELCWQADEdTwpXtYEOCVm>2mjS#?%_ z#*F4{lH@}tQHl^XP&l?VQ00A*@i1|3n-23sQs;|w23H72q5}J%jQFNjBn|V!nwS6w z5BI^>&qbDG@OZ!vHPSE?_h*^A!(&0$9tHmh!DBX?t1o_I#uPNBzm=Gvdkeje9Y)Fb zv*4q3Q2gh|@A({}%^s`Nj__e0sVPf)ECcqPCYS?jw5ai_UI>;Ar@_&T7jN3`eL6;h0k64mlD;wuQK=C9N-LMy^;KYEJU04A;!PK>GRL8e7 z18!~wYcd_2!rM%~wD zk%+vVc_yCb9;xIXKNbbwF%xeM)Ch;io4YA6lOPX=n0e(Sr@rL(OQrqLrQ*LS(bqyj<$Kt5?@=+`FSXnZiXw! z+7_A&X8e<107Bf8p@;h4pecqZRvl=>b@tOM-0VgBGEKRxGb993lc267m@}!S+J8ZK z@Ob&X4{$(%AOs|rW-lQ|n~C8YCxi}76zi`%J%i2ZWs-) znjJP-?no}z(E>oLJmEjrWy@>;(-+e<`Aj!23#`*l(8@7=tpuZ&XtQzdWlVt3h8eNF zMsRsaQ;tRA+Q_|qd|8>;e=JOqRY}HEUU}jGb!2{wm*|YAiG`pLokpb=C6tB$&M^DH zf5Rg_$DAH?#C>9{*ND>U$$C`k_VvJTOV!75*(QNCT_FL^kft{L`$^BnA45Zz1R2>f zw0mICq<-XCyX(tlERie7(c6&j>jxt4!a1>^y~ADDlKep1ea2Rm{Hvd$aqR>yHC25A zmE&YS_8dAIJXrCp-GC?+rrL-e*pS?P_og40FrJd8DU*f+@o)9ID=;^X-?~oA5S5wj z!`FD=>#7}(KO^k4OP?sG=<^nAJQ$Dao>1Gx1TkuL3(-P=fsQRK!=R$7^>ssIMIH#S ze?{qPJP;>;dncTCel`Gc=?Nx5mBGL9w$RJC=_e82zv|^JrX4*o(zv* z`OvJ>bP!np7Q7Q3Vec4=K5nEd51-j6k!;vuN?(M`p95WpKQ9`Lw zbN-<87h^pA)qLL;S3LiTMQdFDQe^@K4uR-O3cEk0B_IRV{~08c-E%L7_TpSCs^Tz| zmKx1~3a>K8O*yi2)~Io-`0nSBZ5z@=+>@_3P`l>S8?T;Z2D=GVCi8dP4Z0U_%i;~o zMF2*?{;;3%KeG~5-s+5>mNBMwKM3KV)W`HfC3Wll>CoE35@4WuB<-84Nlc7ih~-DB zCY#{3q*7}8Z9g4;9XM*dv{DB7r5R6hK;p=(xba7Uo>E&G^xyrWLW2En?mIz%%|p)( z?_bb}(yaUu71w=YRA)Zyv%HPj6}MsZU05;DPo09#oMD{O9D{+((Zlds5tw3PhsnZ} z?h5__RQ5wNHTkpWUb_vT2H>)&E?jzGSDg3EK$fO`J04(T_WqXsFDS)q^W^%R<;N7( zI(6`N7CP>}!}?wqWdUor=LbGp6h(6f8M&?4>ihpq>H^kp^i;WSIi&bYXxR;=qK^9I zS^eYV@08uU>W{Rz1_GI&2I-tFKD@02Lo|m>YGsgl3QFMiouc5ycC^1mtaa0JDN@WU4 z>55ETcrKbMt4qPys>vmtnOL^)*xId=_zW{->H!`&vO}Ifsp-vF;cGp+8R6Rl$fneEMd?foT8U~4B5lj8HtflYn5^)$ z055csP*md$6Yo0U0zrKvzC@UT%v3tD1ii*xz9iPvgzP6ONWd1IjM4X3pU8_|CQ~d> z@V~p)-L9(`VCRS(J#c+SNa`O3Sj>gyli8qDzL(ki&lq%=Y~}vT7zYWJamlZ9j!bu6J;v zS1d`ZA#9HJHy@z|hO86@U>yPWmNz_S`8W^9Lq>0&!6?7QF--{$D==glJUM@@c8Hkk^PqAKCM5%1J#3cPOu=PH_0m$xJ{%IdK181-jMQ|RQ)PSlJ<@p zb2m70YD~Ugi-aHlRAScLlFZ#Z8artUq%IpW9{3FhJ75=y*t&%W3C&bGcZe1)RUK70 zKB{SYJY16a9~9n1xyCamkXsjRxH@vu?A`Q2Rk?)r0;$It$ofWqF!%7JY1@h_y_0?_ zny<)yR8>g;Xocg0DmHM7!@KjCqwLmrtY(~`(>;WhY_9?5FAo#YzItNbYy$>zH&J(H zui2S&bds&Y|H?j7gjNC(c?2fl#NK{DZMrm~IWNczm ziZifv&<#2WxLNK5FGh*EeEeAh{;;5)B1MuZ1y9pV>3cFDBBB;iQS<;GI*2QK_x4VYpX{iaWahvWS-kN2iJcnA+1I+r)0 z3dC~)yTOYvH4BEi>V}^bH5-DDO!}{#B_?51yK>Ab8U6H*+I&xwyl8QYI8rtMhaD&6 zj9K*HJ!bv)wwbC8Jsdm%5E1cf#4jC*H}N4JiJ21Po?>m(srFKn4#kU#Qh|%?p}Nt) z-E3O|3TVDj9N>_rYV?MzVpU)k+OSGpkyWdfjY6R-WJ|CByvEj+=)s`p^Und-sFK^me+#%!@b`rbP06QcQQ}Rq>CXIS^(DF?BdF z-+ffy6V4$72*UJBK4f9I8{wvkQg z{NcSpG#CptfB56X!_7B45T2dPhnRH0P3^FiT@&r7jS{m#O|l_pQfMtU~%;*0&

fnv9CDNs@OHBM# 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 ZFF?T0hHoArSG(q-82FF5wb-8j{|DAFlxP3| From ce05d09caaca9a42c6e095b7b64386e226994690 Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Mon, 10 Mar 2025 19:23:15 -0500 Subject: [PATCH 37/48] Add files via upload --- assets/wechat-link.jpg | Bin 0 -> 165863 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/wechat-link.jpg diff --git a/assets/wechat-link.jpg b/assets/wechat-link.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8752e8f89b1c8b2ed53e70aa93bb9f9ba324054e GIT binary patch literal 165863 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�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 F{||5@R7d~- literal 0 HcmV?d00001 From bbfef6e3ebe8aaed57d1d7956774f7a969a2c2d3 Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Mon, 10 Mar 2025 19:24:28 -0500 Subject: [PATCH 38/48] Delete assets/wechat-link.jpg --- assets/wechat-link.jpg | Bin 165863 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 assets/wechat-link.jpg diff --git a/assets/wechat-link.jpg b/assets/wechat-link.jpg deleted file mode 100644 index 8752e8f89b1c8b2ed53e70aa93bb9f9ba324054e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165863 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�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 F{||5@R7d~- From 7117add9b5c2801dcbd45cf30f225ad44a266e1c Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Mon, 10 Mar 2025 19:24:40 -0500 Subject: [PATCH 39/48] Add files via upload --- assets/wechat-link.jpg | Bin 0 -> 165863 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/wechat-link.jpg diff --git a/assets/wechat-link.jpg b/assets/wechat-link.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8752e8f89b1c8b2ed53e70aa93bb9f9ba324054e GIT binary patch literal 165863 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�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 F{||5@R7d~- literal 0 HcmV?d00001 From 56737ead6616561f8d5282013a4d10af7ba40ceb Mon Sep 17 00:00:00 2001 From: Haofei Yu Date: Wed, 12 Mar 2025 01:31:40 -0500 Subject: [PATCH 40/48] feat(template): update poetry and .github (#11) * update poetry and .github and fix pre-commit * update * update --- .github/ISSUE_TEMPLATE/bug_report.yml | 39 + .github/ISSUE_TEMPLATE/codebase_reorg.yml | 24 + .github/ISSUE_TEMPLATE/exp_record.yml | 24 + .github/ISSUE_TEMPLATE/feature_request.yml | 23 + .github/ISSUE_TEMPLATE/writing_task.yml | 24 + .github/dependabot.yml | 11 + .github/pull_request_template.md | 27 + .github/workflows/codespell.yml | 31 + .github/workflows/isort.yml | 31 + .github/workflows/mypy.yml | 35 + .github/workflows/pytest.yml | 36 + .github/workflows/ruff.yml | 34 + .pre-commit-config.yaml | 28 + Readme.md | 3 +- examples/.gitkeep | 0 openmanus-rl/grpo.py | 5 +- openmanus-rl/rewards.py | 31 +- openmanus-rl/sft.py | 7 +- openmanus-rl/utils.py | 8 +- poetry.lock | 7456 ++++++++++++++++++++ pyproject.toml | 84 + scripts/.gitkeep | 0 22 files changed, 7932 insertions(+), 29 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/codebase_reorg.yml create mode 100644 .github/ISSUE_TEMPLATE/exp_record.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml create mode 100644 .github/ISSUE_TEMPLATE/writing_task.yml create mode 100644 .github/dependabot.yml create mode 100644 .github/pull_request_template.md create mode 100644 .github/workflows/codespell.yml create mode 100644 .github/workflows/isort.yml create mode 100644 .github/workflows/mypy.yml create mode 100644 .github/workflows/pytest.yml create mode 100644 .github/workflows/ruff.yml create mode 100644 .pre-commit-config.yaml create mode 100644 examples/.gitkeep create mode 100644 poetry.lock create mode 100644 pyproject.toml create mode 100644 scripts/.gitkeep diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 00000000..99afe5e1 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,39 @@ +name: 🐛Bug Report +description: File a bug report here +title: "[BUG]: " +labels: ["bug"] +assignees: [""] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this bug report 🤗 + Make sure there aren't any open/closed issues for this topic 😃 + + - type: textarea + id: bug-description + attributes: + label: Description of the bug + description: Give us a brief description of what happened and what should have happened + validations: + required: true + + - type: textarea + id: steps-to-reproduce + attributes: + label: Steps To Reproduce + description: Steps to reproduce the behavior. + placeholder: | + 1. Go to '...' + 2. Click on '...' + 3. Scroll down to '...' + 4. See error + validations: + required: true + + - type: textarea + id: additional-information + attributes: + label: Additional Information + description: | + Provide any additional information such as logs, screenshots, likes, scenarios in which the bug occurs so that it facilitates resolving the issue. diff --git a/.github/ISSUE_TEMPLATE/codebase_reorg.yml b/.github/ISSUE_TEMPLATE/codebase_reorg.yml new file mode 100644 index 00000000..4606f981 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/codebase_reorg.yml @@ -0,0 +1,24 @@ +name: 🧹Codebase Refactor +description: Refactor, clean, format the codebase +title: "[ORG]: " +labels: ["refactor"] +assignees: [""] +body: + - type: markdown + attributes: + value: | + Please make sure this codebase refactor request hasn't been already submitted by someone by looking through other open/closed issues + + - type: textarea + id: description + attributes: + label: Description + description: Give us a brief description of the codebase refactor task you would like + validations: + required: true + + - type: textarea + id: additional-information + attributes: + label: Additional Information + description: Give us some additional reason on why codebase refactor is necessary to do diff --git a/.github/ISSUE_TEMPLATE/exp_record.yml b/.github/ISSUE_TEMPLATE/exp_record.yml new file mode 100644 index 00000000..f71dea1c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/exp_record.yml @@ -0,0 +1,24 @@ +name: 🧪Experiment Record +description: Describe experiment setting and results here +title: "[EXP]: " +labels: ["experiment"] +assignees: [""] +body: + - type: markdown + attributes: + value: | + Please make sure this experiment request hasn't been already submitted by someone by looking through other open/closed issues + + - type: textarea + id: description + attributes: + label: Description + description: Give us a brief description of the experimental setting and results you would like + validations: + required: true + + - type: textarea + id: additional-information + attributes: + label: Additional Information + description: Give us some additional information on the experimental setting and results like learning rate, data selection , etc. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 00000000..40dc70e3 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,23 @@ +name: ✨Feature Request +description: Request a new feature or enhancement +labels: ["enhancement"] +title: "[FEAT]: " +body: + - type: markdown + attributes: + value: | + Please make sure this feature request hasn't been already submitted by someone by looking through other open/closed issues + + - type: textarea + id: description + attributes: + label: Description + description: Give us a brief description of the feature or enhancement you would like + validations: + required: true + + - type: textarea + id: additional-information + attributes: + label: Additional Information + description: Give us some additional information on the feature request like proposed solutions, links, screenshots, etc. diff --git a/.github/ISSUE_TEMPLATE/writing_task.yml b/.github/ISSUE_TEMPLATE/writing_task.yml new file mode 100644 index 00000000..502f20b6 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/writing_task.yml @@ -0,0 +1,24 @@ +name: 🖊️Writing Task +description: Describe writing task here +title: "[WRT]: " +labels: ["writing"] +assignees: [""] +body: + - type: markdown + attributes: + value: | + Please make sure this writing task request hasn't been already submitted by someone by looking through other open/closed issues + + - type: textarea + id: description + attributes: + label: Description + description: Give us a brief description of the writing task you would like + validations: + required: true + + - type: textarea + id: additional-information + attributes: + label: Additional Information + description: Give us some additional information on the writing task like exptected length, main content, etc. diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..2775ad7e --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,11 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file + +version: 2 +updates: + - package-ecosystem: "pip" # See documentation for possible values + directory: "/" # Location of package manifests + schedule: + interval: "daily" diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 00000000..af460a9c --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,27 @@ + + + +Closes # + +## 📑 Description + + + + +## ✅ Checks + +- [ ] My pull request adheres to the code style of this project +- [ ] My code requires changes to the documentation +- [ ] I have updated the documentation as required +- [ ] All the tests have passed +- [ ] Branch name follows `type/descript` (e.g. `feature/add-llm-agents`) +- [ ] Ready for code review + +## ℹ Additional Information + diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml new file mode 100644 index 00000000..d063beff --- /dev/null +++ b/.github/workflows/codespell.yml @@ -0,0 +1,31 @@ +name: codespell + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} + +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + codespell: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.10"] + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install codespell==2.2.6 tomli==2.0.1 + - name: Spelling check with codespell + run: | + codespell -c pyproject.toml diff --git a/.github/workflows/isort.yml b/.github/workflows/isort.yml new file mode 100644 index 00000000..2229a390 --- /dev/null +++ b/.github/workflows/isort.yml @@ -0,0 +1,31 @@ +name: isort + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} + +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + isort: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.10"] + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install isort==5.13.2 + - name: Run isort + run: | + isort . --check-only diff --git a/.github/workflows/mypy.yml b/.github/workflows/mypy.yml new file mode 100644 index 00000000..da9c2c71 --- /dev/null +++ b/.github/workflows/mypy.yml @@ -0,0 +1,35 @@ +name: Mypy + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} + +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + Static-Type-Checking: + runs-on: ubuntu-latest + strategy: + max-parallel: 5 + matrix: + python-version: ["3.10"] + + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + curl -sSL https://install.python-poetry.org | python3 + poetry install --all-extras + - name: Type-checking package with mypy + run: | + # Run this mypy instance against our main package. + poetry run pip install types-protobuf==4.24.0.4 + poetry run mypy --config-file pyproject.toml . diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml new file mode 100644 index 00000000..96564e62 --- /dev/null +++ b/.github/workflows/pytest.yml @@ -0,0 +1,36 @@ +name: Pytest + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} + +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + Pytest: + runs-on: ubuntu-latest + strategy: + max-parallel: 5 + matrix: + python-version: ["3.10"] + + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + curl -sSL https://install.python-poetry.org | python3 + poetry install --all-extras + - name: Test with pytest + env: + OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} + TOGETHERAI_API_KEY: ${{ secrets.TOGETHERAI_API_KEY }} + run: | + poetry run pytest diff --git a/.github/workflows/ruff.yml b/.github/workflows/ruff.yml new file mode 100644 index 00000000..8ae4809a --- /dev/null +++ b/.github/workflows/ruff.yml @@ -0,0 +1,34 @@ +name: ruff + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} + +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + ruff: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.10"] + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install ruff==0.5.1 + - name: Analysing the code with ruff + run: | + ruff check . + - name: Format the code with ruff + run: | + ruff format . diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 00000000..cd1d13d0 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,28 @@ +repos: +- repo: https://github.com/pre-commit/pre-commit-hooks + rev: v3.2.0 + hooks: + - id: trailing-whitespace + - id: end-of-file-fixer + - id: check-yaml + - id: check-added-large-files +- repo: https://github.com/pre-commit/mirrors-prettier + rev: v3.0.1 # Use the sha / tag you want to point at + hooks: + - id: prettier + types_or: [html] +- repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.3.5 # Ruff version + hooks: + - id: ruff + types_or: [python, pyi, jupyter] + args: [--fix] + +- repo: https://github.com/pre-commit/mirrors-isort + rev: v5.10.1 # Use the latest isort version + hooks: + - id: isort # This will sort imports automatically +- repo: https://github.com/kynan/nbstripout + rev: 0.6.0 + hooks: + - id: nbstripout diff --git a/Readme.md b/Readme.md index 7f06e16c..884daab3 100644 --- a/Readme.md +++ b/Readme.md @@ -69,7 +69,7 @@ We welcome contributions, including fine-tuning codebase, tuning dataset, enviro Create issues for feature requests, bug reports, or ideas. Submit pull requests to help improve OpenManus-RL. Or simply reach out to us for direct collaboration. -Important contributors will be listed as co-authors to our paper. +Important contributors will be listed as co-authors to our paper. # Roadmap 1. Agent Environment Support @@ -380,4 +380,3 @@ Please cite the following paper if you find OpenManus helpful!

- diff --git a/examples/.gitkeep b/examples/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/openmanus-rl/grpo.py b/openmanus-rl/grpo.py index 91cf51c2..eda36d8d 100644 --- a/openmanus-rl/grpo.py +++ b/openmanus-rl/grpo.py @@ -42,6 +42,7 @@ from datasets import load_dataset from transformers import set_seed from transformers.trainer_utils import get_last_checkpoint +from trl import GRPOTrainer, ModelConfig, ScriptArguments, TrlParser, get_peft_config from .configs import GRPOConfig from .rewards import ( @@ -55,8 +56,6 @@ tag_count_reward, ) from .utils import get_tokenizer -from trl import GRPOTrainer, ModelConfig, ScriptArguments, TrlParser, get_peft_config - logger = logging.getLogger(__name__) @@ -269,4 +268,4 @@ def make_conversation(example): if __name__ == "__main__": parser = TrlParser((GRPOScriptArguments, GRPOConfig, ModelConfig)) script_args, training_args, model_args = parser.parse_args_and_config() - main(script_args, training_args, model_args) \ No newline at end of file + main(script_args, training_args, model_args) diff --git a/openmanus-rl/rewards.py b/openmanus-rl/rewards.py index f8fdfe76..065ef66b 100644 --- a/openmanus-rl/rewards.py +++ b/openmanus-rl/rewards.py @@ -26,7 +26,6 @@ from .utils import is_e2b_available - if is_e2b_available(): from dotenv import load_dotenv from e2b_code_interpreter import AsyncSandbox @@ -396,11 +395,11 @@ def evaluate_code(code, test_cases): def get_trajectories_format_reward(min_steps: int = 3, partial_reward: bool = True): """Reward function that checks if the reasoning process follows the ReAct (Reasoning and Acting) format. - + Args: min_steps: Minimum number of reasoning steps required for full reward. partial_reward: If True, provide partial rewards for partially correct formats. - + Returns: A reward function that evaluates compliance with the ReAct format. """ @@ -408,33 +407,33 @@ def get_trajectories_format_reward(min_steps: int = 3, partial_reward: bool = Tr thought_pattern = r"Thought:[\s\S]+?" action_pattern = r"Action:[\s\S]+?" observation_pattern = r"Observation:[\s\S]+?" - + # Full ReAct step pattern (all three components) react_step_pattern = rf"({thought_pattern}{action_pattern}{observation_pattern})" - + # Final answer pattern final_answer_pattern = r"Answer:[\s\S]+" def trajectories_format_reward(completions, **kwargs): """Evaluates if completions follow the ReAct format with proper Thought/Action/Observation sequences. - + Args: completions: List of model completions - + Returns: List of rewards between 0.0 and 1.0 based on format compliance """ contents = [completion[0]["content"] for completion in completions] rewards = [] - + for content in contents: # Count full ReAct steps (Thought/Action/Observation sequences) react_steps = re.findall(react_step_pattern, content) num_steps = len(react_steps) - + # Check for final answer has_final_answer = bool(re.search(final_answer_pattern, content)) - + if num_steps >= min_steps and has_final_answer: # Full reward for meeting minimum steps and having final answer rewards.append(1.0) @@ -444,19 +443,19 @@ def trajectories_format_reward(completions, **kwargs): else: # Partial rewards based on components present reward = 0.0 - + # Reward for steps (up to 0.7) step_reward = min(0.7, (num_steps / min_steps) * 0.7) reward += step_reward - + # Reward for final answer (0.3) if has_final_answer: reward += 0.3 - + rewards.append(reward) - + return rewards - + return trajectories_format_reward def get_code_format_reward(language: str = "python"): @@ -512,4 +511,4 @@ async def run_script(sbx, script: str, language: str) -> float: try: return float(execution.text) except (TypeError, ValueError): - return 0.0 \ No newline at end of file + return 0.0 diff --git a/openmanus-rl/sft.py b/openmanus-rl/sft.py index 0c6f025f..718aa78f 100644 --- a/openmanus-rl/sft.py +++ b/openmanus-rl/sft.py @@ -42,9 +42,6 @@ from datasets import load_dataset from transformers import set_seed from transformers.trainer_utils import get_last_checkpoint - -from .utils import get_tokenizer -from .configs import SFTConfig from trl import ( ModelConfig, ScriptArguments, @@ -55,6 +52,8 @@ get_quantization_config, ) +from .configs import SFTConfig +from .utils import get_tokenizer logger = logging.getLogger(__name__) @@ -175,4 +174,4 @@ def main(script_args, training_args, model_args): if __name__ == "__main__": parser = TrlParser((ScriptArguments, SFTConfig, ModelConfig)) script_args, training_args, model_args = parser.parse_args_and_config() - main(script_args, training_args, model_args) \ No newline at end of file + main(script_args, training_args, model_args) diff --git a/openmanus-rl/utils.py b/openmanus-rl/utils.py index 955f88ad..1b99d586 100644 --- a/openmanus-rl/utils.py +++ b/openmanus-rl/utils.py @@ -1,10 +1,10 @@ -from transformers import AutoTokenizer, PreTrainedTokenizer +import os +from transformers import AutoTokenizer, PreTrainedTokenizer from trl import ModelConfig from ..configs import GRPOConfig, SFTConfig - DEFAULT_CHAT_TEMPLATE = "{% for message in messages %}\n{% if message['role'] == 'user' %}\n{{ '<|user|>\n' + message['content'] + eos_token }}\n{% elif message['role'] == 'system' %}\n{{ '<|system|>\n' + message['content'] + eos_token }}\n{% elif message['role'] == 'assistant' %}\n{{ '<|assistant|>\n' + message['content'] + eos_token }}\n{% endif %}\n{% if loop.last and add_generation_prompt %}\n{{ '<|assistant|>' }}\n{% endif %}\n{% endfor %}" @@ -25,7 +25,7 @@ def get_tokenizer( return tokenizer -import os + def init_wandb_training(training_args): @@ -35,4 +35,4 @@ def init_wandb_training(training_args): if training_args.wandb_entity is not None: os.environ["WANDB_ENTITY"] = training_args.wandb_entity if training_args.wandb_project is not None: - os.environ["WANDB_PROJECT"] = training_args.wandb_project \ No newline at end of file + os.environ["WANDB_PROJECT"] = training_args.wandb_project diff --git a/poetry.lock b/poetry.lock new file mode 100644 index 00000000..eba0e8b4 --- /dev/null +++ b/poetry.lock @@ -0,0 +1,7456 @@ +# This file is automatically @generated by Poetry 2.0.1 and should not be changed by hand. + +[[package]] +name = "absl-py" +version = "2.1.0" +description = "Abseil Python Common Libraries, see https://github.com/abseil/abseil-py." +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "absl-py-2.1.0.tar.gz", hash = "sha256:7820790efbb316739cde8b4e19357243fc3608a152024288513dd968d7d959ff"}, + {file = "absl_py-2.1.0-py3-none-any.whl", hash = "sha256:526a04eadab8b4ee719ce68f204172ead1027549089702d99b9059f129ff1308"}, +] + +[[package]] +name = "accelerate" +version = "1.4.0" +description = "Accelerate" +optional = false +python-versions = ">=3.9.0" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "accelerate-1.4.0-py3-none-any.whl", hash = "sha256:f6e1e7dfaf9d799a20a1dc45efbf4b1546163eac133faa5acd0d89177c896e55"}, + {file = "accelerate-1.4.0.tar.gz", hash = "sha256:37d413e1b64cb8681ccd2908ae211cf73e13e6e636a2f598a96eccaa538773a5"}, +] + +[package.dependencies] +huggingface-hub = ">=0.21.0" +numpy = ">=1.17,<3.0.0" +packaging = ">=20.0" +psutil = "*" +pyyaml = "*" +safetensors = ">=0.4.3" +torch = ">=2.0.0" + +[package.extras] +deepspeed = ["deepspeed"] +dev = ["bitsandbytes", "black (>=23.1,<24.0)", "datasets", "diffusers", "evaluate", "hf-doc-builder (>=0.3.0)", "parameterized", "pytest (>=7.2.0,<=8.0.0)", "pytest-subtests", "pytest-xdist", "rich", "ruff (>=0.6.4,<0.7.0)", "scikit-learn", "scipy", "timm", "torchdata (>=0.8.0)", "torchpippy (>=0.2.0)", "tqdm", "transformers"] +quality = ["black (>=23.1,<24.0)", "hf-doc-builder (>=0.3.0)", "ruff (>=0.6.4,<0.7.0)"] +rich = ["rich"] +sagemaker = ["sagemaker"] +test-dev = ["bitsandbytes", "datasets", "diffusers", "evaluate", "scikit-learn", "scipy", "timm", "torchdata (>=0.8.0)", "torchpippy (>=0.2.0)", "tqdm", "transformers"] +test-prod = ["parameterized", "pytest (>=7.2.0,<=8.0.0)", "pytest-subtests", "pytest-xdist"] +test-trackers = ["comet-ml", "dvclive", "tensorboard", "wandb"] +testing = ["bitsandbytes", "datasets", "diffusers", "evaluate", "parameterized", "pytest (>=7.2.0,<=8.0.0)", "pytest-subtests", "pytest-xdist", "scikit-learn", "scipy", "timm", "torchdata (>=0.8.0)", "torchpippy (>=0.2.0)", "tqdm", "transformers"] + +[[package]] +name = "aenum" +version = "3.1.15" +description = "Advanced Enumerations (compatible with Python's stdlib Enum), NamedTuples, and NamedConstants" +optional = false +python-versions = "*" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "aenum-3.1.15-py2-none-any.whl", hash = "sha256:27b1710b9d084de6e2e695dab78fe9f269de924b51ae2850170ee7e1ca6288a5"}, + {file = "aenum-3.1.15-py3-none-any.whl", hash = "sha256:e0dfaeea4c2bd362144b87377e2c61d91958c5ed0b4daf89cb6f45ae23af6288"}, + {file = "aenum-3.1.15.tar.gz", hash = "sha256:8cbd76cd18c4f870ff39b24284d3ea028fbe8731a58df3aa581e434c575b9559"}, +] + +[[package]] +name = "aiohappyeyeballs" +version = "2.6.1" +description = "Happy Eyeballs for asyncio" +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "aiohappyeyeballs-2.6.1-py3-none-any.whl", hash = "sha256:f349ba8f4b75cb25c99c5c2d84e997e485204d2902a9597802b0371f09331fb8"}, + {file = "aiohappyeyeballs-2.6.1.tar.gz", hash = "sha256:c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558"}, +] + +[[package]] +name = "aiohttp" +version = "3.11.13" +description = "Async http client/server framework (asyncio)" +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "aiohttp-3.11.13-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a4fe27dbbeec445e6e1291e61d61eb212ee9fed6e47998b27de71d70d3e8777d"}, + {file = "aiohttp-3.11.13-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9e64ca2dbea28807f8484c13f684a2f761e69ba2640ec49dacd342763cc265ef"}, + {file = "aiohttp-3.11.13-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9840be675de208d1f68f84d578eaa4d1a36eee70b16ae31ab933520c49ba1325"}, + {file = "aiohttp-3.11.13-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28a772757c9067e2aee8a6b2b425d0efaa628c264d6416d283694c3d86da7689"}, + {file = "aiohttp-3.11.13-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b88aca5adbf4625e11118df45acac29616b425833c3be7a05ef63a6a4017bfdb"}, + {file = "aiohttp-3.11.13-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ce10ddfbe26ed5856d6902162f71b8fe08545380570a885b4ab56aecfdcb07f4"}, + {file = "aiohttp-3.11.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa48dac27f41b36735c807d1ab093a8386701bbf00eb6b89a0f69d9fa26b3671"}, + {file = "aiohttp-3.11.13-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:89ce611b1eac93ce2ade68f1470889e0173d606de20c85a012bfa24be96cf867"}, + {file = "aiohttp-3.11.13-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:78e4dd9c34ec7b8b121854eb5342bac8b02aa03075ae8618b6210a06bbb8a115"}, + {file = "aiohttp-3.11.13-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:66047eacbc73e6fe2462b77ce39fc170ab51235caf331e735eae91c95e6a11e4"}, + {file = "aiohttp-3.11.13-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:5ad8f1c19fe277eeb8bc45741c6d60ddd11d705c12a4d8ee17546acff98e0802"}, + {file = "aiohttp-3.11.13-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:64815c6f02e8506b10113ddbc6b196f58dbef135751cc7c32136df27b736db09"}, + {file = "aiohttp-3.11.13-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:967b93f21b426f23ca37329230d5bd122f25516ae2f24a9cea95a30023ff8283"}, + {file = "aiohttp-3.11.13-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cf1f31f83d16ec344136359001c5e871915c6ab685a3d8dee38e2961b4c81730"}, + {file = "aiohttp-3.11.13-cp310-cp310-win32.whl", hash = "sha256:00c8ac69e259c60976aa2edae3f13d9991cf079aaa4d3cd5a49168ae3748dee3"}, + {file = "aiohttp-3.11.13-cp310-cp310-win_amd64.whl", hash = "sha256:90d571c98d19a8b6e793b34aa4df4cee1e8fe2862d65cc49185a3a3d0a1a3996"}, + {file = "aiohttp-3.11.13-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6b35aab22419ba45f8fc290d0010898de7a6ad131e468ffa3922b1b0b24e9d2e"}, + {file = "aiohttp-3.11.13-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f81cba651db8795f688c589dd11a4fbb834f2e59bbf9bb50908be36e416dc760"}, + {file = "aiohttp-3.11.13-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f55d0f242c2d1fcdf802c8fabcff25a9d85550a4cf3a9cf5f2a6b5742c992839"}, + {file = "aiohttp-3.11.13-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4bea08a6aad9195ac9b1be6b0c7e8a702a9cec57ce6b713698b4a5afa9c2e33"}, + {file = "aiohttp-3.11.13-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c6070bcf2173a7146bb9e4735b3c62b2accba459a6eae44deea0eb23e0035a23"}, + {file = "aiohttp-3.11.13-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:718d5deb678bc4b9d575bfe83a59270861417da071ab44542d0fcb6faa686636"}, + {file = "aiohttp-3.11.13-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f6b2c5b4a4d22b8fb2c92ac98e0747f5f195e8e9448bfb7404cd77e7bfa243f"}, + {file = "aiohttp-3.11.13-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:747ec46290107a490d21fe1ff4183bef8022b848cf9516970cb31de6d9460088"}, + {file = "aiohttp-3.11.13-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:01816f07c9cc9d80f858615b1365f8319d6a5fd079cd668cc58e15aafbc76a54"}, + {file = "aiohttp-3.11.13-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:a08ad95fcbd595803e0c4280671d808eb170a64ca3f2980dd38e7a72ed8d1fea"}, + {file = "aiohttp-3.11.13-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:c97be90d70f7db3aa041d720bfb95f4869d6063fcdf2bb8333764d97e319b7d0"}, + {file = "aiohttp-3.11.13-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:ab915a57c65f7a29353c8014ac4be685c8e4a19e792a79fe133a8e101111438e"}, + {file = "aiohttp-3.11.13-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:35cda4e07f5e058a723436c4d2b7ba2124ab4e0aa49e6325aed5896507a8a42e"}, + {file = "aiohttp-3.11.13-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:af55314407714fe77a68a9ccaab90fdb5deb57342585fd4a3a8102b6d4370080"}, + {file = "aiohttp-3.11.13-cp311-cp311-win32.whl", hash = "sha256:42d689a5c0a0c357018993e471893e939f555e302313d5c61dfc566c2cad6185"}, + {file = "aiohttp-3.11.13-cp311-cp311-win_amd64.whl", hash = "sha256:b73a2b139782a07658fbf170fe4bcdf70fc597fae5ffe75e5b67674c27434a9f"}, + {file = "aiohttp-3.11.13-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:2eabb269dc3852537d57589b36d7f7362e57d1ece308842ef44d9830d2dc3c90"}, + {file = "aiohttp-3.11.13-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7b77ee42addbb1c36d35aca55e8cc6d0958f8419e458bb70888d8c69a4ca833d"}, + {file = "aiohttp-3.11.13-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55789e93c5ed71832e7fac868167276beadf9877b85697020c46e9a75471f55f"}, + {file = "aiohttp-3.11.13-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c929f9a7249a11e4aa5c157091cfad7f49cc6b13f4eecf9b747104befd9f56f2"}, + {file = "aiohttp-3.11.13-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d33851d85537bbf0f6291ddc97926a754c8f041af759e0aa0230fe939168852b"}, + {file = "aiohttp-3.11.13-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9229d8613bd8401182868fe95688f7581673e1c18ff78855671a4b8284f47bcb"}, + {file = "aiohttp-3.11.13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:669dd33f028e54fe4c96576f406ebb242ba534dd3a981ce009961bf49960f117"}, + {file = "aiohttp-3.11.13-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7c1b20a1ace54af7db1f95af85da530fe97407d9063b7aaf9ce6a32f44730778"}, + {file = "aiohttp-3.11.13-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5724cc77f4e648362ebbb49bdecb9e2b86d9b172c68a295263fa072e679ee69d"}, + {file = "aiohttp-3.11.13-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:aa36c35e94ecdb478246dd60db12aba57cfcd0abcad43c927a8876f25734d496"}, + {file = "aiohttp-3.11.13-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:9b5b37c863ad5b0892cc7a4ceb1e435e5e6acd3f2f8d3e11fa56f08d3c67b820"}, + {file = "aiohttp-3.11.13-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:e06cf4852ce8c4442a59bae5a3ea01162b8fcb49ab438d8548b8dc79375dad8a"}, + {file = "aiohttp-3.11.13-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5194143927e494616e335d074e77a5dac7cd353a04755330c9adc984ac5a628e"}, + {file = "aiohttp-3.11.13-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:afcb6b275c2d2ba5d8418bf30a9654fa978b4f819c2e8db6311b3525c86fe637"}, + {file = "aiohttp-3.11.13-cp312-cp312-win32.whl", hash = "sha256:7104d5b3943c6351d1ad7027d90bdd0ea002903e9f610735ac99df3b81f102ee"}, + {file = "aiohttp-3.11.13-cp312-cp312-win_amd64.whl", hash = "sha256:47dc018b1b220c48089b5b9382fbab94db35bef2fa192995be22cbad3c5730c8"}, + {file = "aiohttp-3.11.13-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:9862d077b9ffa015dbe3ce6c081bdf35135948cb89116e26667dd183550833d1"}, + {file = "aiohttp-3.11.13-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:fbfef0666ae9e07abfa2c54c212ac18a1f63e13e0760a769f70b5717742f3ece"}, + {file = "aiohttp-3.11.13-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:93a1f7d857c4fcf7cabb1178058182c789b30d85de379e04f64c15b7e88d66fb"}, + {file = "aiohttp-3.11.13-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba40b7ae0f81c7029583a338853f6607b6d83a341a3dcde8bed1ea58a3af1df9"}, + {file = "aiohttp-3.11.13-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b5b95787335c483cd5f29577f42bbe027a412c5431f2f80a749c80d040f7ca9f"}, + {file = "aiohttp-3.11.13-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7d474c5c1f0b9405c1565fafdc4429fa7d986ccbec7ce55bc6a330f36409cad"}, + {file = "aiohttp-3.11.13-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e83fb1991e9d8982b3b36aea1e7ad27ea0ce18c14d054c7a404d68b0319eebb"}, + {file = "aiohttp-3.11.13-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4586a68730bd2f2b04a83e83f79d271d8ed13763f64b75920f18a3a677b9a7f0"}, + {file = "aiohttp-3.11.13-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9fe4eb0e7f50cdb99b26250d9328faef30b1175a5dbcfd6d0578d18456bac567"}, + {file = "aiohttp-3.11.13-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:2a8a6bc19818ac3e5596310ace5aa50d918e1ebdcc204dc96e2f4d505d51740c"}, + {file = "aiohttp-3.11.13-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:7f27eec42f6c3c1df09cfc1f6786308f8b525b8efaaf6d6bd76c1f52c6511f6a"}, + {file = "aiohttp-3.11.13-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:2a4a13dfbb23977a51853b419141cd0a9b9573ab8d3a1455c6e63561387b52ff"}, + {file = "aiohttp-3.11.13-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:02876bf2f69b062584965507b07bc06903c2dc93c57a554b64e012d636952654"}, + {file = "aiohttp-3.11.13-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b992778d95b60a21c4d8d4a5f15aaab2bd3c3e16466a72d7f9bfd86e8cea0d4b"}, + {file = "aiohttp-3.11.13-cp313-cp313-win32.whl", hash = "sha256:507ab05d90586dacb4f26a001c3abf912eb719d05635cbfad930bdbeb469b36c"}, + {file = "aiohttp-3.11.13-cp313-cp313-win_amd64.whl", hash = "sha256:5ceb81a4db2decdfa087381b5fc5847aa448244f973e5da232610304e199e7b2"}, + {file = "aiohttp-3.11.13-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:51c3ff9c7a25f3cad5c09d9aacbc5aefb9267167c4652c1eb737989b554fe278"}, + {file = "aiohttp-3.11.13-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e271beb2b1dabec5cd84eb488bdabf9758d22ad13471e9c356be07ad139b3012"}, + {file = "aiohttp-3.11.13-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0e9eb7e5764abcb49f0e2bd8f5731849b8728efbf26d0cac8e81384c95acec3f"}, + {file = "aiohttp-3.11.13-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:baae005092e3f200de02699314ac8933ec20abf998ec0be39448f6605bce93df"}, + {file = "aiohttp-3.11.13-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1982c98ac62c132d2b773d50e2fcc941eb0b8bad3ec078ce7e7877c4d5a2dce7"}, + {file = "aiohttp-3.11.13-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d2b25b2eeb35707113b2d570cadc7c612a57f1c5d3e7bb2b13870fe284e08fc0"}, + {file = "aiohttp-3.11.13-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b27961d65639128336b7a7c3f0046dcc62a9443d5ef962e3c84170ac620cec47"}, + {file = "aiohttp-3.11.13-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a01fe9f1e05025eacdd97590895e2737b9f851d0eb2e017ae9574d9a4f0b6252"}, + {file = "aiohttp-3.11.13-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:fa1fb1b61881c8405829c50e9cc5c875bfdbf685edf57a76817dfb50643e4a1a"}, + {file = "aiohttp-3.11.13-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:25de43bb3cf83ad83efc8295af7310219af6dbe4c543c2e74988d8e9c8a2a917"}, + {file = "aiohttp-3.11.13-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:fe7065e2215e4bba63dc00db9ae654c1ba3950a5fff691475a32f511142fcddb"}, + {file = "aiohttp-3.11.13-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:7836587eef675a17d835ec3d98a8c9acdbeb2c1d72b0556f0edf4e855a25e9c1"}, + {file = "aiohttp-3.11.13-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:85fa0b18558eb1427090912bd456a01f71edab0872f4e0f9e4285571941e4090"}, + {file = "aiohttp-3.11.13-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a86dc177eb4c286c19d1823ac296299f59ed8106c9536d2b559f65836e0fb2c6"}, + {file = "aiohttp-3.11.13-cp39-cp39-win32.whl", hash = "sha256:684eea71ab6e8ade86b9021bb62af4bf0881f6be4e926b6b5455de74e420783a"}, + {file = "aiohttp-3.11.13-cp39-cp39-win_amd64.whl", hash = "sha256:82c249f2bfa5ecbe4a1a7902c81c0fba52ed9ebd0176ab3047395d02ad96cfcb"}, + {file = "aiohttp-3.11.13.tar.gz", hash = "sha256:8ce789231404ca8fff7f693cdce398abf6d90fd5dae2b1847477196c243b1fbb"}, +] + +[package.dependencies] +aiohappyeyeballs = ">=2.3.0" +aiosignal = ">=1.1.2" +async-timeout = {version = ">=4.0,<6.0", markers = "python_version < \"3.11\""} +attrs = ">=17.3.0" +frozenlist = ">=1.1.1" +multidict = ">=4.5,<7.0" +propcache = ">=0.2.0" +yarl = ">=1.17.0,<2.0" + +[package.extras] +speedups = ["Brotli", "aiodns (>=3.2.0)", "brotlicffi"] + +[[package]] +name = "aiohttp-cors" +version = "0.7.0" +description = "CORS support for aiohttp" +optional = false +python-versions = "*" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "aiohttp-cors-0.7.0.tar.gz", hash = "sha256:4d39c6d7100fd9764ed1caf8cebf0eb01bf5e3f24e2e073fda6234bc48b19f5d"}, + {file = "aiohttp_cors-0.7.0-py3-none-any.whl", hash = "sha256:0451ba59fdf6909d0e2cd21e4c0a43752bc0703d33fc78ae94d9d9321710193e"}, +] + +[package.dependencies] +aiohttp = ">=1.1" + +[[package]] +name = "aiosignal" +version = "1.3.2" +description = "aiosignal: a list of registered asynchronous callbacks" +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "aiosignal-1.3.2-py2.py3-none-any.whl", hash = "sha256:45cde58e409a301715980c2b01d0c28bdde3770d8290b5eb2173759d9acb31a5"}, + {file = "aiosignal-1.3.2.tar.gz", hash = "sha256:a8c255c66fafb1e499c9351d0bf32ff2d8a0321595ebac3b93713656d2436f54"}, +] + +[package.dependencies] +frozenlist = ">=1.1.0" + +[[package]] +name = "airportsdata" +version = "20250224" +description = "Extensive database of location and timezone data for nearly every airport and landing strip in the world." +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "airportsdata-20250224-py3-none-any.whl", hash = "sha256:006128bca2cc1983dc5ed4fb1227e8df2289b5e95b8ab30d9bdd4eb7c6d2160d"}, + {file = "airportsdata-20250224.tar.gz", hash = "sha256:7f4538a613504444a13149be701aac5f9599b86da476d26b46aa24fd54714eda"}, +] + +[[package]] +name = "annotated-types" +version = "0.7.0" +description = "Reusable constraint types to use with typing.Annotated" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"}, + {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"}, +] + +[[package]] +name = "antlr4-python3-runtime" +version = "4.13.2" +description = "ANTLR 4.13.2 runtime for Python 3" +optional = false +python-versions = "*" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "antlr4_python3_runtime-4.13.2-py3-none-any.whl", hash = "sha256:fe3835eb8d33daece0e799090eda89719dbccee7aa39ef94eed3818cafa5a7e8"}, + {file = "antlr4_python3_runtime-4.13.2.tar.gz", hash = "sha256:909b647e1d2fc2b70180ac586df3933e38919c85f98ccc656a96cd3f25ef3916"}, +] + +[[package]] +name = "anyio" +version = "4.8.0" +description = "High level compatibility layer for multiple asynchronous event loop implementations" +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "anyio-4.8.0-py3-none-any.whl", hash = "sha256:b5011f270ab5eb0abf13385f851315585cc37ef330dd88e27ec3d34d651fd47a"}, + {file = "anyio-4.8.0.tar.gz", hash = "sha256:1d9fe889df5212298c0c0723fa20479d1b94883a2df44bd3897aa91083316f7a"}, +] + +[package.dependencies] +exceptiongroup = {version = ">=1.0.2", markers = "python_version < \"3.11\""} +idna = ">=2.8" +sniffio = ">=1.1" +typing_extensions = {version = ">=4.5", markers = "python_version < \"3.13\""} + +[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)", "trustme", "truststore (>=0.9.1)", "uvloop (>=0.21)"] +trio = ["trio (>=0.26.1)"] + +[[package]] +name = "astor" +version = "0.8.1" +description = "Read/rewrite/write Python ASTs" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "astor-0.8.1-py2.py3-none-any.whl", hash = "sha256:070a54e890cefb5b3739d19f30f5a5ec840ffc9c50ffa7d23cc9fc1a38ebbfc5"}, + {file = "astor-0.8.1.tar.gz", hash = "sha256:6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e"}, +] + +[[package]] +name = "async-timeout" +version = "5.0.1" +description = "Timeout context manager for asyncio programs" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version < \"3.11\"" +files = [ + {file = "async_timeout-5.0.1-py3-none-any.whl", hash = "sha256:39e3809566ff85354557ec2398b55e096c8364bacac9405a7a1fa429e77fe76c"}, + {file = "async_timeout-5.0.1.tar.gz", hash = "sha256:d9321a7a3d5a6a5e187e824d2fa0793ce379a202935782d555d6e9d2735677d3"}, +] + +[[package]] +name = "attrs" +version = "25.1.0" +description = "Classes Without Boilerplate" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "attrs-25.1.0-py3-none-any.whl", hash = "sha256:c75a69e28a550a7e93789579c22aa26b0f5b83b75dc4e08fe092980051e1090a"}, + {file = "attrs-25.1.0.tar.gz", hash = "sha256:1c97078a80c814273a76b2a298a932eb681c87415c11dee0a6921de7f1b02c3e"}, +] + +[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-uv", "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 = "bitsandbytes" +version = "0.45.3" +description = "k-bit optimizers and matrix multiplication routines." +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "bitsandbytes-0.45.3-py3-none-manylinux_2_24_x86_64.whl", hash = "sha256:720d67ffa8a5c61c958fb62517e8abbb2ab0ac1b33b66506ae911cb34c836c70"}, + {file = "bitsandbytes-0.45.3-py3-none-win_amd64.whl", hash = "sha256:7251d71814a653b2b78b69149f1e88753598688c760c99cbbfb0512ba4ea39c6"}, +] + +[package.dependencies] +numpy = ">=1.17" +torch = ">=2.0,<3" + +[package.extras] +benchmark = ["matplotlib", "pandas"] +dev = ["bitsandbytes[test]", "build (>=1.0.0,<2)", "pre-commit (>=3.5.0,<4)", "ruff (==0.6.9)", "wheel (>=0.42,<1)"] +docs = ["hf-doc-builder (==0.5.0)"] +test = ["einops (>=0.8.0,<0.9.0)", "lion-pytorch (==0.2.3)", "pytest (>=8.3,<9.0)", "scipy (>=1.10.1,<2)", "scipy (>=1.11.4,<2)", "transformers (>=4.30.1,<5)"] + +[[package]] +name = "blake3" +version = "1.0.4" +description = "Python bindings for the Rust blake3 crate" +optional = false +python-versions = "*" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "blake3-1.0.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:c213768763faee5348bf7622b906b47b60a31baa44ad6837f6ec7587a4b3d4c1"}, + {file = "blake3-1.0.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1dbdca6def64c5fbcd7aae7403fc0e408506f91fac631efb2b604cac1bff97c4"}, + {file = "blake3-1.0.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a764b697fd1cb01b92a18240f9afd291b1f33ede3c9cdc59dd92ba87a5f4f8f3"}, + {file = "blake3-1.0.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c00c483e3d86c2587b7c1e4c65f519fd8745a0963cd6e3630d1bf24692c57fa2"}, + {file = "blake3-1.0.4-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8a99749c02d76b7aa5d931c3b80528ef6a68149e6bef424769dd5e461d39a4f0"}, + {file = "blake3-1.0.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea806c10ad6d7c83f3543a22f31fe4892896a1daf58f9e4e3d76ae25ec469a3a"}, + {file = "blake3-1.0.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:407d3a527853d662f79fa99b4ec88478fc9b800420194ed495a961635d2ab77e"}, + {file = "blake3-1.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:846895cbe050c8d0ba94c7a8df4f89f023db82e5f8d35c76def177e410a1ba97"}, + {file = "blake3-1.0.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:20e90f313c524bd98d68f3d1e0495ae00e570a164ee9a09ac21ded49c082c276"}, + {file = "blake3-1.0.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8e83ddd16ae0a3641ba6d7b0ed582f0b7fcdefbf95638e82ee2480ab209342d7"}, + {file = "blake3-1.0.4-cp310-cp310-win32.whl", hash = "sha256:8faf42585fbd6ea189ee15b3d148f64dd3a8ced5aa26bed90a7438a7cb7094a3"}, + {file = "blake3-1.0.4-cp310-cp310-win_amd64.whl", hash = "sha256:5624985511c1e209aede209142c09c81a4163cf230f218aff09f04ddd9e773a1"}, + {file = "blake3-1.0.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:fe01393d535a7ddea39f0332453434fe214fa135e05e5b792a99dd7782acf429"}, + {file = "blake3-1.0.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:105730671403972fb5292dcaff0b78881075f583cd7b5e1589919b0b0f93f86a"}, + {file = "blake3-1.0.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7240572bfd4e3ecd0ab24144551053c02eb3995e00342fcb40eb25619678e556"}, + {file = "blake3-1.0.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a3d1a39fed926d8b6fb0efdf0295297ff92246e1c28e5dca7f2d7185ad4593be"}, + {file = "blake3-1.0.4-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:87794eed0b25de3713d57faa82a5e3257d0b51cba7831f7de98884b73d4c41af"}, + {file = "blake3-1.0.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:407327ed661ccb943c4361fb647daa6264cc6bdc52f29de56e4dc62c2132e287"}, + {file = "blake3-1.0.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e3087e019603657cda6d5e4b8cb250d6cbcf935e8230a31291eb15d3ee8a341e"}, + {file = "blake3-1.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fae37ec23f25fdbb8c2a34dd9b309a8f9fdce9ff7685cabb1fde7e16f012cf67"}, + {file = "blake3-1.0.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:5447a5731ee408809a5e2582a3bed3069b570046017ddddf9942d71c8afdc2ee"}, + {file = "blake3-1.0.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1d48407451ad537f7a8d9210a8468a600e453662832c6a60b99405d9d792c97e"}, + {file = "blake3-1.0.4-cp311-cp311-win32.whl", hash = "sha256:524ca0bf368b35d91254cbb16af5351beaee6c22a3a236d355b9471a61b3b9ff"}, + {file = "blake3-1.0.4-cp311-cp311-win_amd64.whl", hash = "sha256:43ebbf2af260f645eb961b045ed4e9ddcdcf3fb49744c8f2e0ba1e1c28e88782"}, + {file = "blake3-1.0.4-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:1e3018d12e16faea2e08f210123a9c2e603de6c1b80b381624cffd536e1022d1"}, + {file = "blake3-1.0.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:17fb8c25d62b3dc35c2c4d59f3b2f3234814b2aa374c0b9bea3d326184bf9268"}, + {file = "blake3-1.0.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc9da486d47f399ac2aba8dfdfaf60cc7a507d8434623cee8f81f47852db594d"}, + {file = "blake3-1.0.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0f5888e358ae4bba094d4595e1703dfc230d96dea6924e877c42c7a98beda7b5"}, + {file = "blake3-1.0.4-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7a1ab4bb7869fd38b7be2a88557d28cfe63d44b194bf2bf27e4ff08c5f2483ea"}, + {file = "blake3-1.0.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dbaf16fd19f93a2b5d2eadab82dca3161e2bf418606144df7edaf20bc38eda7c"}, + {file = "blake3-1.0.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:222234ebea46d16ac981b0da528dd6e57e8ea37cef168e9f669894f660a18e09"}, + {file = "blake3-1.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb2689cbef663d823011eeddec29c23d1c1f773ac867bfa854fb0590771a309d"}, + {file = "blake3-1.0.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1524b1cabb034f1c9dc2621f3c06c10d2a4608391cf04e5db182aa5d7a82fdbe"}, + {file = "blake3-1.0.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:7592124471fb1c8c67f94776c480743c182aff92952ceb5f5c793a632a1a1436"}, + {file = "blake3-1.0.4-cp312-cp312-win32.whl", hash = "sha256:78f4724d0a9f6bebd0fccf27e4afaed1ca4b6645740ee425d3621defe27c4e64"}, + {file = "blake3-1.0.4-cp312-cp312-win_amd64.whl", hash = "sha256:af18fcd2a37aa51c24cedbb82f4934f39a9a4ea11a84d34c1ab63df94a28fdd1"}, + {file = "blake3-1.0.4-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1845c2c8a611c30e43a88843f202663ce35a3d4d61a28064bf99a9adf975ab74"}, + {file = "blake3-1.0.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5404a99dcd9d5974ec09a6cc3e66e730ed7b8f65f353dea88b614ca4ed8dcb02"}, + {file = "blake3-1.0.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d97685ff806592fa2cb35143a3bdb255db58385cbf9c1a3222b4b127ade1714d"}, + {file = "blake3-1.0.4-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:94cc36d0e69dc118db3c288c196533603d0f3413017070b455fe63ef0075dca2"}, + {file = "blake3-1.0.4-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d2a0e30369b1e9f24f81c6a666e347309aa746e85a7e986e472156995dc3751c"}, + {file = "blake3-1.0.4-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d09816c855043fe6a498108f6e0ec0ced2d5c1e65bc8a8c24012d773ac4e3208"}, + {file = "blake3-1.0.4-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:41795136af622eb113247ccb09819e388948fc0aa052da02448c9f477c02721f"}, + {file = "blake3-1.0.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fedc326cac4476d2eab88413a4bf56e491040ae11ea98ddadaa5487cecda9b93"}, + {file = "blake3-1.0.4-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:a760153f4e66edd6214df0a69e7eb90206c8ddd8083734ac430e852453a58e06"}, + {file = "blake3-1.0.4-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:e93d952635a96225dda9f0b94bb115a7f1c1777db38f8a49cb902bf9433dd436"}, + {file = "blake3-1.0.4-cp313-cp313-win32.whl", hash = "sha256:8b514764be91cce5825e1a3dd393004a112f8acbf1c782aaa43c057c40837a01"}, + {file = "blake3-1.0.4-cp313-cp313-win_amd64.whl", hash = "sha256:0c6477a4689b374e846fd5330839c0d27d932fa62c2d2d6b731a28798d0348a0"}, + {file = "blake3-1.0.4-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:fbc00208e9ebd4595290a684609a7a0557ca892f28870f44df4e433d4758e9b8"}, + {file = "blake3-1.0.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:512c7515a42398a5b01d758c53e315d295a1403b09786d9579d7f8dba4907865"}, + {file = "blake3-1.0.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54d792827498d664b4e0687ca35cde8bbdc616e6766421378179b89914a65a6e"}, + {file = "blake3-1.0.4-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:97134b7c407e6c4ddcff1813577763b4e370397f9ba20cf0db3d0fff13b4edf5"}, + {file = "blake3-1.0.4-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c40e2badab95569681759273013ea19349c438dfc3c50a5d2e5c88e1b3879ba5"}, + {file = "blake3-1.0.4-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4e5f23d483a0e22a46991031a659cd65e58a84c2b737544e5a126fd49ffece68"}, + {file = "blake3-1.0.4-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1509d898c7930451720f3667b1f733434db1090f295b6d947f88140face1c596"}, + {file = "blake3-1.0.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:785ef236f8da4ab4f233d02c403fc1bc6eab093edad1ca5903dd9dbb2b1c8e26"}, + {file = "blake3-1.0.4-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:e53f76390144272ecfe34da0466e1df66c3252e4e8a3b44b12d75c8acd393397"}, + {file = "blake3-1.0.4-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:d8e89c286ee110b2e325b179954eb2176d4a6315caef2eb8b44bcac7374da2b0"}, + {file = "blake3-1.0.4-cp313-cp313t-win32.whl", hash = "sha256:00605aa59923205c6a4f21131840840eb2d9a754c59b163357d890566755b97a"}, + {file = "blake3-1.0.4-cp313-cp313t-win_amd64.whl", hash = "sha256:95b2223177be6e269ab5f39bf1f2c186dc4852d546f15500bb7dcc114cf681f0"}, + {file = "blake3-1.0.4-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:cbd2782b2034021de468dcd466d732411a957efe3cf989d2f5c1e07a708a5874"}, + {file = "blake3-1.0.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1c66288e957625892303d683f7581fab56b567623f4c58bff159e8e92d042a8b"}, + {file = "blake3-1.0.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bf7cbee22d7f9e4d60fcb9b2ae3270c40beea71fc7ee7d7d7eef539749a6aab"}, + {file = "blake3-1.0.4-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d1c52d9492896560b40fee414c02e23e2d868a4ef280574f67049be3b66cbbd2"}, + {file = "blake3-1.0.4-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b8720b726802c534e1e53e7fb8f53cbd4ee5a052b8903934d210feeb69c6438d"}, + {file = "blake3-1.0.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b691e44df67ce61b3573f31e4d304eeb4ffa87c4e05eb1f3f4a2a6981b875c96"}, + {file = "blake3-1.0.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2aeacc45ab0eebd91697a523e8c04542cff7d09b6a6c397d4a868f879950f539"}, + {file = "blake3-1.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:08f46c2f1c5f369f07409e3e4ff248bcb22617cd741f2224873d85982dd6034e"}, + {file = "blake3-1.0.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a5c5c0a2f17220ad493f2a116b3ca83aae039926c0abbf520bc32b44e6edebdb"}, + {file = "blake3-1.0.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:27835e72adf624754f6380635111d5c17685fd8db04f6573aebb4f6442b139ae"}, + {file = "blake3-1.0.4-cp38-cp38-win32.whl", hash = "sha256:6a45e4c5df4ce654d42897ce2d5bd7dab0a5e84b06ffcb9248ed0b537520967a"}, + {file = "blake3-1.0.4-cp38-cp38-win_amd64.whl", hash = "sha256:e55e38da0f57aa924c3125ffc98df72c36b2d212a2b7eb8f1d71169746f14689"}, + {file = "blake3-1.0.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:b11bffad2c020cc0049e02990caa924cc9c8b5ab6032bf3dbd60706638993bc5"}, + {file = "blake3-1.0.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:baad3e55f7e1d8c820be370071fc80d6ed4cc7a738cbce4bc462772738869f57"}, + {file = "blake3-1.0.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89e21eb0929b1bd35867dd450c27600af42ecf1cd7a08c5496ad29baaa35cb8b"}, + {file = "blake3-1.0.4-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:afba60a70ac75f26fb8fb95502b80b37cab7a624daae6e1a1b952457ff0e7528"}, + {file = "blake3-1.0.4-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:66dbc4383586232ddc135936c1f395848358981152dcc7b94710664c21621491"}, + {file = "blake3-1.0.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fb866a8e0632f35fe9c8e24b751752c2df4abbaf20a36e85a76883a382ccbfd9"}, + {file = "blake3-1.0.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:77dd01c07d2f327a97233841c5c9295b3ef5ac372c5649843d413fe588bf41a9"}, + {file = "blake3-1.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8241e372dfcb01ebe3947b7d5e22af1af5682fc37631153fe6ed747a603edb26"}, + {file = "blake3-1.0.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ff0e96f61b16b365ad5bb7c6272754f83d8a59c95d3b2f70c3bb6324ddf5bc0c"}, + {file = "blake3-1.0.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f0488a0f730383939bc9c6453220b15b8c2cda702a2ce626e6fd5e3add3f8da8"}, + {file = "blake3-1.0.4-cp39-cp39-win32.whl", hash = "sha256:2492bbd5f9d305c586c3addb8e247e9c4ebb6048e5fe3f6baddaca224e858dd1"}, + {file = "blake3-1.0.4-cp39-cp39-win_amd64.whl", hash = "sha256:1575c9c39632107e96d4b830d03646310d4c1eb07473ced1f68dd82c3af89d49"}, + {file = "blake3-1.0.4.tar.gz", hash = "sha256:09b2c66bc2c797e9d783521ec22b1e9a6c74e3ddb98bdd0dcd4fcc2213fb27ec"}, +] + +[[package]] +name = "blis" +version = "0.7.11" +description = "The Blis BLAS-like linear algebra library, as a self-contained C-extension." +optional = false +python-versions = "*" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "blis-0.7.11-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cd5fba34c5775e4c440d80e4dea8acb40e2d3855b546e07c4e21fad8f972404c"}, + {file = "blis-0.7.11-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:31273d9086cab9c56986d478e3ed6da6752fa4cdd0f7b5e8e5db30827912d90d"}, + {file = "blis-0.7.11-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d06883f83d4c8de8264154f7c4a420b4af323050ed07398c1ff201c34c25c0d2"}, + {file = "blis-0.7.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee493683e3043650d4413d531e79e580d28a3c7bdd184f1b9cfa565497bda1e7"}, + {file = "blis-0.7.11-cp310-cp310-win_amd64.whl", hash = "sha256:a73945a9d635eea528bccfdfcaa59dd35bd5f82a4a40d5ca31f08f507f3a6f81"}, + {file = "blis-0.7.11-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1b68df4d01d62f9adaef3dad6f96418787265a6878891fc4e0fabafd6d02afba"}, + {file = "blis-0.7.11-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:162e60d941a8151418d558a94ee5547cb1bbeed9f26b3b6f89ec9243f111a201"}, + {file = "blis-0.7.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:686a7d0111d5ba727cd62f374748952fd6eb74701b18177f525b16209a253c01"}, + {file = "blis-0.7.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0421d6e44cda202b113a34761f9a062b53f8c2ae8e4ec8325a76e709fca93b6e"}, + {file = "blis-0.7.11-cp311-cp311-win_amd64.whl", hash = "sha256:0dc9dcb3843045b6b8b00432409fd5ee96b8344a324e031bfec7303838c41a1a"}, + {file = "blis-0.7.11-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:dadf8713ea51d91444d14ad4104a5493fa7ecc401bbb5f4a203ff6448fadb113"}, + {file = "blis-0.7.11-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5bcdaf370f03adaf4171d6405a89fa66cb3c09399d75fc02e1230a78cd2759e4"}, + {file = "blis-0.7.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7de19264b1d49a178bf8035406d0ae77831f3bfaa3ce02942964a81a202abb03"}, + {file = "blis-0.7.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ea55c6a4a60fcbf6a0fdce40df6e254451ce636988323a34b9c94b583fc11e5"}, + {file = "blis-0.7.11-cp312-cp312-win_amd64.whl", hash = "sha256:5a305dbfc96d202a20d0edd6edf74a406b7e1404f4fa4397d24c68454e60b1b4"}, + {file = "blis-0.7.11-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:68544a1cbc3564db7ba54d2bf8988356b8c7acd025966e8e9313561b19f0fe2e"}, + {file = "blis-0.7.11-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:075431b13b9dd7b411894d4afbd4212acf4d0f56c5a20628f4b34902e90225f1"}, + {file = "blis-0.7.11-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:324fdf62af9075831aa62b51481960e8465674b7723f977684e32af708bb7448"}, + {file = "blis-0.7.11-cp36-cp36m-win_amd64.whl", hash = "sha256:afebdb02d2dcf9059f23ce1244585d3ce7e95c02a77fd45a500e4a55b7b23583"}, + {file = "blis-0.7.11-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2e62cd14b20e960f21547fee01f3a0b2ac201034d819842865a667c969c355d1"}, + {file = "blis-0.7.11-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89b01c05a5754edc0b9a3b69be52cbee03f645b2ec69651d12216ea83b8122f0"}, + {file = "blis-0.7.11-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cfee5ec52ba1e9002311d9191f7129d7b0ecdff211e88536fb24c865d102b50d"}, + {file = "blis-0.7.11-cp37-cp37m-win_amd64.whl", hash = "sha256:844b6377e3e7f3a2e92e7333cc644095386548ad5a027fdc150122703c009956"}, + {file = "blis-0.7.11-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6df00c24128e323174cde5d80ebe3657df39615322098ce06613845433057614"}, + {file = "blis-0.7.11-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:809d1da1331108935bf06e22f3cf07ef73a41a572ecd81575bdedb67defe3465"}, + {file = "blis-0.7.11-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bfabd5272bbbe504702b8dfe30093653d278057656126716ff500d9c184b35a6"}, + {file = "blis-0.7.11-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca684f5c2f05269f17aefe7812360286e9a1cee3afb96d416485efd825dbcf19"}, + {file = "blis-0.7.11-cp38-cp38-win_amd64.whl", hash = "sha256:688a8b21d2521c2124ee8dfcbaf2c385981ccc27e313e052113d5db113e27d3b"}, + {file = "blis-0.7.11-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2ff7abd784033836b284ff9f4d0d7cb0737b7684daebb01a4c9fe145ffa5a31e"}, + {file = "blis-0.7.11-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f9caffcd14795bfe52add95a0dd8426d44e737b55fcb69e2b797816f4da0b1d2"}, + {file = "blis-0.7.11-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2fb36989ed61233cfd48915896802ee6d3d87882190000f8cfe0cf4a3819f9a8"}, + {file = "blis-0.7.11-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ea09f961871f880d5dc622dce6c370e4859559f0ead897ae9b20ddafd6b07a2"}, + {file = "blis-0.7.11-cp39-cp39-win_amd64.whl", hash = "sha256:5bb38adabbb22f69f22c74bad025a010ae3b14de711bf5c715353980869d491d"}, + {file = "blis-0.7.11.tar.gz", hash = "sha256:cec6d48f75f7ac328ae1b6fbb372dde8c8a57c89559172277f66e01ff08d4d42"}, +] + +[package.dependencies] +numpy = {version = ">=1.19.0", markers = "python_version >= \"3.9\""} + +[[package]] +name = "cachetools" +version = "5.5.2" +description = "Extensible memoizing collections and decorators" +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "cachetools-5.5.2-py3-none-any.whl", hash = "sha256:d26a22bcc62eb95c3beabd9f1ee5e820d3d2704fe2967cbe350e20c8ffcd3f0a"}, + {file = "cachetools-5.5.2.tar.gz", hash = "sha256:1a661caa9175d26759571b2e19580f9d6393969e5dfca11fdb1f947a23e640d4"}, +] + +[[package]] +name = "catalogue" +version = "2.0.10" +description = "Super lightweight function registries for your library" +optional = false +python-versions = ">=3.6" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "catalogue-2.0.10-py3-none-any.whl", hash = "sha256:58c2de0020aa90f4a2da7dfad161bf7b3b054c86a5f09fcedc0b2b740c109a9f"}, + {file = "catalogue-2.0.10.tar.gz", hash = "sha256:4f56daa940913d3f09d589c191c74e5a6d51762b3a9e37dd53b7437afd6cda15"}, +] + +[[package]] +name = "certifi" +version = "2025.1.31" +description = "Python package for providing Mozilla's CA Bundle." +optional = false +python-versions = ">=3.6" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe"}, + {file = "certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651"}, +] + +[[package]] +name = "cffi" +version = "1.17.1" +description = "Foreign Function Interface for Python calling C code." +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\" and implementation_name == \"pypy\"" +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 = "chardet" +version = "5.2.0" +description = "Universal encoding detector for Python 3" +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "chardet-5.2.0-py3-none-any.whl", hash = "sha256:e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970"}, + {file = "chardet-5.2.0.tar.gz", hash = "sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7"}, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.1" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "charset_normalizer-3.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-win32.whl", hash = "sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f30bf9fd9be89ecb2360c7d94a711f00c09b976258846efe40db3d05828e8089"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:97f68b8d6831127e4787ad15e6757232e14e12060bec17091b85eb1486b91d8d"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7974a0b5ecd505609e3b19742b60cee7aa2aa2fb3151bc917e6e2646d7667dcf"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc54db6c8593ef7d4b2a331b58653356cf04f67c960f584edb7c3d8c97e8f39e"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:311f30128d7d333eebd7896965bfcfbd0065f1716ec92bd5638d7748eb6f936a"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:7d053096f67cd1241601111b698f5cad775f97ab25d81567d3f59219b5f1adbd"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:807f52c1f798eef6cf26beb819eeb8819b1622ddfeef9d0977a8502d4db6d534"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:dccbe65bd2f7f7ec22c4ff99ed56faa1e9f785482b9bbd7c717e26fd723a1d1e"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:2fb9bd477fdea8684f78791a6de97a953c51831ee2981f8e4f583ff3b9d9687e"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:01732659ba9b5b873fc117534143e4feefecf3b2078b0a6a2e925271bb6f4cfa"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-win32.whl", hash = "sha256:7a4f97a081603d2050bfaffdefa5b02a9ec823f8348a572e39032caa8404a487"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:7b1bef6280950ee6c177b326508f86cad7ad4dff12454483b51d8b7d673a2c5d"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ecddf25bee22fe4fe3737a399d0d177d72bc22be6913acfab364b40bce1ba83c"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c60ca7339acd497a55b0ea5d506b2a2612afb2826560416f6894e8b5770d4a9"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b7b2d86dd06bfc2ade3312a83a5c364c7ec2e3498f8734282c6c3d4b07b346b8"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd78cfcda14a1ef52584dbb008f7ac81c1328c0f58184bf9a84c49c605002da6"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e27f48bcd0957c6d4cb9d6fa6b61d192d0b13d5ef563e5f2ae35feafc0d179c"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01ad647cdd609225c5350561d084b42ddf732f4eeefe6e678765636791e78b9a"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:619a609aa74ae43d90ed2e89bdd784765de0a25ca761b93e196d938b8fd1dbbd"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:89149166622f4db9b4b6a449256291dc87a99ee53151c74cbd82a53c8c2f6ccd"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:7709f51f5f7c853f0fb938bcd3bc59cdfdc5203635ffd18bf354f6967ea0f824"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:345b0426edd4e18138d6528aed636de7a9ed169b4aaf9d61a8c19e39d26838ca"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0907f11d019260cdc3f94fbdb23ff9125f6b5d1039b76003b5b0ac9d6a6c9d5b"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-win32.whl", hash = "sha256:ea0d8d539afa5eb2728aa1932a988a9a7af94f18582ffae4bc10b3fbdad0626e"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:329ce159e82018d646c7ac45b01a430369d526569ec08516081727a20e9e4af4"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-win32.whl", hash = "sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765"}, + {file = "charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85"}, + {file = "charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3"}, +] + +[[package]] +name = "click" +version = "8.1.8" +description = "Composable command line interface toolkit" +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2"}, + {file = "click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[[package]] +name = "cloudpathlib" +version = "0.16.0" +description = "pathlib-style classes for cloud storage services." +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "cloudpathlib-0.16.0-py3-none-any.whl", hash = "sha256:f46267556bf91f03db52b5df7a152548596a15aabca1c8731ef32b0b25a1a6a3"}, + {file = "cloudpathlib-0.16.0.tar.gz", hash = "sha256:cdfcd35d46d529587d744154a0bdf962aca953b725c8784cd2ec478354ea63a3"}, +] + +[package.dependencies] +typing_extensions = {version = ">4", markers = "python_version < \"3.11\""} + +[package.extras] +all = ["cloudpathlib[azure]", "cloudpathlib[gs]", "cloudpathlib[s3]"] +azure = ["azure-storage-blob (>=12)"] +gs = ["google-cloud-storage"] +s3 = ["boto3"] + +[[package]] +name = "cloudpickle" +version = "3.1.1" +description = "Pickler class to extend the standard pickle.Pickler functionality" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "cloudpickle-3.1.1-py3-none-any.whl", hash = "sha256:c8c5a44295039331ee9dad40ba100a9c7297b6f988e50e87ccdf3765a668350e"}, + {file = "cloudpickle-3.1.1.tar.gz", hash = "sha256:b216fa8ae4019d5482a8ac3c95d8f6346115d8835911fd4aefd1a445e4242c64"}, +] + +[[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" +groups = ["main", "test"] +files = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] +markers = {main = "python_version <= \"3.11\"", test = "python_version <= \"3.11\" and sys_platform == \"win32\""} + +[[package]] +name = "colorful" +version = "0.5.6" +description = "Terminal string styling done right, in Python." +optional = false +python-versions = "*" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "colorful-0.5.6-py2.py3-none-any.whl", hash = "sha256:eab8c1c809f5025ad2b5238a50bd691e26850da8cac8f90d660ede6ea1af9f1e"}, + {file = "colorful-0.5.6.tar.gz", hash = "sha256:b56d5c01db1dac4898308ea889edcb113fbee3e6ec5df4bacffd61d5241b5b8d"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[[package]] +name = "colorlog" +version = "6.9.0" +description = "Add colours to the output of Python's logging module." +optional = false +python-versions = ">=3.6" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "colorlog-6.9.0-py3-none-any.whl", hash = "sha256:5906e71acd67cb07a71e779c47c4bcb45fb8c2993eebe9e5adcd6a6f1b283eff"}, + {file = "colorlog-6.9.0.tar.gz", hash = "sha256:bfba54a1b93b94f54e1f4fe48395725a3d92fd2a4af702f6bd70946bdc0c6ac2"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "sys_platform == \"win32\""} + +[package.extras] +development = ["black", "flake8", "mypy", "pytest", "types-colorama"] + +[[package]] +name = "compressed-tensors" +version = "0.9.1" +description = "Library for utilization of compressed safetensors of neural network models" +optional = false +python-versions = "*" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "compressed-tensors-0.9.1.tar.gz", hash = "sha256:3cf5cd637f0186c184dd5bbbbf941356b1225199b49c6a45bf0909d65907f686"}, + {file = "compressed_tensors-0.9.1-py3-none-any.whl", hash = "sha256:77385f879c5c092db777a7880851cd9f801bf2f9bb46bb4402f052d9e002975c"}, +] + +[package.dependencies] +pydantic = ">=2.0" +torch = ">=1.7.0" +transformers = "*" + +[package.extras] +accelerate = ["accelerate"] +dev = ["black (==22.12.0)", "flake8 (>=3.8.3)", "isort (==5.8.0)", "nbconvert (>=7.16.3)", "pytest (>=6.0.0)", "wheel (>=0.36.2)"] + +[[package]] +name = "confection" +version = "0.1.5" +description = "The sweetest config system for Python" +optional = false +python-versions = ">=3.6" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "confection-0.1.5-py3-none-any.whl", hash = "sha256:e29d3c3f8eac06b3f77eb9dfb4bf2fc6bcc9622a98ca00a698e3d019c6430b14"}, + {file = "confection-0.1.5.tar.gz", hash = "sha256:8e72dd3ca6bd4f48913cd220f10b8275978e740411654b6e8ca6d7008c590f0e"}, +] + +[package.dependencies] +pydantic = ">=1.7.4,<1.8 || >1.8,<1.8.1 || >1.8.1,<3.0.0" +srsly = ">=2.4.0,<3.0.0" + +[[package]] +name = "cymem" +version = "2.0.11" +description = "Manage calls to calloc/free through Cython" +optional = false +python-versions = "*" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "cymem-2.0.11-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1b4dd8f8c2475c7c9948eefa89c790d83134600858d8d43b90276efd8df3882e"}, + {file = "cymem-2.0.11-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d46ba0d2e0f749195297d16f2286b55af7d7c084db2b853fdfccece2c000c5dc"}, + {file = "cymem-2.0.11-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:739c4336b9d04ce9761851e9260ef77508d4a86ee3060e41302bfb6fa82c37de"}, + {file = "cymem-2.0.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a69c470c2fb118161f49761f9137384f46723c77078b659bba33858e19e46b49"}, + {file = "cymem-2.0.11-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:40159f6c92627438de970fd761916e745d70dfd84a7dcc28c1627eb49cee00d8"}, + {file = "cymem-2.0.11-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f503f98e6aa333fffbe657a6854f13a9c3de68860795ae21171284213b9c5c09"}, + {file = "cymem-2.0.11-cp310-cp310-win_amd64.whl", hash = "sha256:7f05ed5920cc92d6b958ec5da55bd820d326fe9332b90660e6fa67e3b476ceb1"}, + {file = "cymem-2.0.11-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3ee54039aad3ef65de82d66c40516bf54586287b46d32c91ea0530c34e8a2745"}, + {file = "cymem-2.0.11-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4c05ef75b5db217be820604e43a47ccbbafea98ab6659d07cea92fa3c864ea58"}, + {file = "cymem-2.0.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a8d5381e5793ce531bac0dbc00829c8381f18605bb67e4b61d34f8850463da40"}, + {file = "cymem-2.0.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2b9d3f42d7249ac81802135cad51d707def058001a32f73fc7fbf3de7045ac7"}, + {file = "cymem-2.0.11-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:39b78f2195d20b75c2d465732f6b8e8721c5d4eb012777c2cb89bdb45a043185"}, + {file = "cymem-2.0.11-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:2203bd6525a80d8fd0c94654a263af21c0387ae1d5062cceaebb652bf9bad7bc"}, + {file = "cymem-2.0.11-cp311-cp311-win_amd64.whl", hash = "sha256:aa54af7314de400634448da1f935b61323da80a49484074688d344fb2036681b"}, + {file = "cymem-2.0.11-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:a0fbe19ce653cd688842d81e5819dc63f911a26e192ef30b0b89f0ab2b192ff2"}, + {file = "cymem-2.0.11-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de72101dc0e6326f6a2f73e05a438d1f3c6110d41044236d0fbe62925091267d"}, + {file = "cymem-2.0.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bee4395917f6588b8ac1699499128842768b391fe8896e8626950b4da5f9a406"}, + {file = "cymem-2.0.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5b02f2b17d760dc3fe5812737b1ce4f684641cdd751d67761d333a3b5ea97b83"}, + {file = "cymem-2.0.11-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:04ee6b4041ddec24512d6e969ed6445e57917f01e73b9dabbe17b7e6b27fef05"}, + {file = "cymem-2.0.11-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e1048dae7e627ee25f22c87bb670b13e06bc0aecc114b89b959a798d487d1bf4"}, + {file = "cymem-2.0.11-cp312-cp312-win_amd64.whl", hash = "sha256:0c269c7a867d74adeb9db65fa1d226342aacf44d64b7931282f0b0eb22eb6275"}, + {file = "cymem-2.0.11-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4a311c82f743275c84f708df89ac5bf60ddefe4713d532000c887931e22941f"}, + {file = "cymem-2.0.11-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:02ed92bead896cca36abad00502b14fa651bdf5d8319461126a2d5ac8c9674c5"}, + {file = "cymem-2.0.11-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44ddd3588379f8f376116384af99e3fb5f90091d90f520c341942618bf22f05e"}, + {file = "cymem-2.0.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87ec985623624bbd298762d8163fc194a096cb13282731a017e09ff8a60bb8b1"}, + {file = "cymem-2.0.11-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e3385a47285435848e0ed66cfd29b35f3ed8703218e2b17bd7a0c053822f26bf"}, + {file = "cymem-2.0.11-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5461e65340d6572eb64deadce79242a446a1d39cb7bf70fe7b7e007eb0d799b0"}, + {file = "cymem-2.0.11-cp313-cp313-win_amd64.whl", hash = "sha256:25da111adf425c29af0cfd9fecfec1c71c8d82e2244a85166830a0817a66ada7"}, + {file = "cymem-2.0.11-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1450498623d9f176d48578779c4e9d133c7f252f73c5a93b762f35d059a09398"}, + {file = "cymem-2.0.11-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0a407fd8766e1f666c48cb232f760267cecf0acb04cc717d8ec4de6adc6ab8e0"}, + {file = "cymem-2.0.11-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6347aed08442679a57bcce5ad1e338f6b717e46654549c5d65c798552d910591"}, + {file = "cymem-2.0.11-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d8f11149b1a154de0e93f5eda0a13ad9948a739b58a2aace996ca41bbb6d0f5"}, + {file = "cymem-2.0.11-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7a2b4d1a9b1674d6ac0e4c5136b70b805535dc8d1060aa7c4ded3e52fb74e615"}, + {file = "cymem-2.0.11-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:dec13c1a84612815365939f59e128a0031cae5f6b5a86e4b8fd7c4efa3fad262"}, + {file = "cymem-2.0.11-cp39-cp39-win_amd64.whl", hash = "sha256:332ea5bc1c13c9a186532a06846881288eb846425898b70f047a0820714097bf"}, + {file = "cymem-2.0.11.tar.gz", hash = "sha256:efe49a349d4a518be6b6c6b255d4a80f740a341544bde1a807707c058b88d0bd"}, +] + +[[package]] +name = "dataproperty" +version = "1.1.0" +description = "Python library for extract property from data." +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "DataProperty-1.1.0-py3-none-any.whl", hash = "sha256:c61fcb2e2deca35e6d1eb1f251a7f22f0dcde63e80e61f0cc18c19f42abfd25b"}, + {file = "dataproperty-1.1.0.tar.gz", hash = "sha256:b038437a4097d1a1c497695c3586ea34bea67fdd35372b9a50f30bf044d77d04"}, +] + +[package.dependencies] +mbstrdecoder = ">=1.0.0,<2" +typepy = {version = ">=1.3.2,<2", extras = ["datetime"]} + +[package.extras] +logging = ["loguru (>=0.4.1,<1)"] +test = ["pytest (>=6.0.1)", "pytest-md-report (>=0.6.2)", "tcolorpy (>=0.1.2)"] + +[[package]] +name = "datasets" +version = "3.3.2" +description = "HuggingFace community-driven open-source library of datasets" +optional = false +python-versions = ">=3.9.0" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "datasets-3.3.2-py3-none-any.whl", hash = "sha256:fdaf3d5d70242621210b044e9b9b15a56e908bfc3e9d077bcf5605ac390f70bd"}, + {file = "datasets-3.3.2.tar.gz", hash = "sha256:20901a97da870fb80b407ccc45f034a7ac99accd07da897ed42f11641bdb8c6e"}, +] + +[package.dependencies] +aiohttp = "*" +dill = ">=0.3.0,<0.3.9" +filelock = "*" +fsspec = {version = ">=2023.1.0,<=2024.12.0", extras = ["http"]} +huggingface-hub = ">=0.24.0" +multiprocess = "<0.70.17" +numpy = ">=1.17" +packaging = "*" +pandas = "*" +pyarrow = ">=15.0.0" +pyyaml = ">=5.1" +requests = ">=2.32.2" +tqdm = ">=4.66.3" +xxhash = "*" + +[package.extras] +audio = ["librosa", "soundfile (>=0.12.1)", "soxr (>=0.4.0)"] +benchmarks = ["tensorflow (==2.12.0)", "torch (==2.0.1)", "transformers (==4.30.1)"] +dev = ["Pillow (>=9.4.0)", "absl-py", "decorator", "decord (==0.6.0)", "elasticsearch (>=7.17.12,<8.0.0)", "faiss-cpu (>=1.8.0.post1)", "jax (>=0.3.14)", "jaxlib (>=0.3.14)", "joblib (<1.3.0)", "joblibspark", "librosa", "lz4", "moto[server]", "polars[timezone] (>=0.20.0)", "protobuf (<4.0.0)", "py7zr", "pyspark (>=3.4)", "pytest", "pytest-datadir", "pytest-xdist", "rarfile (>=4.0)", "ruff (>=0.3.0)", "s3fs", "s3fs (>=2021.11.1)", "soundfile (>=0.12.1)", "soundfile (>=0.12.1)", "soxr (>=0.4.0)", "sqlalchemy", "tensorflow (>=2.16.0)", "tensorflow (>=2.6.0)", "tensorflow (>=2.6.0)", "tiktoken", "torch", "torch (>=2.0.0)", "torchdata", "transformers", "transformers (>=4.42.0)", "zstandard"] +docs = ["s3fs", "tensorflow (>=2.6.0)", "torch", "transformers"] +jax = ["jax (>=0.3.14)", "jaxlib (>=0.3.14)"] +quality = ["ruff (>=0.3.0)"] +s3 = ["s3fs"] +tensorflow = ["tensorflow (>=2.6.0)"] +tensorflow-gpu = ["tensorflow (>=2.6.0)"] +tests = ["Pillow (>=9.4.0)", "absl-py", "decorator", "decord (==0.6.0)", "elasticsearch (>=7.17.12,<8.0.0)", "faiss-cpu (>=1.8.0.post1)", "jax (>=0.3.14)", "jaxlib (>=0.3.14)", "joblib (<1.3.0)", "joblibspark", "librosa", "lz4", "moto[server]", "polars[timezone] (>=0.20.0)", "protobuf (<4.0.0)", "py7zr", "pyspark (>=3.4)", "pytest", "pytest-datadir", "pytest-xdist", "rarfile (>=4.0)", "s3fs (>=2021.11.1)", "soundfile (>=0.12.1)", "soundfile (>=0.12.1)", "soxr (>=0.4.0)", "sqlalchemy", "tensorflow (>=2.16.0)", "tensorflow (>=2.6.0)", "tiktoken", "torch (>=2.0.0)", "torchdata", "transformers (>=4.42.0)", "zstandard"] +tests-numpy2 = ["Pillow (>=9.4.0)", "absl-py", "decorator", "decord (==0.6.0)", "elasticsearch (>=7.17.12,<8.0.0)", "jax (>=0.3.14)", "jaxlib (>=0.3.14)", "joblib (<1.3.0)", "joblibspark", "lz4", "moto[server]", "polars[timezone] (>=0.20.0)", "protobuf (<4.0.0)", "py7zr", "pyspark (>=3.4)", "pytest", "pytest-datadir", "pytest-xdist", "rarfile (>=4.0)", "s3fs (>=2021.11.1)", "soundfile (>=0.12.1)", "soundfile (>=0.12.1)", "soxr (>=0.4.0)", "sqlalchemy", "tiktoken", "torch (>=2.0.0)", "torchdata", "transformers (>=4.42.0)", "zstandard"] +torch = ["torch"] +vision = ["Pillow (>=9.4.0)"] + +[[package]] +name = "deepspeed" +version = "0.15.4" +description = "DeepSpeed library" +optional = false +python-versions = "*" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "deepspeed-0.15.4.tar.gz", hash = "sha256:60e7c044b7fc386cdad1206212d22b6963ea551f656ed51f7cb34b299459bf2c"}, +] + +[package.dependencies] +hjson = "*" +msgpack = "*" +ninja = "*" +numpy = "*" +packaging = ">=20.0" +psutil = "*" +py-cpuinfo = "*" +pydantic = ">=2.0.0" +torch = "*" +tqdm = "*" + +[package.extras] +1bit-mpi = ["mpi4py"] +all = ["accelerate", "autodoc_pydantic (>=2.0.0)", "clang-format (==18.1.3)", "comet_ml (>=3.41.0)", "deepspeed-kernels", "diffusers (>=0.25.0)", "docutils (<0.18)", "future", "google", "hjson", "importlib-metadata (>=4)", "lm-eval (==0.3.0)", "mpi4py", "mup", "neural-compressor (==2.1.0)", "packaging", "pre-commit (>=2.20.0)", "protobuf", "psutil", "py-cpuinfo", "pydantic (>=2.0.0)", "pytest (>=7.2.0)", "pytest-forked", "pytest-randomly", "pytest-xdist", "qtorch", "qtorch (==0.3.0)", "recommonmark", "safetensors", "sentencepiece", "sphinx", "sphinx-rtd-theme", "sphinx_rtd_theme", "tabulate", "tensorboard", "torch", "torchvision", "tqdm", "transformers (>=4.32.1)", "transformers (>=4.39.0)", "triton (==1.0.0)", "triton (==2.1.0)", "triton (>=2.1.0)", "wandb", "xgboost"] +autotuning = ["tabulate"] +autotuning-ml = ["hjson", "tabulate", "xgboost"] +dev = ["accelerate", "clang-format (==18.1.3)", "comet_ml (>=3.41.0)", "deepspeed-kernels", "docutils (<0.18)", "future", "importlib-metadata (>=4)", "mup", "pre-commit (>=2.20.0)", "pytest (>=7.2.0)", "pytest-forked", "pytest-randomly", "pytest-xdist", "qtorch (==0.3.0)", "recommonmark", "sphinx", "sphinx-rtd-theme", "tensorboard", "torchvision", "transformers (>=4.39.0)", "wandb"] +inf = ["google", "lm-eval (==0.3.0)", "protobuf", "qtorch", "safetensors", "sentencepiece", "transformers (>=4.32.1)"] +readthedocs = ["autodoc_pydantic (>=2.0.0)", "docutils (<0.18)", "hjson", "packaging", "psutil", "py-cpuinfo", "pydantic (>=2.0.0)", "recommonmark", "sphinx_rtd_theme", "torch", "tqdm"] +sd = ["diffusers (>=0.25.0)", "triton (>=2.1.0)"] +sparse = ["neural-compressor (==2.1.0)"] +sparse-attn = ["triton (==1.0.0)"] +triton = ["triton (==2.1.0)"] + +[[package]] +name = "depyf" +version = "0.18.0" +description = "Decompile python functions, from bytecode to source code!" +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "depyf-0.18.0-py3-none-any.whl", hash = "sha256:007294d5bac19a38a0767d747be0f49b9ffdcea0394a822644142df22b33a3e1"}, + {file = "depyf-0.18.0.tar.gz", hash = "sha256:b99f0c383be949ae45d5d606fe444c71f375b55a57b8d6b20e7856670d52130d"}, +] + +[package.dependencies] +astor = "*" +dill = "*" + +[package.extras] +dev = ["autopep8", "flake8", "pytest"] + +[[package]] +name = "dill" +version = "0.3.8" +description = "serialize all of Python" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "dill-0.3.8-py3-none-any.whl", hash = "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7"}, + {file = "dill-0.3.8.tar.gz", hash = "sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca"}, +] + +[package.extras] +graph = ["objgraph (>=1.7.2)"] +profile = ["gprof2dot (>=2022.7.29)"] + +[[package]] +name = "diskcache" +version = "5.6.3" +description = "Disk Cache -- Disk and file backed persistent cache." +optional = false +python-versions = ">=3" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "diskcache-5.6.3-py3-none-any.whl", hash = "sha256:5e31b2d5fbad117cc363ebaf6b689474db18a1f6438bc82358b024abd4c2ca19"}, + {file = "diskcache-5.6.3.tar.gz", hash = "sha256:2c3a3fa2743d8535d832ec61c2054a1641f41775aa7c556758a109941e33e4fc"}, +] + +[[package]] +name = "distilabel" +version = "1.5.3" +description = "Distilabel is an AI Feedback (AIF) framework for building datasets with and for LLMs." +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "distilabel-1.5.3-py3-none-any.whl", hash = "sha256:e3c10ccdf1e4fc45e81bc19ab7da2b248bc57fad277e14eac0976f25641c77b3"}, + {file = "distilabel-1.5.3.tar.gz", hash = "sha256:1c45cb8fede34339427923d463348867b78bddb4f8db9f9204f03398e8e8f3f0"}, +] + +[package.dependencies] +datasets = ">=2.16.0" +filelock = {version = ">=3.13.4", optional = true, markers = "extra == \"vllm\""} +httpx = ">=0.25.2" +jinja2 = ">=3.1.2" +multiprocess = ">=0.70" +nest-asyncio = ">=1.6.0" +networkx = ">=3.0" +openai = {version = ">=1.0.0", optional = true, markers = "extra == \"openai\""} +orjson = ">=3.10.0" +portalocker = ">=2.8.2" +pydantic = ">=2.0" +ray = {version = ">=2.31.0", extras = ["default"], optional = true, markers = "extra == \"ray\""} +rich = ">=13.5.0" +scipy = ">=1.10.0" +setuptools = "*" +tblib = ">=3.0.0" +typer = ">=0.9.0" +universal-pathlib = ">=0.2.2" +vllm = {version = ">=0.5.3", optional = true, markers = "extra == \"vllm\""} + +[package.extras] +anthropic = ["anthropic (>=0.20.0)"] +argilla = ["argilla (>=2.0.0)", "ipython"] +cohere = ["cohere (>=5.2.0)"] +dev = ["pre-commit (>=3.5.0)", "ruff (==0.8.1)"] +docs = ["cairosvg (>=2.7.1)", "material-plausible-plugin (>=0.2.0)", "mike (>=2.0.0)", "mkdocs-gen-files (>=0.5.0)", "mkdocs-glightbox (>=0.4.0)", "mkdocs-literate-nav (>=0.6.1)", "mkdocs-material (>=9.5.17)", "mkdocs-section-index (>=0.3.8)", "mkdocstrings[python] (>=0.24.0)", "mknotebooks (>=0.8.0)", "pandas (>=2.0)", "pillow (>=9.5.0)", "tabulate (>=0.9.0)"] +faiss-cpu = ["faiss-cpu (>=1.8.0)"] +faiss-gpu = ["faiss-gpu (>=1.7.2)"] +groq = ["groq (>=0.4.1)"] +hf-inference-endpoints = ["huggingface-hub (>=0.22.0)"] +hf-transformers = ["torch (>=2.0.0)", "transformers (>=4.34.1)"] +instructor = ["instructor (>=1.2.3)"] +litellm = ["litellm (>=1.30.0)"] +llama-cpp = ["llama-cpp-python (>=0.2.0)"] +minhash = ["datasketch (>=1.6.5)", "nltk (>3.8.1)"] +mistralai = ["mistralai (>=1.0.0)"] +mlx = ["mlx (>=0.21.0)", "mlx-lm (>=0.21.0,<0.22.0)"] +ollama = ["ollama (>=0.1.7)"] +openai = ["openai (>=1.0.0)"] +outlines = ["numba (>=0.54.0)", "outlines (>=0.0.40)"] +ray = ["ray[default] (>=2.31.0)"] +sentence-transformers = ["sentence-transformers (>=3.0.0)"] +tests = ["nest-asyncio", "pytest (>=7.4.0)", "pytest-asyncio", "pytest-codspeed", "pytest-timeout"] +text-clustering = ["matplotlib (>=3.8.3)", "scikit-learn (>=1.4.1)", "umap-learn (>=0.5.6)"] +vertexai = ["google-cloud-aiplatform (>=1.38.0)"] +vision = ["pillow (>=10.3.0)"] +vllm = ["filelock (>=3.13.4)", "vllm (>=0.5.3)"] + +[[package]] +name = "distlib" +version = "0.3.9" +description = "Distribution utilities" +optional = false +python-versions = "*" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87"}, + {file = "distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403"}, +] + +[[package]] +name = "distro" +version = "1.9.0" +description = "Distro - an OS platform information API" +optional = false +python-versions = ">=3.6" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "distro-1.9.0-py3-none-any.whl", hash = "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2"}, + {file = "distro-1.9.0.tar.gz", hash = "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed"}, +] + +[[package]] +name = "docker-pycreds" +version = "0.4.0" +description = "Python bindings for the docker credentials store API" +optional = false +python-versions = "*" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "docker-pycreds-0.4.0.tar.gz", hash = "sha256:6ce3270bcaf404cc4c3e27e4b6c70d3521deae82fb508767870fdbf772d584d4"}, + {file = "docker_pycreds-0.4.0-py2.py3-none-any.whl", hash = "sha256:7266112468627868005106ec19cd0d722702d2b7d5912a28e19b826c3d37af49"}, +] + +[package.dependencies] +six = ">=1.4.0" + +[[package]] +name = "e2b" +version = "1.1.0" +description = "E2B SDK that give agents cloud environments" +optional = false +python-versions = "<4.0,>=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "e2b-1.1.0-py3-none-any.whl", hash = "sha256:5d99c675e155cf124f457d77f91c4cb32b286d241ca6cd37ac8d6c0711fc272e"}, + {file = "e2b-1.1.0.tar.gz", hash = "sha256:bd054fbaa9baed48919500ba853bdb72c750b04e0bac8365bde75cdfbdf80d18"}, +] + +[package.dependencies] +attrs = ">=23.2.0" +httpcore = ">=1.0.5,<2.0.0" +httpx = ">=0.27.0,<1.0.0" +packaging = ">=24.1" +protobuf = ">=3.20.0,<6.0.0" +python-dateutil = ">=2.8.2" +typing-extensions = ">=4.1.0" + +[[package]] +name = "e2b-code-interpreter" +version = "1.0.5" +description = "E2B Code Interpreter - Stateful code execution" +optional = false +python-versions = "<4.0,>=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "e2b_code_interpreter-1.0.5-py3-none-any.whl", hash = "sha256:4c7814e9eabba58097bf5e4019d327b3a82fab0813eafca4311b29ca6ea0639d"}, + {file = "e2b_code_interpreter-1.0.5.tar.gz", hash = "sha256:e7f70b039e6a70f8e592f90f806d696dc1056919414daabeb89e86c9b650a987"}, +] + +[package.dependencies] +attrs = ">=21.3.0" +e2b = ">=1.0.4,<2.0.0" +httpx = ">=0.20.0,<1.0.0" + +[[package]] +name = "einops" +version = "0.8.1" +description = "A new flavour of deep learning operations" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "einops-0.8.1-py3-none-any.whl", hash = "sha256:919387eb55330f5757c6bea9165c5ff5cfe63a642682ea788a6d472576d81737"}, + {file = "einops-0.8.1.tar.gz", hash = "sha256:de5d960a7a761225532e0f1959e5315ebeafc0cd43394732f103ca44b9837e84"}, +] + +[[package]] +name = "exceptiongroup" +version = "1.2.2" +description = "Backport of PEP 654 (exception groups)" +optional = false +python-versions = ">=3.7" +groups = ["main", "test"] +markers = "python_version < \"3.11\"" +files = [ + {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, + {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, +] + +[package.extras] +test = ["pytest (>=6)"] + +[[package]] +name = "fastapi" +version = "0.115.11" +description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "fastapi-0.115.11-py3-none-any.whl", hash = "sha256:32e1541b7b74602e4ef4a0260ecaf3aadf9d4f19590bba3e1bf2ac4666aa2c64"}, + {file = "fastapi-0.115.11.tar.gz", hash = "sha256:cc81f03f688678b92600a65a5e618b93592c65005db37157147204d8924bf94f"}, +] + +[package.dependencies] +pydantic = ">=1.7.4,<1.8 || >1.8,<1.8.1 || >1.8.1,<2.0.0 || >2.0.0,<2.0.1 || >2.0.1,<2.1.0 || >2.1.0,<3.0.0" +starlette = ">=0.40.0,<0.47.0" +typing-extensions = ">=4.8.0" + +[package.extras] +all = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.5)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=3.1.5)", "orjson (>=3.2.1)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.18)", "pyyaml (>=5.3.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0)", "uvicorn[standard] (>=0.12.0)"] +standard = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.5)", "httpx (>=0.23.0)", "jinja2 (>=3.1.5)", "python-multipart (>=0.0.18)", "uvicorn[standard] (>=0.12.0)"] + +[[package]] +name = "filelock" +version = "3.17.0" +description = "A platform independent file lock." +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "filelock-3.17.0-py3-none-any.whl", hash = "sha256:533dc2f7ba78dc2f0f531fc6c4940addf7b70a481e269a5a3b93be94ffbe8338"}, + {file = "filelock-3.17.0.tar.gz", hash = "sha256:ee4e77401ef576ebb38cd7f13b9b28893194acc20a8e68e18730ba9c0e54660e"}, +] + +[package.extras] +docs = ["furo (>=2024.8.6)", "sphinx (>=8.1.3)", "sphinx-autodoc-typehints (>=3)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.6.10)", "diff-cover (>=9.2.1)", "pytest (>=8.3.4)", "pytest-asyncio (>=0.25.2)", "pytest-cov (>=6)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.28.1)"] +typing = ["typing-extensions (>=4.12.2)"] + +[[package]] +name = "flake8" +version = "7.1.2" +description = "the modular source code checker: pep8 pyflakes and co" +optional = false +python-versions = ">=3.8.1" +groups = ["dev"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "flake8-7.1.2-py2.py3-none-any.whl", hash = "sha256:1cbc62e65536f65e6d754dfe6f1bada7f5cf392d6f5db3c2b85892466c3e7c1a"}, + {file = "flake8-7.1.2.tar.gz", hash = "sha256:c586ffd0b41540951ae41af572e6790dbd49fc12b3aa2541685d253d9bd504bd"}, +] + +[package.dependencies] +mccabe = ">=0.7.0,<0.8.0" +pycodestyle = ">=2.12.0,<2.13.0" +pyflakes = ">=3.2.0,<3.3.0" + +[[package]] +name = "frozenlist" +version = "1.5.0" +description = "A list-like structure which implements collections.abc.MutableSequence" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "frozenlist-1.5.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5b6a66c18b5b9dd261ca98dffcb826a525334b2f29e7caa54e182255c5f6a65a"}, + {file = "frozenlist-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d1b3eb7b05ea246510b43a7e53ed1653e55c2121019a97e60cad7efb881a97bb"}, + {file = "frozenlist-1.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:15538c0cbf0e4fa11d1e3a71f823524b0c46299aed6e10ebb4c2089abd8c3bec"}, + {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e79225373c317ff1e35f210dd5f1344ff31066ba8067c307ab60254cd3a78ad5"}, + {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9272fa73ca71266702c4c3e2d4a28553ea03418e591e377a03b8e3659d94fa76"}, + {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:498524025a5b8ba81695761d78c8dd7382ac0b052f34e66939c42df860b8ff17"}, + {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:92b5278ed9d50fe610185ecd23c55d8b307d75ca18e94c0e7de328089ac5dcba"}, + {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f3c8c1dacd037df16e85227bac13cca58c30da836c6f936ba1df0c05d046d8d"}, + {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f2ac49a9bedb996086057b75bf93538240538c6d9b38e57c82d51f75a73409d2"}, + {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e66cc454f97053b79c2ab09c17fbe3c825ea6b4de20baf1be28919460dd7877f"}, + {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:5a3ba5f9a0dfed20337d3e966dc359784c9f96503674c2faf015f7fe8e96798c"}, + {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6321899477db90bdeb9299ac3627a6a53c7399c8cd58d25da094007402b039ab"}, + {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:76e4753701248476e6286f2ef492af900ea67d9706a0155335a40ea21bf3b2f5"}, + {file = "frozenlist-1.5.0-cp310-cp310-win32.whl", hash = "sha256:977701c081c0241d0955c9586ffdd9ce44f7a7795df39b9151cd9a6fd0ce4cfb"}, + {file = "frozenlist-1.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:189f03b53e64144f90990d29a27ec4f7997d91ed3d01b51fa39d2dbe77540fd4"}, + {file = "frozenlist-1.5.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:fd74520371c3c4175142d02a976aee0b4cb4a7cc912a60586ffd8d5929979b30"}, + {file = "frozenlist-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2f3f7a0fbc219fb4455264cae4d9f01ad41ae6ee8524500f381de64ffaa077d5"}, + {file = "frozenlist-1.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f47c9c9028f55a04ac254346e92977bf0f166c483c74b4232bee19a6697e4778"}, + {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0996c66760924da6e88922756d99b47512a71cfd45215f3570bf1e0b694c206a"}, + {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a2fe128eb4edeabe11896cb6af88fca5346059f6c8d807e3b910069f39157869"}, + {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1a8ea951bbb6cacd492e3948b8da8c502a3f814f5d20935aae74b5df2b19cf3d"}, + {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:de537c11e4aa01d37db0d403b57bd6f0546e71a82347a97c6a9f0dcc532b3a45"}, + {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c2623347b933fcb9095841f1cc5d4ff0b278addd743e0e966cb3d460278840d"}, + {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cee6798eaf8b1416ef6909b06f7dc04b60755206bddc599f52232606e18179d3"}, + {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f5f9da7f5dbc00a604fe74aa02ae7c98bcede8a3b8b9666f9f86fc13993bc71a"}, + {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:90646abbc7a5d5c7c19461d2e3eeb76eb0b204919e6ece342feb6032c9325ae9"}, + {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:bdac3c7d9b705d253b2ce370fde941836a5f8b3c5c2b8fd70940a3ea3af7f4f2"}, + {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:03d33c2ddbc1816237a67f66336616416e2bbb6beb306e5f890f2eb22b959cdf"}, + {file = "frozenlist-1.5.0-cp311-cp311-win32.whl", hash = "sha256:237f6b23ee0f44066219dae14c70ae38a63f0440ce6750f868ee08775073f942"}, + {file = "frozenlist-1.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:0cc974cc93d32c42e7b0f6cf242a6bd941c57c61b618e78b6c0a96cb72788c1d"}, + {file = "frozenlist-1.5.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:31115ba75889723431aa9a4e77d5f398f5cf976eea3bdf61749731f62d4a4a21"}, + {file = "frozenlist-1.5.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7437601c4d89d070eac8323f121fcf25f88674627505334654fd027b091db09d"}, + {file = "frozenlist-1.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7948140d9f8ece1745be806f2bfdf390127cf1a763b925c4a805c603df5e697e"}, + {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:feeb64bc9bcc6b45c6311c9e9b99406660a9c05ca8a5b30d14a78555088b0b3a"}, + {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:683173d371daad49cffb8309779e886e59c2f369430ad28fe715f66d08d4ab1a"}, + {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7d57d8f702221405a9d9b40f9da8ac2e4a1a8b5285aac6100f3393675f0a85ee"}, + {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30c72000fbcc35b129cb09956836c7d7abf78ab5416595e4857d1cae8d6251a6"}, + {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:000a77d6034fbad9b6bb880f7ec073027908f1b40254b5d6f26210d2dab1240e"}, + {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5d7f5a50342475962eb18b740f3beecc685a15b52c91f7d975257e13e029eca9"}, + {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:87f724d055eb4785d9be84e9ebf0f24e392ddfad00b3fe036e43f489fafc9039"}, + {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:6e9080bb2fb195a046e5177f10d9d82b8a204c0736a97a153c2466127de87784"}, + {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9b93d7aaa36c966fa42efcaf716e6b3900438632a626fb09c049f6a2f09fc631"}, + {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:52ef692a4bc60a6dd57f507429636c2af8b6046db8b31b18dac02cbc8f507f7f"}, + {file = "frozenlist-1.5.0-cp312-cp312-win32.whl", hash = "sha256:29d94c256679247b33a3dc96cce0f93cbc69c23bf75ff715919332fdbb6a32b8"}, + {file = "frozenlist-1.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:8969190d709e7c48ea386db202d708eb94bdb29207a1f269bab1196ce0dcca1f"}, + {file = "frozenlist-1.5.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7a1a048f9215c90973402e26c01d1cff8a209e1f1b53f72b95c13db61b00f953"}, + {file = "frozenlist-1.5.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dd47a5181ce5fcb463b5d9e17ecfdb02b678cca31280639255ce9d0e5aa67af0"}, + {file = "frozenlist-1.5.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1431d60b36d15cda188ea222033eec8e0eab488f39a272461f2e6d9e1a8e63c2"}, + {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6482a5851f5d72767fbd0e507e80737f9c8646ae7fd303def99bfe813f76cf7f"}, + {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44c49271a937625619e862baacbd037a7ef86dd1ee215afc298a417ff3270608"}, + {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:12f78f98c2f1c2429d42e6a485f433722b0061d5c0b0139efa64f396efb5886b"}, + {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce3aa154c452d2467487765e3adc730a8c153af77ad84096bc19ce19a2400840"}, + {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b7dc0c4338e6b8b091e8faf0db3168a37101943e687f373dce00959583f7439"}, + {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:45e0896250900b5aa25180f9aec243e84e92ac84bd4a74d9ad4138ef3f5c97de"}, + {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:561eb1c9579d495fddb6da8959fd2a1fca2c6d060d4113f5844b433fc02f2641"}, + {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:df6e2f325bfee1f49f81aaac97d2aa757c7646534a06f8f577ce184afe2f0a9e"}, + {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:140228863501b44b809fb39ec56b5d4071f4d0aa6d216c19cbb08b8c5a7eadb9"}, + {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7707a25d6a77f5d27ea7dc7d1fc608aa0a478193823f88511ef5e6b8a48f9d03"}, + {file = "frozenlist-1.5.0-cp313-cp313-win32.whl", hash = "sha256:31a9ac2b38ab9b5a8933b693db4939764ad3f299fcaa931a3e605bc3460e693c"}, + {file = "frozenlist-1.5.0-cp313-cp313-win_amd64.whl", hash = "sha256:11aabdd62b8b9c4b84081a3c246506d1cddd2dd93ff0ad53ede5defec7886b28"}, + {file = "frozenlist-1.5.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:dd94994fc91a6177bfaafd7d9fd951bc8689b0a98168aa26b5f543868548d3ca"}, + {file = "frozenlist-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2d0da8bbec082bf6bf18345b180958775363588678f64998c2b7609e34719b10"}, + {file = "frozenlist-1.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:73f2e31ea8dd7df61a359b731716018c2be196e5bb3b74ddba107f694fbd7604"}, + {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:828afae9f17e6de596825cf4228ff28fbdf6065974e5ac1410cecc22f699d2b3"}, + {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1577515d35ed5649d52ab4319db757bb881ce3b2b796d7283e6634d99ace307"}, + {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2150cc6305a2c2ab33299453e2968611dacb970d2283a14955923062c8d00b10"}, + {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a72b7a6e3cd2725eff67cd64c8f13335ee18fc3c7befc05aed043d24c7b9ccb9"}, + {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c16d2fa63e0800723139137d667e1056bee1a1cf7965153d2d104b62855e9b99"}, + {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:17dcc32fc7bda7ce5875435003220a457bcfa34ab7924a49a1c19f55b6ee185c"}, + {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:97160e245ea33d8609cd2b8fd997c850b56db147a304a262abc2b3be021a9171"}, + {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f1e6540b7fa044eee0bb5111ada694cf3dc15f2b0347ca125ee9ca984d5e9e6e"}, + {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:91d6c171862df0a6c61479d9724f22efb6109111017c87567cfeb7b5d1449fdf"}, + {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:c1fac3e2ace2eb1052e9f7c7db480818371134410e1f5c55d65e8f3ac6d1407e"}, + {file = "frozenlist-1.5.0-cp38-cp38-win32.whl", hash = "sha256:b97f7b575ab4a8af9b7bc1d2ef7f29d3afee2226bd03ca3875c16451ad5a7723"}, + {file = "frozenlist-1.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:374ca2dabdccad8e2a76d40b1d037f5bd16824933bf7bcea3e59c891fd4a0923"}, + {file = "frozenlist-1.5.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:9bbcdfaf4af7ce002694a4e10a0159d5a8d20056a12b05b45cea944a4953f972"}, + {file = "frozenlist-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1893f948bf6681733aaccf36c5232c231e3b5166d607c5fa77773611df6dc336"}, + {file = "frozenlist-1.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2b5e23253bb709ef57a8e95e6ae48daa9ac5f265637529e4ce6b003a37b2621f"}, + {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f253985bb515ecd89629db13cb58d702035ecd8cfbca7d7a7e29a0e6d39af5f"}, + {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:04a5c6babd5e8fb7d3c871dc8b321166b80e41b637c31a995ed844a6139942b6"}, + {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9fe0f1c29ba24ba6ff6abf688cb0b7cf1efab6b6aa6adc55441773c252f7411"}, + {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:226d72559fa19babe2ccd920273e767c96a49b9d3d38badd7c91a0fdeda8ea08"}, + {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15b731db116ab3aedec558573c1a5eec78822b32292fe4f2f0345b7f697745c2"}, + {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:366d8f93e3edfe5a918c874702f78faac300209a4d5bf38352b2c1bdc07a766d"}, + {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:1b96af8c582b94d381a1c1f51ffaedeb77c821c690ea5f01da3d70a487dd0a9b"}, + {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:c03eff4a41bd4e38415cbed054bbaff4a075b093e2394b6915dca34a40d1e38b"}, + {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:50cf5e7ee9b98f22bdecbabf3800ae78ddcc26e4a435515fc72d97903e8488e0"}, + {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1e76bfbc72353269c44e0bc2cfe171900fbf7f722ad74c9a7b638052afe6a00c"}, + {file = "frozenlist-1.5.0-cp39-cp39-win32.whl", hash = "sha256:666534d15ba8f0fda3f53969117383d5dc021266b3c1a42c9ec4855e4b58b9d3"}, + {file = "frozenlist-1.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:5c28f4b5dbef8a0d8aad0d4de24d1e9e981728628afaf4ea0792f5d0939372f0"}, + {file = "frozenlist-1.5.0-py3-none-any.whl", hash = "sha256:d994863bba198a4a518b467bb971c56e1db3f180a25c6cf7bb1949c267f748c3"}, + {file = "frozenlist-1.5.0.tar.gz", hash = "sha256:81d5af29e61b9c8348e876d442253723928dce6433e0e76cd925cd83f1b4b817"}, +] + +[[package]] +name = "fsspec" +version = "2024.12.0" +description = "File-system specification" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "fsspec-2024.12.0-py3-none-any.whl", hash = "sha256:b520aed47ad9804237ff878b504267a3b0b441e97508bd6d2d8774e3db85cee2"}, + {file = "fsspec-2024.12.0.tar.gz", hash = "sha256:670700c977ed2fb51e0d9f9253177ed20cbde4a3e5c0283cc5385b5870c8533f"}, +] + +[package.dependencies] +aiohttp = {version = "<4.0.0a0 || >4.0.0a0,<4.0.0a1 || >4.0.0a1", optional = true, markers = "extra == \"http\""} + +[package.extras] +abfs = ["adlfs"] +adl = ["adlfs"] +arrow = ["pyarrow (>=1)"] +dask = ["dask", "distributed"] +dev = ["pre-commit", "ruff"] +doc = ["numpydoc", "sphinx", "sphinx-design", "sphinx-rtd-theme", "yarl"] +dropbox = ["dropbox", "dropboxdrivefs", "requests"] +full = ["adlfs", "aiohttp (!=4.0.0a0,!=4.0.0a1)", "dask", "distributed", "dropbox", "dropboxdrivefs", "fusepy", "gcsfs", "libarchive-c", "ocifs", "panel", "paramiko", "pyarrow (>=1)", "pygit2", "requests", "s3fs", "smbprotocol", "tqdm"] +fuse = ["fusepy"] +gcs = ["gcsfs"] +git = ["pygit2"] +github = ["requests"] +gs = ["gcsfs"] +gui = ["panel"] +hdfs = ["pyarrow (>=1)"] +http = ["aiohttp (!=4.0.0a0,!=4.0.0a1)"] +libarchive = ["libarchive-c"] +oci = ["ocifs"] +s3 = ["s3fs"] +sftp = ["paramiko"] +smb = ["smbprotocol"] +ssh = ["paramiko"] +test = ["aiohttp (!=4.0.0a0,!=4.0.0a1)", "numpy", "pytest", "pytest-asyncio (!=0.22.0)", "pytest-benchmark", "pytest-cov", "pytest-mock", "pytest-recording", "pytest-rerunfailures", "requests"] +test-downstream = ["aiobotocore (>=2.5.4,<3.0.0)", "dask-expr", "dask[dataframe,test]", "moto[server] (>4,<5)", "pytest-timeout", "xarray"] +test-full = ["adlfs", "aiohttp (!=4.0.0a0,!=4.0.0a1)", "cloudpickle", "dask", "distributed", "dropbox", "dropboxdrivefs", "fastparquet", "fusepy", "gcsfs", "jinja2", "kerchunk", "libarchive-c", "lz4", "notebook", "numpy", "ocifs", "pandas", "panel", "paramiko", "pyarrow", "pyarrow (>=1)", "pyftpdlib", "pygit2", "pytest", "pytest-asyncio (!=0.22.0)", "pytest-benchmark", "pytest-cov", "pytest-mock", "pytest-recording", "pytest-rerunfailures", "python-snappy", "requests", "smbprotocol", "tqdm", "urllib3", "zarr", "zstandard"] +tqdm = ["tqdm"] + +[[package]] +name = "gguf" +version = "0.10.0" +description = "Read and write ML models in GGUF for GGML" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "gguf-0.10.0-py3-none-any.whl", hash = "sha256:706089fba756a06913227841b4a6c8398360fa991569fd974e663a92b224e33f"}, + {file = "gguf-0.10.0.tar.gz", hash = "sha256:52a30ef26328b419ffc47d9269fc580c238edf1c8a19b5ea143c323e04a038c1"}, +] + +[package.dependencies] +numpy = ">=1.17" +pyyaml = ">=5.1" +tqdm = ">=4.27" + +[[package]] +name = "gitdb" +version = "4.0.12" +description = "Git Object Database" +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "gitdb-4.0.12-py3-none-any.whl", hash = "sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf"}, + {file = "gitdb-4.0.12.tar.gz", hash = "sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571"}, +] + +[package.dependencies] +smmap = ">=3.0.1,<6" + +[[package]] +name = "gitpython" +version = "3.1.44" +description = "GitPython is a Python library used to interact with Git repositories" +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "GitPython-3.1.44-py3-none-any.whl", hash = "sha256:9e0e10cda9bed1ee64bc9a6de50e7e38a9c9943241cd7f585f6df3ed28011110"}, + {file = "gitpython-3.1.44.tar.gz", hash = "sha256:c87e30b26253bf5418b01b0660f818967f3c503193838337fe5e573331249269"}, +] + +[package.dependencies] +gitdb = ">=4.0.1,<5" + +[package.extras] +doc = ["sphinx (>=7.1.2,<7.2)", "sphinx-autodoc-typehints", "sphinx_rtd_theme"] +test = ["coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre-commit", "pytest (>=7.3.1)", "pytest-cov", "pytest-instafail", "pytest-mock", "pytest-sugar", "typing-extensions"] + +[[package]] +name = "google-api-core" +version = "2.24.2" +description = "Google API client core library" +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "google_api_core-2.24.2-py3-none-any.whl", hash = "sha256:810a63ac95f3c441b7c0e43d344e372887f62ce9071ba972eacf32672e072de9"}, + {file = "google_api_core-2.24.2.tar.gz", hash = "sha256:81718493daf06d96d6bc76a91c23874dbf2fac0adbbf542831b805ee6e974696"}, +] + +[package.dependencies] +google-auth = ">=2.14.1,<3.0.0" +googleapis-common-protos = ">=1.56.2,<2.0.0" +proto-plus = ">=1.22.3,<2.0.0" +protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<7.0.0" +requests = ">=2.18.0,<3.0.0" + +[package.extras] +async-rest = ["google-auth[aiohttp] (>=2.35.0,<3.0.dev0)"] +grpc = ["grpcio (>=1.33.2,<2.0dev)", "grpcio (>=1.49.1,<2.0dev)", "grpcio-status (>=1.33.2,<2.0.dev0)", "grpcio-status (>=1.49.1,<2.0.dev0)"] +grpcgcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] +grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] + +[[package]] +name = "google-auth" +version = "2.38.0" +description = "Google Authentication Library" +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "google_auth-2.38.0-py2.py3-none-any.whl", hash = "sha256:e7dae6694313f434a2727bf2906f27ad259bae090d7aa896590d86feec3d9d4a"}, + {file = "google_auth-2.38.0.tar.gz", hash = "sha256:8285113607d3b80a3f1543b75962447ba8a09fe85783432a784fdeef6ac094c4"}, +] + +[package.dependencies] +cachetools = ">=2.0.0,<6.0" +pyasn1-modules = ">=0.2.1" +rsa = ">=3.1.4,<5" + +[package.extras] +aiohttp = ["aiohttp (>=3.6.2,<4.0.0.dev0)", "requests (>=2.20.0,<3.0.0.dev0)"] +enterprise-cert = ["cryptography", "pyopenssl"] +pyjwt = ["cryptography (>=38.0.3)", "pyjwt (>=2.0)"] +pyopenssl = ["cryptography (>=38.0.3)", "pyopenssl (>=20.0.0)"] +reauth = ["pyu2f (>=0.1.5)"] +requests = ["requests (>=2.20.0,<3.0.0.dev0)"] + +[[package]] +name = "googleapis-common-protos" +version = "1.69.1" +description = "Common protobufs used in Google APIs" +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "googleapis_common_protos-1.69.1-py2.py3-none-any.whl", hash = "sha256:4077f27a6900d5946ee5a369fab9c8ded4c0ef1c6e880458ea2f70c14f7b70d5"}, + {file = "googleapis_common_protos-1.69.1.tar.gz", hash = "sha256:e20d2d8dda87da6fe7340afbbdf4f0bcb4c8fae7e6cadf55926c31f946b0b9b1"}, +] + +[package.dependencies] +protobuf = ">=3.20.2,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<6.0.0.dev0" + +[package.extras] +grpc = ["grpcio (>=1.44.0,<2.0.0.dev0)"] + +[[package]] +name = "grpcio" +version = "1.71.0" +description = "HTTP/2-based RPC framework" +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "grpcio-1.71.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:c200cb6f2393468142eb50ab19613229dcc7829b5ccee8b658a36005f6669fdd"}, + {file = "grpcio-1.71.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:b2266862c5ad664a380fbbcdbdb8289d71464c42a8c29053820ee78ba0119e5d"}, + {file = "grpcio-1.71.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:0ab8b2864396663a5b0b0d6d79495657ae85fa37dcb6498a2669d067c65c11ea"}, + {file = "grpcio-1.71.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c30f393f9d5ff00a71bb56de4aa75b8fe91b161aeb61d39528db6b768d7eac69"}, + {file = "grpcio-1.71.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f250ff44843d9a0615e350c77f890082102a0318d66a99540f54769c8766ab73"}, + {file = "grpcio-1.71.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e6d8de076528f7c43a2f576bc311799f89d795aa6c9b637377cc2b1616473804"}, + {file = "grpcio-1.71.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:9b91879d6da1605811ebc60d21ab6a7e4bae6c35f6b63a061d61eb818c8168f6"}, + {file = "grpcio-1.71.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f71574afdf944e6652203cd1badcda195b2a27d9c83e6d88dc1ce3cfb73b31a5"}, + {file = "grpcio-1.71.0-cp310-cp310-win32.whl", hash = "sha256:8997d6785e93308f277884ee6899ba63baafa0dfb4729748200fcc537858a509"}, + {file = "grpcio-1.71.0-cp310-cp310-win_amd64.whl", hash = "sha256:7d6ac9481d9d0d129224f6d5934d5832c4b1cddb96b59e7eba8416868909786a"}, + {file = "grpcio-1.71.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:d6aa986318c36508dc1d5001a3ff169a15b99b9f96ef5e98e13522c506b37eef"}, + {file = "grpcio-1.71.0-cp311-cp311-macosx_10_14_universal2.whl", hash = "sha256:d2c170247315f2d7e5798a22358e982ad6eeb68fa20cf7a820bb74c11f0736e7"}, + {file = "grpcio-1.71.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:e6f83a583ed0a5b08c5bc7a3fe860bb3c2eac1f03f1f63e0bc2091325605d2b7"}, + {file = "grpcio-1.71.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4be74ddeeb92cc87190e0e376dbc8fc7736dbb6d3d454f2fa1f5be1dee26b9d7"}, + {file = "grpcio-1.71.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4dd0dfbe4d5eb1fcfec9490ca13f82b089a309dc3678e2edabc144051270a66e"}, + {file = "grpcio-1.71.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a2242d6950dc892afdf9e951ed7ff89473aaf744b7d5727ad56bdaace363722b"}, + {file = "grpcio-1.71.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:0fa05ee31a20456b13ae49ad2e5d585265f71dd19fbd9ef983c28f926d45d0a7"}, + {file = "grpcio-1.71.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3d081e859fb1ebe176de33fc3adb26c7d46b8812f906042705346b314bde32c3"}, + {file = "grpcio-1.71.0-cp311-cp311-win32.whl", hash = "sha256:d6de81c9c00c8a23047136b11794b3584cdc1460ed7cbc10eada50614baa1444"}, + {file = "grpcio-1.71.0-cp311-cp311-win_amd64.whl", hash = "sha256:24e867651fc67717b6f896d5f0cac0ec863a8b5fb7d6441c2ab428f52c651c6b"}, + {file = "grpcio-1.71.0-cp312-cp312-linux_armv7l.whl", hash = "sha256:0ff35c8d807c1c7531d3002be03221ff9ae15712b53ab46e2a0b4bb271f38537"}, + {file = "grpcio-1.71.0-cp312-cp312-macosx_10_14_universal2.whl", hash = "sha256:b78a99cd1ece4be92ab7c07765a0b038194ded2e0a26fd654591ee136088d8d7"}, + {file = "grpcio-1.71.0-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:dc1a1231ed23caac1de9f943d031f1bc38d0f69d2a3b243ea0d664fc1fbd7fec"}, + {file = "grpcio-1.71.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e6beeea5566092c5e3c4896c6d1d307fb46b1d4bdf3e70c8340b190a69198594"}, + {file = "grpcio-1.71.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5170929109450a2c031cfe87d6716f2fae39695ad5335d9106ae88cc32dc84c"}, + {file = "grpcio-1.71.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:5b08d03ace7aca7b2fadd4baf291139b4a5f058805a8327bfe9aece7253b6d67"}, + {file = "grpcio-1.71.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:f903017db76bf9cc2b2d8bdd37bf04b505bbccad6be8a81e1542206875d0e9db"}, + {file = "grpcio-1.71.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:469f42a0b410883185eab4689060a20488a1a0a00f8bbb3cbc1061197b4c5a79"}, + {file = "grpcio-1.71.0-cp312-cp312-win32.whl", hash = "sha256:ad9f30838550695b5eb302add33f21f7301b882937460dd24f24b3cc5a95067a"}, + {file = "grpcio-1.71.0-cp312-cp312-win_amd64.whl", hash = "sha256:652350609332de6dac4ece254e5d7e1ff834e203d6afb769601f286886f6f3a8"}, + {file = "grpcio-1.71.0-cp313-cp313-linux_armv7l.whl", hash = "sha256:cebc1b34ba40a312ab480ccdb396ff3c529377a2fce72c45a741f7215bfe8379"}, + {file = "grpcio-1.71.0-cp313-cp313-macosx_10_14_universal2.whl", hash = "sha256:85da336e3649a3d2171e82f696b5cad2c6231fdd5bad52616476235681bee5b3"}, + {file = "grpcio-1.71.0-cp313-cp313-manylinux_2_17_aarch64.whl", hash = "sha256:f9a412f55bb6e8f3bb000e020dbc1e709627dcb3a56f6431fa7076b4c1aab0db"}, + {file = "grpcio-1.71.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:47be9584729534660416f6d2a3108aaeac1122f6b5bdbf9fd823e11fe6fbaa29"}, + {file = "grpcio-1.71.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7c9c80ac6091c916db81131d50926a93ab162a7e97e4428ffc186b6e80d6dda4"}, + {file = "grpcio-1.71.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:789d5e2a3a15419374b7b45cd680b1e83bbc1e52b9086e49308e2c0b5bbae6e3"}, + {file = "grpcio-1.71.0-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:1be857615e26a86d7363e8a163fade914595c81fec962b3d514a4b1e8760467b"}, + {file = "grpcio-1.71.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:a76d39b5fafd79ed604c4be0a869ec3581a172a707e2a8d7a4858cb05a5a7637"}, + {file = "grpcio-1.71.0-cp313-cp313-win32.whl", hash = "sha256:74258dce215cb1995083daa17b379a1a5a87d275387b7ffe137f1d5131e2cfbb"}, + {file = "grpcio-1.71.0-cp313-cp313-win_amd64.whl", hash = "sha256:22c3bc8d488c039a199f7a003a38cb7635db6656fa96437a8accde8322ce2366"}, + {file = "grpcio-1.71.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:c6a0a28450c16809f94e0b5bfe52cabff63e7e4b97b44123ebf77f448534d07d"}, + {file = "grpcio-1.71.0-cp39-cp39-macosx_10_14_universal2.whl", hash = "sha256:a371e6b6a5379d3692cc4ea1cb92754d2a47bdddeee755d3203d1f84ae08e03e"}, + {file = "grpcio-1.71.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:39983a9245d37394fd59de71e88c4b295eb510a3555e0a847d9965088cdbd033"}, + {file = "grpcio-1.71.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9182e0063112e55e74ee7584769ec5a0b4f18252c35787f48738627e23a62b97"}, + {file = "grpcio-1.71.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693bc706c031aeb848849b9d1c6b63ae6bcc64057984bb91a542332b75aa4c3d"}, + {file = "grpcio-1.71.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:20e8f653abd5ec606be69540f57289274c9ca503ed38388481e98fa396ed0b41"}, + {file = "grpcio-1.71.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:8700a2a57771cc43ea295296330daaddc0d93c088f0a35cc969292b6db959bf3"}, + {file = "grpcio-1.71.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d35a95f05a8a2cbe8e02be137740138b3b2ea5f80bd004444e4f9a1ffc511e32"}, + {file = "grpcio-1.71.0-cp39-cp39-win32.whl", hash = "sha256:f9c30c464cb2ddfbc2ddf9400287701270fdc0f14be5f08a1e3939f1e749b455"}, + {file = "grpcio-1.71.0-cp39-cp39-win_amd64.whl", hash = "sha256:63e41b91032f298b3e973b3fa4093cbbc620c875e2da7b93e249d4728b54559a"}, + {file = "grpcio-1.71.0.tar.gz", hash = "sha256:2b85f7820475ad3edec209d3d89a7909ada16caab05d3f2e08a7e8ae3200a55c"}, +] + +[package.extras] +protobuf = ["grpcio-tools (>=1.71.0)"] + +[[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" +groups = ["main"] +markers = "python_version <= \"3.11\"" +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 = "hf-transfer" +version = "0.1.9" +description = "Speed up file transfers with the Hugging Face Hub." +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "hf_transfer-0.1.9-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:6e94e8822da79573c9b6ae4d6b2f847c59a7a06c5327d7db20751b68538dc4f6"}, + {file = "hf_transfer-0.1.9-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3ebc4ab9023414880c8b1d3c38174d1c9989eb5022d37e814fa91a3060123eb0"}, + {file = "hf_transfer-0.1.9-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8674026f21ed369aa2a0a4b46000aca850fc44cd2b54af33a172ce5325b4fc82"}, + {file = "hf_transfer-0.1.9-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3a736dfbb2c84f5a2c975478ad200c0c8bfcb58a25a35db402678fb87ce17fa4"}, + {file = "hf_transfer-0.1.9-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:504b8427fd785dd8546d53b9fafe6e436bd7a3adf76b9dce556507650a7b4567"}, + {file = "hf_transfer-0.1.9-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2c7fc1b85f4d0f76e452765d7648c9f4bfd0aedb9ced2ae1ebfece2d8cfaf8e2"}, + {file = "hf_transfer-0.1.9-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0d991376f0eac70a60f0cbc95602aa708a6f7c8617f28b4945c1431d67b8e3c8"}, + {file = "hf_transfer-0.1.9-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e6ac4eddcd99575ed3735ed911ddf9d1697e2bd13aa3f0ad7e3904dd4863842e"}, + {file = "hf_transfer-0.1.9-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:57fd9880da1ee0f47250f735f791fab788f0aa1ee36afc49f761349869c8b4d9"}, + {file = "hf_transfer-0.1.9-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:5d561f0520f493c66b016d99ceabe69c23289aa90be38dd802d2aef279f15751"}, + {file = "hf_transfer-0.1.9-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a5b366d34cd449fe9b20ef25941e6eef0460a2f74e7389f02e673e1f88ebd538"}, + {file = "hf_transfer-0.1.9-cp38-abi3-macosx_10_12_x86_64.whl", hash = "sha256:e66acf91df4a8b72f60223059df3003062a5ae111757187ed1a06750a30e911b"}, + {file = "hf_transfer-0.1.9-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:8669dbcc7a3e2e8d61d42cd24da9c50d57770bd74b445c65123291ca842a7e7a"}, + {file = "hf_transfer-0.1.9-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8fd0167c4407a3bc4cdd0307e65ada2294ec04f1813d8a69a5243e379b22e9d8"}, + {file = "hf_transfer-0.1.9-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ee8b10afedcb75f71091bcc197c526a6ebf5c58bbbadb34fdeee6160f55f619f"}, + {file = "hf_transfer-0.1.9-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5828057e313de59300dd1abb489444bc452efe3f479d3c55b31a8f680936ba42"}, + {file = "hf_transfer-0.1.9-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fc6bd19e1cc177c66bdef15ef8636ad3bde79d5a4f608c158021153b4573509d"}, + {file = "hf_transfer-0.1.9-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdca9bfb89e6f8f281890cc61a8aff2d3cecaff7e1a4d275574d96ca70098557"}, + {file = "hf_transfer-0.1.9-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:89a23f58b7b7effbc047b8ca286f131b17728c99a9f972723323003ffd1bb916"}, + {file = "hf_transfer-0.1.9-cp38-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:dc7fff1345980d6c0ebb92c811d24afa4b98b3e07ed070c8e38cc91fd80478c5"}, + {file = "hf_transfer-0.1.9-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:1a6bd16c667ebe89a069ca163060127a794fa3a3525292c900b8c8cc47985b0d"}, + {file = "hf_transfer-0.1.9-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:d2fde99d502093ade3ab1b53f80da18480e9902aa960dab7f74fb1b9e5bc5746"}, + {file = "hf_transfer-0.1.9-cp38-abi3-win32.whl", hash = "sha256:435cc3cdc8524ce57b074032b8fd76eed70a4224d2091232fa6a8cef8fd6803e"}, + {file = "hf_transfer-0.1.9-cp38-abi3-win_amd64.whl", hash = "sha256:16f208fc678911c37e11aa7b586bc66a37d02e636208f18b6bc53d29b5df40ad"}, + {file = "hf_transfer-0.1.9.tar.gz", hash = "sha256:035572865dab29d17e783fbf1e84cf1cb24f3fcf8f1b17db1cfc7fdf139f02bf"}, +] + +[[package]] +name = "hjson" +version = "3.1.0" +description = "Hjson, a user interface for JSON." +optional = false +python-versions = "*" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "hjson-3.1.0-py3-none-any.whl", hash = "sha256:65713cdcf13214fb554eb8b4ef803419733f4f5e551047c9b711098ab7186b89"}, + {file = "hjson-3.1.0.tar.gz", hash = "sha256:55af475a27cf83a7969c808399d7bccdec8fb836a07ddbd574587593b9cdcf75"}, +] + +[[package]] +name = "httpcore" +version = "1.0.7" +description = "A minimal low-level HTTP client." +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +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 = "httptools" +version = "0.6.4" +description = "A collection of framework independent HTTP protocol utils." +optional = false +python-versions = ">=3.8.0" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "httptools-0.6.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3c73ce323711a6ffb0d247dcd5a550b8babf0f757e86a52558fe5b86d6fefcc0"}, + {file = "httptools-0.6.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:345c288418f0944a6fe67be8e6afa9262b18c7626c3ef3c28adc5eabc06a68da"}, + {file = "httptools-0.6.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:deee0e3343f98ee8047e9f4c5bc7cedbf69f5734454a94c38ee829fb2d5fa3c1"}, + {file = "httptools-0.6.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca80b7485c76f768a3bc83ea58373f8db7b015551117375e4918e2aa77ea9b50"}, + {file = "httptools-0.6.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:90d96a385fa941283ebd231464045187a31ad932ebfa541be8edf5b3c2328959"}, + {file = "httptools-0.6.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:59e724f8b332319e2875efd360e61ac07f33b492889284a3e05e6d13746876f4"}, + {file = "httptools-0.6.4-cp310-cp310-win_amd64.whl", hash = "sha256:c26f313951f6e26147833fc923f78f95604bbec812a43e5ee37f26dc9e5a686c"}, + {file = "httptools-0.6.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f47f8ed67cc0ff862b84a1189831d1d33c963fb3ce1ee0c65d3b0cbe7b711069"}, + {file = "httptools-0.6.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0614154d5454c21b6410fdf5262b4a3ddb0f53f1e1721cfd59d55f32138c578a"}, + {file = "httptools-0.6.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8787367fbdfccae38e35abf7641dafc5310310a5987b689f4c32cc8cc3ee975"}, + {file = "httptools-0.6.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40b0f7fe4fd38e6a507bdb751db0379df1e99120c65fbdc8ee6c1d044897a636"}, + {file = "httptools-0.6.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:40a5ec98d3f49904b9fe36827dcf1aadfef3b89e2bd05b0e35e94f97c2b14721"}, + {file = "httptools-0.6.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:dacdd3d10ea1b4ca9df97a0a303cbacafc04b5cd375fa98732678151643d4988"}, + {file = "httptools-0.6.4-cp311-cp311-win_amd64.whl", hash = "sha256:288cd628406cc53f9a541cfaf06041b4c71d751856bab45e3702191f931ccd17"}, + {file = "httptools-0.6.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:df017d6c780287d5c80601dafa31f17bddb170232d85c066604d8558683711a2"}, + {file = "httptools-0.6.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:85071a1e8c2d051b507161f6c3e26155b5c790e4e28d7f236422dbacc2a9cc44"}, + {file = "httptools-0.6.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69422b7f458c5af875922cdb5bd586cc1f1033295aa9ff63ee196a87519ac8e1"}, + {file = "httptools-0.6.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:16e603a3bff50db08cd578d54f07032ca1631450ceb972c2f834c2b860c28ea2"}, + {file = "httptools-0.6.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec4f178901fa1834d4a060320d2f3abc5c9e39766953d038f1458cb885f47e81"}, + {file = "httptools-0.6.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f9eb89ecf8b290f2e293325c646a211ff1c2493222798bb80a530c5e7502494f"}, + {file = "httptools-0.6.4-cp312-cp312-win_amd64.whl", hash = "sha256:db78cb9ca56b59b016e64b6031eda5653be0589dba2b1b43453f6e8b405a0970"}, + {file = "httptools-0.6.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ade273d7e767d5fae13fa637f4d53b6e961fb7fd93c7797562663f0171c26660"}, + {file = "httptools-0.6.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:856f4bc0478ae143bad54a4242fccb1f3f86a6e1be5548fecfd4102061b3a083"}, + {file = "httptools-0.6.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:322d20ea9cdd1fa98bd6a74b77e2ec5b818abdc3d36695ab402a0de8ef2865a3"}, + {file = "httptools-0.6.4-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4d87b29bd4486c0093fc64dea80231f7c7f7eb4dc70ae394d70a495ab8436071"}, + {file = "httptools-0.6.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:342dd6946aa6bda4b8f18c734576106b8a31f2fe31492881a9a160ec84ff4bd5"}, + {file = "httptools-0.6.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b36913ba52008249223042dca46e69967985fb4051951f94357ea681e1f5dc0"}, + {file = "httptools-0.6.4-cp313-cp313-win_amd64.whl", hash = "sha256:28908df1b9bb8187393d5b5db91435ccc9c8e891657f9cbb42a2541b44c82fc8"}, + {file = "httptools-0.6.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:d3f0d369e7ffbe59c4b6116a44d6a8eb4783aae027f2c0b366cf0aa964185dba"}, + {file = "httptools-0.6.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:94978a49b8f4569ad607cd4946b759d90b285e39c0d4640c6b36ca7a3ddf2efc"}, + {file = "httptools-0.6.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40dc6a8e399e15ea525305a2ddba998b0af5caa2566bcd79dcbe8948181eeaff"}, + {file = "httptools-0.6.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab9ba8dcf59de5181f6be44a77458e45a578fc99c31510b8c65b7d5acc3cf490"}, + {file = "httptools-0.6.4-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:fc411e1c0a7dcd2f902c7c48cf079947a7e65b5485dea9decb82b9105ca71a43"}, + {file = "httptools-0.6.4-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:d54efd20338ac52ba31e7da78e4a72570cf729fac82bc31ff9199bedf1dc7440"}, + {file = "httptools-0.6.4-cp38-cp38-win_amd64.whl", hash = "sha256:df959752a0c2748a65ab5387d08287abf6779ae9165916fe053e68ae1fbdc47f"}, + {file = "httptools-0.6.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:85797e37e8eeaa5439d33e556662cc370e474445d5fab24dcadc65a8ffb04003"}, + {file = "httptools-0.6.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:db353d22843cf1028f43c3651581e4bb49374d85692a85f95f7b9a130e1b2cab"}, + {file = "httptools-0.6.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1ffd262a73d7c28424252381a5b854c19d9de5f56f075445d33919a637e3547"}, + {file = "httptools-0.6.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:703c346571fa50d2e9856a37d7cd9435a25e7fd15e236c397bf224afaa355fe9"}, + {file = "httptools-0.6.4-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:aafe0f1918ed07b67c1e838f950b1c1fabc683030477e60b335649b8020e1076"}, + {file = "httptools-0.6.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:0e563e54979e97b6d13f1bbc05a96109923e76b901f786a5eae36e99c01237bd"}, + {file = "httptools-0.6.4-cp39-cp39-win_amd64.whl", hash = "sha256:b799de31416ecc589ad79dd85a0b2657a8fe39327944998dea368c1d4c9e55e6"}, + {file = "httptools-0.6.4.tar.gz", hash = "sha256:4e93eee4add6493b59a5c514da98c939b244fce4a0d8879cd3f466562f4b7d5c"}, +] + +[package.extras] +test = ["Cython (>=0.29.24)"] + +[[package]] +name = "httpx" +version = "0.28.1" +description = "The next generation HTTP client." +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad"}, + {file = "httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc"}, +] + +[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 = "huggingface-hub" +version = "0.29.3" +description = "Client library to download and publish models, datasets and other repos on the huggingface.co hub" +optional = false +python-versions = ">=3.8.0" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "huggingface_hub-0.29.3-py3-none-any.whl", hash = "sha256:0b25710932ac649c08cdbefa6c6ccb8e88eef82927cacdb048efb726429453aa"}, + {file = "huggingface_hub-0.29.3.tar.gz", hash = "sha256:64519a25716e0ba382ba2d3fb3ca082e7c7eb4a2fc634d200e8380006e0760e5"}, +] + +[package.dependencies] +filelock = "*" +fsspec = ">=2023.5.0" +InquirerPy = {version = "0.3.4", optional = true, markers = "extra == \"cli\""} +packaging = ">=20.9" +pyyaml = ">=5.1" +requests = "*" +tqdm = ">=4.42.1" +typing-extensions = ">=3.7.4.3" + +[package.extras] +all = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "fastapi", "gradio (>=4.0.0)", "jedi", "libcst (==1.4.0)", "mypy (==1.5.1)", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "ruff (>=0.9.0)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"] +cli = ["InquirerPy (==0.3.4)"] +dev = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "fastapi", "gradio (>=4.0.0)", "jedi", "libcst (==1.4.0)", "mypy (==1.5.1)", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "ruff (>=0.9.0)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"] +fastai = ["fastai (>=2.4)", "fastcore (>=1.3.27)", "toml"] +hf-transfer = ["hf-transfer (>=0.1.4)"] +inference = ["aiohttp"] +quality = ["libcst (==1.4.0)", "mypy (==1.5.1)", "ruff (>=0.9.0)"] +tensorflow = ["graphviz", "pydot", "tensorflow"] +tensorflow-testing = ["keras (<3.0)", "tensorflow"] +testing = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "fastapi", "gradio (>=4.0.0)", "jedi", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "soundfile", "urllib3 (<2.0)"] +torch = ["safetensors[torch]", "torch"] +typing = ["types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)"] + +[[package]] +name = "idna" +version = "3.10" +description = "Internationalized Domain Names in Applications (IDNA)" +optional = false +python-versions = ">=3.6" +groups = ["main"] +markers = "python_version <= \"3.11\"" +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 = "importlib-metadata" +version = "8.6.1" +description = "Read metadata from Python packages" +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "importlib_metadata-8.6.1-py3-none-any.whl", hash = "sha256:02a89390c1e15fdfdc0d7c6b25cb3e62650d0494005c97d6f148bf5b9787525e"}, + {file = "importlib_metadata-8.6.1.tar.gz", hash = "sha256:310b41d755445d74569f993ccfc22838295d9fe005425094fad953d7f15c8580"}, +] + +[package.dependencies] +zipp = ">=3.20" + +[package.extras] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +cover = ["pytest-cov"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +enabler = ["pytest-enabler (>=2.2)"] +perf = ["ipython"] +test = ["flufl.flake8", "importlib_resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] +type = ["pytest-mypy"] + +[[package]] +name = "iniconfig" +version = "2.0.0" +description = "brain-dead simple config-ini parsing" +optional = false +python-versions = ">=3.7" +groups = ["test"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, + {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, +] + +[[package]] +name = "inquirerpy" +version = "0.3.4" +description = "Python port of Inquirer.js (A collection of common interactive command-line user interfaces)" +optional = false +python-versions = ">=3.7,<4.0" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "InquirerPy-0.3.4-py3-none-any.whl", hash = "sha256:c65fdfbac1fa00e3ee4fb10679f4d3ed7a012abf4833910e63c295827fe2a7d4"}, + {file = "InquirerPy-0.3.4.tar.gz", hash = "sha256:89d2ada0111f337483cb41ae31073108b2ec1e618a49d7110b0d7ade89fc197e"}, +] + +[package.dependencies] +pfzy = ">=0.3.1,<0.4.0" +prompt-toolkit = ">=3.0.1,<4.0.0" + +[package.extras] +docs = ["Sphinx (>=4.1.2,<5.0.0)", "furo (>=2021.8.17-beta.43,<2022.0.0)", "myst-parser (>=0.15.1,<0.16.0)", "sphinx-autobuild (>=2021.3.14,<2022.0.0)", "sphinx-copybutton (>=0.4.0,<0.5.0)"] + +[[package]] +name = "interegular" +version = "0.3.3" +description = "a regex intersection checker" +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "interegular-0.3.3-py37-none-any.whl", hash = "sha256:b0c07007d48c89d6d19f7204972d369b2a77222722e126b6aa63aa721dc3b19c"}, + {file = "interegular-0.3.3.tar.gz", hash = "sha256:d9b697b21b34884711399ba0f0376914b81899ce670032486d0d048344a76600"}, +] + +[[package]] +name = "isort" +version = "6.0.1" +description = "A Python utility / library to sort Python imports." +optional = false +python-versions = ">=3.9.0" +groups = ["dev"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "isort-6.0.1-py3-none-any.whl", hash = "sha256:2dc5d7f65c9678d94c88dfc29161a320eec67328bc97aad576874cb4be1e9615"}, + {file = "isort-6.0.1.tar.gz", hash = "sha256:1cb5df28dfbc742e490c5e41bad6da41b805b0a8be7bc93cd0fb2a8a890ac450"}, +] + +[package.extras] +colors = ["colorama"] +plugins = ["setuptools"] + +[[package]] +name = "jinja2" +version = "3.1.6" +description = "A very fast and expressive template engine." +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67"}, + {file = "jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d"}, +] + +[package.dependencies] +MarkupSafe = ">=2.0" + +[package.extras] +i18n = ["Babel (>=2.7)"] + +[[package]] +name = "jiter" +version = "0.9.0" +description = "Fast iterable JSON parser." +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "jiter-0.9.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:816ec9b60fdfd1fec87da1d7ed46c66c44ffec37ab2ef7de5b147b2fce3fd5ad"}, + {file = "jiter-0.9.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9b1d3086f8a3ee0194ecf2008cf81286a5c3e540d977fa038ff23576c023c0ea"}, + {file = "jiter-0.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1339f839b91ae30b37c409bf16ccd3dc453e8b8c3ed4bd1d6a567193651a4a51"}, + {file = "jiter-0.9.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ffba79584b3b670fefae66ceb3a28822365d25b7bf811e030609a3d5b876f538"}, + {file = "jiter-0.9.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5cfc7d0a8e899089d11f065e289cb5b2daf3d82fbe028f49b20d7b809193958d"}, + {file = "jiter-0.9.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e00a1a2bbfaaf237e13c3d1592356eab3e9015d7efd59359ac8b51eb56390a12"}, + {file = "jiter-0.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1d9870561eb26b11448854dce0ff27a9a27cb616b632468cafc938de25e9e51"}, + {file = "jiter-0.9.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9872aeff3f21e437651df378cb75aeb7043e5297261222b6441a620218b58708"}, + {file = "jiter-0.9.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:1fd19112d1049bdd47f17bfbb44a2c0001061312dcf0e72765bfa8abd4aa30e5"}, + {file = "jiter-0.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6ef5da104664e526836070e4a23b5f68dec1cc673b60bf1edb1bfbe8a55d0678"}, + {file = "jiter-0.9.0-cp310-cp310-win32.whl", hash = "sha256:cb12e6d65ebbefe5518de819f3eda53b73187b7089040b2d17f5b39001ff31c4"}, + {file = "jiter-0.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:c43ca669493626d8672be3b645dbb406ef25af3f4b6384cfd306da7eb2e70322"}, + {file = "jiter-0.9.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:6c4d99c71508912a7e556d631768dcdef43648a93660670986916b297f1c54af"}, + {file = "jiter-0.9.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8f60fb8ce7df529812bf6c625635a19d27f30806885139e367af93f6e734ef58"}, + {file = "jiter-0.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:51c4e1a4f8ea84d98b7b98912aa4290ac3d1eabfde8e3c34541fae30e9d1f08b"}, + {file = "jiter-0.9.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f4c677c424dc76684fea3e7285a7a2a7493424bea89ac441045e6a1fb1d7b3b"}, + {file = "jiter-0.9.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2221176dfec87f3470b21e6abca056e6b04ce9bff72315cb0b243ca9e835a4b5"}, + {file = "jiter-0.9.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3c7adb66f899ffa25e3c92bfcb593391ee1947dbdd6a9a970e0d7e713237d572"}, + {file = "jiter-0.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c98d27330fdfb77913c1097a7aab07f38ff2259048949f499c9901700789ac15"}, + {file = "jiter-0.9.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:eda3f8cc74df66892b1d06b5d41a71670c22d95a1ca2cbab73654745ce9d0419"}, + {file = "jiter-0.9.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:dd5ab5ddc11418dce28343123644a100f487eaccf1de27a459ab36d6cca31043"}, + {file = "jiter-0.9.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:42f8a68a69f047b310319ef8e2f52fdb2e7976fb3313ef27df495cf77bcad965"}, + {file = "jiter-0.9.0-cp311-cp311-win32.whl", hash = "sha256:a25519efb78a42254d59326ee417d6f5161b06f5da827d94cf521fed961b1ff2"}, + {file = "jiter-0.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:923b54afdd697dfd00d368b7ccad008cccfeb1efb4e621f32860c75e9f25edbd"}, + {file = "jiter-0.9.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:7b46249cfd6c48da28f89eb0be3f52d6fdb40ab88e2c66804f546674e539ec11"}, + {file = "jiter-0.9.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:609cf3c78852f1189894383cf0b0b977665f54cb38788e3e6b941fa6d982c00e"}, + {file = "jiter-0.9.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d726a3890a54561e55a9c5faea1f7655eda7f105bd165067575ace6e65f80bb2"}, + {file = "jiter-0.9.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2e89dc075c1fef8fa9be219e249f14040270dbc507df4215c324a1839522ea75"}, + {file = "jiter-0.9.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:04e8ffa3c353b1bc4134f96f167a2082494351e42888dfcf06e944f2729cbe1d"}, + {file = "jiter-0.9.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:203f28a72a05ae0e129b3ed1f75f56bc419d5f91dfacd057519a8bd137b00c42"}, + {file = "jiter-0.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fca1a02ad60ec30bb230f65bc01f611c8608b02d269f998bc29cca8619a919dc"}, + {file = "jiter-0.9.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:237e5cee4d5d2659aaf91bbf8ec45052cc217d9446070699441a91b386ae27dc"}, + {file = "jiter-0.9.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:528b6b71745e7326eed73c53d4aa57e2a522242320b6f7d65b9c5af83cf49b6e"}, + {file = "jiter-0.9.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:9f48e86b57bc711eb5acdfd12b6cb580a59cc9a993f6e7dcb6d8b50522dcd50d"}, + {file = "jiter-0.9.0-cp312-cp312-win32.whl", hash = "sha256:699edfde481e191d81f9cf6d2211debbfe4bd92f06410e7637dffb8dd5dfde06"}, + {file = "jiter-0.9.0-cp312-cp312-win_amd64.whl", hash = "sha256:099500d07b43f61d8bd780466d429c45a7b25411b334c60ca875fa775f68ccb0"}, + {file = "jiter-0.9.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:2764891d3f3e8b18dce2cff24949153ee30c9239da7c00f032511091ba688ff7"}, + {file = "jiter-0.9.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:387b22fbfd7a62418d5212b4638026d01723761c75c1c8232a8b8c37c2f1003b"}, + {file = "jiter-0.9.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d8da8629ccae3606c61d9184970423655fb4e33d03330bcdfe52d234d32f69"}, + {file = "jiter-0.9.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a1be73d8982bdc278b7b9377426a4b44ceb5c7952073dd7488e4ae96b88e1103"}, + {file = "jiter-0.9.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2228eaaaa111ec54b9e89f7481bffb3972e9059301a878d085b2b449fbbde635"}, + {file = "jiter-0.9.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:11509bfecbc319459647d4ac3fd391d26fdf530dad00c13c4dadabf5b81f01a4"}, + {file = "jiter-0.9.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3f22238da568be8bbd8e0650e12feeb2cfea15eda4f9fc271d3b362a4fa0604d"}, + {file = "jiter-0.9.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:17f5d55eb856597607562257c8e36c42bc87f16bef52ef7129b7da11afc779f3"}, + {file = "jiter-0.9.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:6a99bed9fbb02f5bed416d137944419a69aa4c423e44189bc49718859ea83bc5"}, + {file = "jiter-0.9.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:e057adb0cd1bd39606100be0eafe742de2de88c79df632955b9ab53a086b3c8d"}, + {file = "jiter-0.9.0-cp313-cp313-win32.whl", hash = "sha256:f7e6850991f3940f62d387ccfa54d1a92bd4bb9f89690b53aea36b4364bcab53"}, + {file = "jiter-0.9.0-cp313-cp313-win_amd64.whl", hash = "sha256:c8ae3bf27cd1ac5e6e8b7a27487bf3ab5f82318211ec2e1346a5b058756361f7"}, + {file = "jiter-0.9.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f0b2827fb88dda2cbecbbc3e596ef08d69bda06c6f57930aec8e79505dc17001"}, + {file = "jiter-0.9.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:062b756ceb1d40b0b28f326cba26cfd575a4918415b036464a52f08632731e5a"}, + {file = "jiter-0.9.0-cp313-cp313t-win_amd64.whl", hash = "sha256:6f7838bc467ab7e8ef9f387bd6de195c43bad82a569c1699cb822f6609dd4cdf"}, + {file = "jiter-0.9.0-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:4a2d16360d0642cd68236f931b85fe50288834c383492e4279d9f1792e309571"}, + {file = "jiter-0.9.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e84ed1c9c9ec10bbb8c37f450077cbe3c0d4e8c2b19f0a49a60ac7ace73c7452"}, + {file = "jiter-0.9.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f3c848209ccd1bfa344a1240763975ca917de753c7875c77ec3034f4151d06c"}, + {file = "jiter-0.9.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7825f46e50646bee937e0f849d14ef3a417910966136f59cd1eb848b8b5bb3e4"}, + {file = "jiter-0.9.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d82a811928b26d1a6311a886b2566f68ccf2b23cf3bfed042e18686f1f22c2d7"}, + {file = "jiter-0.9.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0c058ecb51763a67f019ae423b1cbe3fa90f7ee6280c31a1baa6ccc0c0e2d06e"}, + {file = "jiter-0.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9897115ad716c48f0120c1f0c4efae348ec47037319a6c63b2d7838bb53aaef4"}, + {file = "jiter-0.9.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:351f4c90a24c4fb8c87c6a73af2944c440494ed2bea2094feecacb75c50398ae"}, + {file = "jiter-0.9.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:d45807b0f236c485e1e525e2ce3a854807dfe28ccf0d013dd4a563395e28008a"}, + {file = "jiter-0.9.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:1537a890724ba00fdba21787010ac6f24dad47f763410e9e1093277913592784"}, + {file = "jiter-0.9.0-cp38-cp38-win32.whl", hash = "sha256:e3630ec20cbeaddd4b65513fa3857e1b7c4190d4481ef07fb63d0fad59033321"}, + {file = "jiter-0.9.0-cp38-cp38-win_amd64.whl", hash = "sha256:2685f44bf80e95f8910553bf2d33b9c87bf25fceae6e9f0c1355f75d2922b0ee"}, + {file = "jiter-0.9.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:9ef340fae98065071ccd5805fe81c99c8f80484e820e40043689cf97fb66b3e2"}, + {file = "jiter-0.9.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:efb767d92c63b2cd9ec9f24feeb48f49574a713870ec87e9ba0c2c6e9329c3e2"}, + {file = "jiter-0.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:113f30f87fb1f412510c6d7ed13e91422cfd329436364a690c34c8b8bd880c42"}, + {file = "jiter-0.9.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8793b6df019b988526f5a633fdc7456ea75e4a79bd8396a3373c371fc59f5c9b"}, + {file = "jiter-0.9.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7a9aaa5102dba4e079bb728076fadd5a2dca94c05c04ce68004cfd96f128ea34"}, + {file = "jiter-0.9.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d838650f6ebaf4ccadfb04522463e74a4c378d7e667e0eb1865cfe3990bfac49"}, + {file = "jiter-0.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0194f813efdf4b8865ad5f5c5f50f8566df7d770a82c51ef593d09e0b347020"}, + {file = "jiter-0.9.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a7954a401d0a8a0b8bc669199db78af435aae1e3569187c2939c477c53cb6a0a"}, + {file = "jiter-0.9.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4feafe787eb8a8d98168ab15637ca2577f6ddf77ac6c8c66242c2d028aa5420e"}, + {file = "jiter-0.9.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:27cd1f2e8bb377f31d3190b34e4328d280325ad7ef55c6ac9abde72f79e84d2e"}, + {file = "jiter-0.9.0-cp39-cp39-win32.whl", hash = "sha256:161d461dcbe658cf0bd0aa375b30a968b087cdddc624fc585f3867c63c6eca95"}, + {file = "jiter-0.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:e8b36d8a16a61993be33e75126ad3d8aa29cf450b09576f3c427d27647fcb4aa"}, + {file = "jiter-0.9.0.tar.gz", hash = "sha256:aadba0964deb424daa24492abc3d229c60c4a31bfee205aedbf1acc7639d7893"}, +] + +[[package]] +name = "joblib" +version = "1.4.2" +description = "Lightweight pipelining with Python functions" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "joblib-1.4.2-py3-none-any.whl", hash = "sha256:06d478d5674cbc267e7496a410ee875abd68e4340feff4490bcb7afb88060ae6"}, + {file = "joblib-1.4.2.tar.gz", hash = "sha256:2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e"}, +] + +[[package]] +name = "jsonschema" +version = "4.23.0" +description = "An implementation of JSON Schema validation for Python" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +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" +jsonschema-specifications = ">=2023.03.6" +referencing = ">=0.28.4" +rpds-py = ">=0.7.1" + +[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" +groups = ["main"] +markers = "python_version <= \"3.11\"" +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 = "langcodes" +version = "3.5.0" +description = "Tools for labeling human languages with IETF language tags" +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "langcodes-3.5.0-py3-none-any.whl", hash = "sha256:853c69d1a35e0e13da2f427bb68fb2fa4a8f4fb899e0c62ad8df8d073dcfed33"}, + {file = "langcodes-3.5.0.tar.gz", hash = "sha256:1eef8168d07e51e131a2497ffecad4b663f6208e7c3ae3b8dc15c51734a6f801"}, +] + +[package.dependencies] +language-data = ">=1.2" + +[package.extras] +build = ["build", "twine"] +test = ["pytest", "pytest-cov"] + +[[package]] +name = "langdetect" +version = "1.0.9" +description = "Language detection library ported from Google's language-detection." +optional = false +python-versions = "*" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "langdetect-1.0.9-py2-none-any.whl", hash = "sha256:7cbc0746252f19e76f77c0b1690aadf01963be835ef0cd4b56dddf2a8f1dfc2a"}, + {file = "langdetect-1.0.9.tar.gz", hash = "sha256:cbc1fef89f8d062739774bd51eda3da3274006b3661d199c2655f6b3f6d605a0"}, +] + +[package.dependencies] +six = "*" + +[[package]] +name = "language-data" +version = "1.3.0" +description = "Supplementary data about languages used by the langcodes module" +optional = false +python-versions = "*" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "language_data-1.3.0-py3-none-any.whl", hash = "sha256:e2ee943551b5ae5f89cd0e801d1fc3835bb0ef5b7e9c3a4e8e17b2b214548fbf"}, + {file = "language_data-1.3.0.tar.gz", hash = "sha256:7600ef8aa39555145d06c89f0c324bf7dab834ea0b0a439d8243762e3ebad7ec"}, +] + +[package.dependencies] +marisa-trie = ">=1.1.0" + +[package.extras] +build = ["build", "twine"] +test = ["pytest", "pytest-cov"] + +[[package]] +name = "lark" +version = "1.2.2" +description = "a modern parsing library" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "lark-1.2.2-py3-none-any.whl", hash = "sha256:c2276486b02f0f1b90be155f2c8ba4a8e194d42775786db622faccd652d8e80c"}, + {file = "lark-1.2.2.tar.gz", hash = "sha256:ca807d0162cd16cef15a8feecb862d7319e7a09bdb13aef927968e45040fed80"}, +] + +[package.extras] +atomic-cache = ["atomicwrites"] +interegular = ["interegular (>=0.3.1,<0.4.0)"] +nearley = ["js2py"] +regex = ["regex"] + +[[package]] +name = "latex2sympy2-extended" +version = "1.0.6" +description = "Convert LaTeX math to SymPy expressions" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "latex2sympy2_extended-1.0.6-py3-none-any.whl", hash = "sha256:036da4b24c73c4b13566ef4e347be08232c6539ddd75b38f083cc5821e738bba"}, + {file = "latex2sympy2_extended-1.0.6.tar.gz", hash = "sha256:1f994f3cb49c613387437980610326ae7392d41da151523ab16faa521d406083"}, +] + +[package.dependencies] +antlr4-python3-runtime = "4.13.2" +sympy = "*" + +[package.extras] +dev = ["pytest"] + +[[package]] +name = "liger-kernel" +version = "0.5.3" +description = "Efficient Triton kernels for LLM Training" +optional = false +python-versions = "*" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "liger_kernel-0.5.3-py3-none-any.whl", hash = "sha256:0a4770e5c2610e579fbad646422c1a5f71ef19e21ce4a21f6eeb2c65df1fd01b"}, + {file = "liger_kernel-0.5.3.tar.gz", hash = "sha256:65f97089da4d9383695fdead19ece482d98165aa309cc5349d6c26654663e301"}, +] + +[package.dependencies] +torch = ">=2.1.2" +triton = ">=2.3.1" + +[package.extras] +dev = ["black (>=24.4.2)", "datasets (>=2.19.2)", "flake8 (>=4.0.1.1)", "isort (>=5.13.2)", "matplotlib (>=3.7.2)", "mkdocs", "mkdocs-material", "pytest (>=7.1.2)", "pytest-rerunfailures", "pytest-xdist", "seaborn", "transformers (>=4.44.2)"] + +[[package]] +name = "lighteval" +version = "0.6.0.dev0" +description = "A lightweight and configurable evaluation package" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [] +develop = false + +[package.dependencies] +accelerate = "*" +aenum = "3.1.15" +colorlog = "*" +datasets = ">=2.14.0" +fsspec = ">=2023.12.2" +GitPython = ">=3.1.41" +huggingface_hub = ">=0.23.0" +nltk = "3.9.1" +numpy = "<2" +protobuf = "==3.20.*" +pycountry = "*" +pytablewriter = "*" +rich = "*" +rouge_score = "0.1.2" +sacrebleu = "*" +scikit-learn = "*" +sentencepiece = ">=0.1.99" +spacy = "3.7.2" +termcolor = "2.3.0" +torch = ">=2.0,<3.0" +transformers = ">=4.38.0" +typer = "*" + +[package.extras] +adapters = ["peft (==0.3.0)"] +dev = ["lighteval[accelerate,extended-tasks,math,multilingual,quality,tests]"] +docs = ["hf-doc-builder", "watchdog"] +extended-tasks = ["langdetect", "openai", "tiktoken"] +litellm = ["diskcache", "litellm"] +math = ["latex2sympy2_extended (==1.0.6)"] +multilingual = ["jieba", "pyvi", "spacy[ja,ko,th]", "stanza"] +nanotron = ["nanotron", "tensorboardX"] +optimum = ["optimum (==1.12.0)"] +quality = ["pre-commit", "ruff (==v0.2.2)"] +quantization = ["auto-gptq (>=0.4.2)", "bitsandbytes (>=0.41.0)"] +s3 = ["s3fs"] +tensorboardx = ["tensorboardX"] +tests = ["pytest (==7.4.0)"] +tgi = ["text-generation (==0.6.0)"] +vllm = ["more_itertools", "ray", "vllm (>=0.7.0)"] + +[package.source] +type = "git" +url = "https://github.com/huggingface/lighteval.git" +reference = "ed084813e0bd12d82a06d9f913291fdbee774905" +resolved_reference = "ed084813e0bd12d82a06d9f913291fdbee774905" + +[[package]] +name = "lm-format-enforcer" +version = "0.10.11" +description = "Enforce the output format (JSON Schema, Regex etc) of a language model" +optional = false +python-versions = "<4.0,>=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "lm_format_enforcer-0.10.11-py3-none-any.whl", hash = "sha256:563e0dbc930a6d50fb687951506c5de098c6e962601be0ce723f3b7d0b916a1b"}, + {file = "lm_format_enforcer-0.10.11.tar.gz", hash = "sha256:8ab371924e166a1df68f243aca73a8a647bea5909f37edd6a53a694e7e7c3274"}, +] + +[package.dependencies] +interegular = ">=0.3.2" +packaging = "*" +pydantic = ">=1.10.8" +pyyaml = "*" + +[[package]] +name = "lxml" +version = "5.3.1" +description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." +optional = false +python-versions = ">=3.6" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "lxml-5.3.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a4058f16cee694577f7e4dd410263cd0ef75644b43802a689c2b3c2a7e69453b"}, + {file = "lxml-5.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:364de8f57d6eda0c16dcfb999af902da31396949efa0e583e12675d09709881b"}, + {file = "lxml-5.3.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:528f3a0498a8edc69af0559bdcf8a9f5a8bf7c00051a6ef3141fdcf27017bbf5"}, + {file = "lxml-5.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:db4743e30d6f5f92b6d2b7c86b3ad250e0bad8dee4b7ad8a0c44bfb276af89a3"}, + {file = "lxml-5.3.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:17b5d7f8acf809465086d498d62a981fa6a56d2718135bb0e4aa48c502055f5c"}, + {file = "lxml-5.3.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:928e75a7200a4c09e6efc7482a1337919cc61fe1ba289f297827a5b76d8969c2"}, + {file = "lxml-5.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a997b784a639e05b9d4053ef3b20c7e447ea80814a762f25b8ed5a89d261eac"}, + {file = "lxml-5.3.1-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:7b82e67c5feb682dbb559c3e6b78355f234943053af61606af126df2183b9ef9"}, + {file = "lxml-5.3.1-cp310-cp310-manylinux_2_28_ppc64le.whl", hash = "sha256:f1de541a9893cf8a1b1db9bf0bf670a2decab42e3e82233d36a74eda7822b4c9"}, + {file = "lxml-5.3.1-cp310-cp310-manylinux_2_28_s390x.whl", hash = "sha256:de1fc314c3ad6bc2f6bd5b5a5b9357b8c6896333d27fdbb7049aea8bd5af2d79"}, + {file = "lxml-5.3.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:7c0536bd9178f754b277a3e53f90f9c9454a3bd108b1531ffff720e082d824f2"}, + {file = "lxml-5.3.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:68018c4c67d7e89951a91fbd371e2e34cd8cfc71f0bb43b5332db38497025d51"}, + {file = "lxml-5.3.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:aa826340a609d0c954ba52fd831f0fba2a4165659ab0ee1a15e4aac21f302406"}, + {file = "lxml-5.3.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:796520afa499732191e39fc95b56a3b07f95256f2d22b1c26e217fb69a9db5b5"}, + {file = "lxml-5.3.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3effe081b3135237da6e4c4530ff2a868d3f80be0bda027e118a5971285d42d0"}, + {file = "lxml-5.3.1-cp310-cp310-win32.whl", hash = "sha256:a22f66270bd6d0804b02cd49dae2b33d4341015545d17f8426f2c4e22f557a23"}, + {file = "lxml-5.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:0bcfadea3cdc68e678d2b20cb16a16716887dd00a881e16f7d806c2138b8ff0c"}, + {file = "lxml-5.3.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:e220f7b3e8656ab063d2eb0cd536fafef396829cafe04cb314e734f87649058f"}, + {file = "lxml-5.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0f2cfae0688fd01f7056a17367e3b84f37c545fb447d7282cf2c242b16262607"}, + {file = "lxml-5.3.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:67d2f8ad9dcc3a9e826bdc7802ed541a44e124c29b7d95a679eeb58c1c14ade8"}, + {file = "lxml-5.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:db0c742aad702fd5d0c6611a73f9602f20aec2007c102630c06d7633d9c8f09a"}, + {file = "lxml-5.3.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:198bb4b4dd888e8390afa4f170d4fa28467a7eaf857f1952589f16cfbb67af27"}, + {file = "lxml-5.3.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d2a3e412ce1849be34b45922bfef03df32d1410a06d1cdeb793a343c2f1fd666"}, + {file = "lxml-5.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b8969dbc8d09d9cd2ae06362c3bad27d03f433252601ef658a49bd9f2b22d79"}, + {file = "lxml-5.3.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:5be8f5e4044146a69c96077c7e08f0709c13a314aa5315981185c1f00235fe65"}, + {file = "lxml-5.3.1-cp311-cp311-manylinux_2_28_ppc64le.whl", hash = "sha256:133f3493253a00db2c870d3740bc458ebb7d937bd0a6a4f9328373e0db305709"}, + {file = "lxml-5.3.1-cp311-cp311-manylinux_2_28_s390x.whl", hash = "sha256:52d82b0d436edd6a1d22d94a344b9a58abd6c68c357ed44f22d4ba8179b37629"}, + {file = "lxml-5.3.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:1b6f92e35e2658a5ed51c6634ceb5ddae32053182851d8cad2a5bc102a359b33"}, + {file = "lxml-5.3.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:203b1d3eaebd34277be06a3eb880050f18a4e4d60861efba4fb946e31071a295"}, + {file = "lxml-5.3.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:155e1a5693cf4b55af652f5c0f78ef36596c7f680ff3ec6eb4d7d85367259b2c"}, + {file = "lxml-5.3.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:22ec2b3c191f43ed21f9545e9df94c37c6b49a5af0a874008ddc9132d49a2d9c"}, + {file = "lxml-5.3.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7eda194dd46e40ec745bf76795a7cccb02a6a41f445ad49d3cf66518b0bd9cff"}, + {file = "lxml-5.3.1-cp311-cp311-win32.whl", hash = "sha256:fb7c61d4be18e930f75948705e9718618862e6fc2ed0d7159b2262be73f167a2"}, + {file = "lxml-5.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:c809eef167bf4a57af4b03007004896f5c60bd38dc3852fcd97a26eae3d4c9e6"}, + {file = "lxml-5.3.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:e69add9b6b7b08c60d7ff0152c7c9a6c45b4a71a919be5abde6f98f1ea16421c"}, + {file = "lxml-5.3.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:4e52e1b148867b01c05e21837586ee307a01e793b94072d7c7b91d2c2da02ffe"}, + {file = "lxml-5.3.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a4b382e0e636ed54cd278791d93fe2c4f370772743f02bcbe431a160089025c9"}, + {file = "lxml-5.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c2e49dc23a10a1296b04ca9db200c44d3eb32c8d8ec532e8c1fd24792276522a"}, + {file = "lxml-5.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4399b4226c4785575fb20998dc571bc48125dc92c367ce2602d0d70e0c455eb0"}, + {file = "lxml-5.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5412500e0dc5481b1ee9cf6b38bb3b473f6e411eb62b83dc9b62699c3b7b79f7"}, + {file = "lxml-5.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c93ed3c998ea8472be98fb55aed65b5198740bfceaec07b2eba551e55b7b9ae"}, + {file = "lxml-5.3.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:63d57fc94eb0bbb4735e45517afc21ef262991d8758a8f2f05dd6e4174944519"}, + {file = "lxml-5.3.1-cp312-cp312-manylinux_2_28_ppc64le.whl", hash = "sha256:b450d7cabcd49aa7ab46a3c6aa3ac7e1593600a1a0605ba536ec0f1b99a04322"}, + {file = "lxml-5.3.1-cp312-cp312-manylinux_2_28_s390x.whl", hash = "sha256:4df0ec814b50275ad6a99bc82a38b59f90e10e47714ac9871e1b223895825468"}, + {file = "lxml-5.3.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:d184f85ad2bb1f261eac55cddfcf62a70dee89982c978e92b9a74a1bfef2e367"}, + {file = "lxml-5.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b725e70d15906d24615201e650d5b0388b08a5187a55f119f25874d0103f90dd"}, + {file = "lxml-5.3.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a31fa7536ec1fb7155a0cd3a4e3d956c835ad0a43e3610ca32384d01f079ea1c"}, + {file = "lxml-5.3.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3c3c8b55c7fc7b7e8877b9366568cc73d68b82da7fe33d8b98527b73857a225f"}, + {file = "lxml-5.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d61ec60945d694df806a9aec88e8f29a27293c6e424f8ff91c80416e3c617645"}, + {file = "lxml-5.3.1-cp312-cp312-win32.whl", hash = "sha256:f4eac0584cdc3285ef2e74eee1513a6001681fd9753b259e8159421ed28a72e5"}, + {file = "lxml-5.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:29bfc8d3d88e56ea0a27e7c4897b642706840247f59f4377d81be8f32aa0cfbf"}, + {file = "lxml-5.3.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:c093c7088b40d8266f57ed71d93112bd64c6724d31f0794c1e52cc4857c28e0e"}, + {file = "lxml-5.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b0884e3f22d87c30694e625b1e62e6f30d39782c806287450d9dc2fdf07692fd"}, + {file = "lxml-5.3.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1637fa31ec682cd5760092adfabe86d9b718a75d43e65e211d5931809bc111e7"}, + {file = "lxml-5.3.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a364e8e944d92dcbf33b6b494d4e0fb3499dcc3bd9485beb701aa4b4201fa414"}, + {file = "lxml-5.3.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:779e851fd0e19795ccc8a9bb4d705d6baa0ef475329fe44a13cf1e962f18ff1e"}, + {file = "lxml-5.3.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c4393600915c308e546dc7003d74371744234e8444a28622d76fe19b98fa59d1"}, + {file = "lxml-5.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:673b9d8e780f455091200bba8534d5f4f465944cbdd61f31dc832d70e29064a5"}, + {file = "lxml-5.3.1-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:2e4a570f6a99e96c457f7bec5ad459c9c420ee80b99eb04cbfcfe3fc18ec6423"}, + {file = "lxml-5.3.1-cp313-cp313-manylinux_2_28_ppc64le.whl", hash = "sha256:71f31eda4e370f46af42fc9f264fafa1b09f46ba07bdbee98f25689a04b81c20"}, + {file = "lxml-5.3.1-cp313-cp313-manylinux_2_28_s390x.whl", hash = "sha256:42978a68d3825eaac55399eb37a4d52012a205c0c6262199b8b44fcc6fd686e8"}, + {file = "lxml-5.3.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:8b1942b3e4ed9ed551ed3083a2e6e0772de1e5e3aca872d955e2e86385fb7ff9"}, + {file = "lxml-5.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:85c4f11be9cf08917ac2a5a8b6e1ef63b2f8e3799cec194417e76826e5f1de9c"}, + {file = "lxml-5.3.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:231cf4d140b22a923b1d0a0a4e0b4f972e5893efcdec188934cc65888fd0227b"}, + {file = "lxml-5.3.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:5865b270b420eda7b68928d70bb517ccbe045e53b1a428129bb44372bf3d7dd5"}, + {file = "lxml-5.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:dbf7bebc2275016cddf3c997bf8a0f7044160714c64a9b83975670a04e6d2252"}, + {file = "lxml-5.3.1-cp313-cp313-win32.whl", hash = "sha256:d0751528b97d2b19a388b302be2a0ee05817097bab46ff0ed76feeec24951f78"}, + {file = "lxml-5.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:91fb6a43d72b4f8863d21f347a9163eecbf36e76e2f51068d59cd004c506f332"}, + {file = "lxml-5.3.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:016b96c58e9a4528219bb563acf1aaaa8bc5452e7651004894a973f03b84ba81"}, + {file = "lxml-5.3.1-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82a4bb10b0beef1434fb23a09f001ab5ca87895596b4581fd53f1e5145a8934a"}, + {file = "lxml-5.3.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d68eeef7b4d08a25e51897dac29bcb62aba830e9ac6c4e3297ee7c6a0cf6439"}, + {file = "lxml-5.3.1-cp36-cp36m-manylinux_2_28_x86_64.whl", hash = "sha256:f12582b8d3b4c6be1d298c49cb7ae64a3a73efaf4c2ab4e37db182e3545815ac"}, + {file = "lxml-5.3.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:2df7ed5edeb6bd5590914cd61df76eb6cce9d590ed04ec7c183cf5509f73530d"}, + {file = "lxml-5.3.1-cp36-cp36m-musllinux_1_2_x86_64.whl", hash = "sha256:585c4dc429deebc4307187d2b71ebe914843185ae16a4d582ee030e6cfbb4d8a"}, + {file = "lxml-5.3.1-cp36-cp36m-win32.whl", hash = "sha256:06a20d607a86fccab2fc15a77aa445f2bdef7b49ec0520a842c5c5afd8381576"}, + {file = "lxml-5.3.1-cp36-cp36m-win_amd64.whl", hash = "sha256:057e30d0012439bc54ca427a83d458752ccda725c1c161cc283db07bcad43cf9"}, + {file = "lxml-5.3.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:4867361c049761a56bd21de507cab2c2a608c55102311d142ade7dab67b34f32"}, + {file = "lxml-5.3.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3dddf0fb832486cc1ea71d189cb92eb887826e8deebe128884e15020bb6e3f61"}, + {file = "lxml-5.3.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1bcc211542f7af6f2dfb705f5f8b74e865592778e6cafdfd19c792c244ccce19"}, + {file = "lxml-5.3.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aaca5a812f050ab55426c32177091130b1e49329b3f002a32934cd0245571307"}, + {file = "lxml-5.3.1-cp37-cp37m-manylinux_2_28_aarch64.whl", hash = "sha256:236610b77589faf462337b3305a1be91756c8abc5a45ff7ca8f245a71c5dab70"}, + {file = "lxml-5.3.1-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:aed57b541b589fa05ac248f4cb1c46cbb432ab82cbd467d1c4f6a2bdc18aecf9"}, + {file = "lxml-5.3.1-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:75fa3d6946d317ffc7016a6fcc44f42db6d514b7fdb8b4b28cbe058303cb6e53"}, + {file = "lxml-5.3.1-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:96eef5b9f336f623ffc555ab47a775495e7e8846dde88de5f941e2906453a1ce"}, + {file = "lxml-5.3.1-cp37-cp37m-win32.whl", hash = "sha256:ef45f31aec9be01379fc6c10f1d9c677f032f2bac9383c827d44f620e8a88407"}, + {file = "lxml-5.3.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a0611da6b07dd3720f492db1b463a4d1175b096b49438761cc9f35f0d9eaaef5"}, + {file = "lxml-5.3.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b2aca14c235c7a08558fe0a4786a1a05873a01e86b474dfa8f6df49101853a4e"}, + {file = "lxml-5.3.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae82fce1d964f065c32c9517309f0c7be588772352d2f40b1574a214bd6e6098"}, + {file = "lxml-5.3.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7aae7a3d63b935babfdc6864b31196afd5145878ddd22f5200729006366bc4d5"}, + {file = "lxml-5.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e8e0d177b1fe251c3b1b914ab64135475c5273c8cfd2857964b2e3bb0fe196a7"}, + {file = "lxml-5.3.1-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:6c4dd3bfd0c82400060896717dd261137398edb7e524527438c54a8c34f736bf"}, + {file = "lxml-5.3.1-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:f1208c1c67ec9e151d78aa3435aa9b08a488b53d9cfac9b699f15255a3461ef2"}, + {file = "lxml-5.3.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:c6aacf00d05b38a5069826e50ae72751cb5bc27bdc4d5746203988e429b385bb"}, + {file = "lxml-5.3.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:5881aaa4bf3a2d086c5f20371d3a5856199a0d8ac72dd8d0dbd7a2ecfc26ab73"}, + {file = "lxml-5.3.1-cp38-cp38-win32.whl", hash = "sha256:45fbb70ccbc8683f2fb58bea89498a7274af1d9ec7995e9f4af5604e028233fc"}, + {file = "lxml-5.3.1-cp38-cp38-win_amd64.whl", hash = "sha256:7512b4d0fc5339d5abbb14d1843f70499cab90d0b864f790e73f780f041615d7"}, + {file = "lxml-5.3.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5885bc586f1edb48e5d68e7a4b4757b5feb2a496b64f462b4d65950f5af3364f"}, + {file = "lxml-5.3.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1b92fe86e04f680b848fff594a908edfa72b31bfc3499ef7433790c11d4c8cd8"}, + {file = "lxml-5.3.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a091026c3bf7519ab1e64655a3f52a59ad4a4e019a6f830c24d6430695b1cf6a"}, + {file = "lxml-5.3.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8ffb141361108e864ab5f1813f66e4e1164181227f9b1f105b042729b6c15125"}, + {file = "lxml-5.3.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3715cdf0dd31b836433af9ee9197af10e3df41d273c19bb249230043667a5dfd"}, + {file = "lxml-5.3.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:88b72eb7222d918c967202024812c2bfb4048deeb69ca328363fb8e15254c549"}, + {file = "lxml-5.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa59974880ab5ad8ef3afaa26f9bda148c5f39e06b11a8ada4660ecc9fb2feb3"}, + {file = "lxml-5.3.1-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:3bb8149840daf2c3f97cebf00e4ed4a65a0baff888bf2605a8d0135ff5cf764e"}, + {file = "lxml-5.3.1-cp39-cp39-manylinux_2_28_ppc64le.whl", hash = "sha256:0d6b2fa86becfa81f0a0271ccb9eb127ad45fb597733a77b92e8a35e53414914"}, + {file = "lxml-5.3.1-cp39-cp39-manylinux_2_28_s390x.whl", hash = "sha256:136bf638d92848a939fd8f0e06fcf92d9f2e4b57969d94faae27c55f3d85c05b"}, + {file = "lxml-5.3.1-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:89934f9f791566e54c1d92cdc8f8fd0009447a5ecdb1ec6b810d5f8c4955f6be"}, + {file = "lxml-5.3.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a8ade0363f776f87f982572c2860cc43c65ace208db49c76df0a21dde4ddd16e"}, + {file = "lxml-5.3.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:bfbbab9316330cf81656fed435311386610f78b6c93cc5db4bebbce8dd146675"}, + {file = "lxml-5.3.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:172d65f7c72a35a6879217bcdb4bb11bc88d55fb4879e7569f55616062d387c2"}, + {file = "lxml-5.3.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:e3c623923967f3e5961d272718655946e5322b8d058e094764180cdee7bab1af"}, + {file = "lxml-5.3.1-cp39-cp39-win32.whl", hash = "sha256:ce0930a963ff593e8bb6fda49a503911accc67dee7e5445eec972668e672a0f0"}, + {file = "lxml-5.3.1-cp39-cp39-win_amd64.whl", hash = "sha256:f7b64fcd670bca8800bc10ced36620c6bbb321e7bc1214b9c0c0df269c1dddc2"}, + {file = "lxml-5.3.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:afa578b6524ff85fb365f454cf61683771d0170470c48ad9d170c48075f86725"}, + {file = "lxml-5.3.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:67f5e80adf0aafc7b5454f2c1cb0cde920c9b1f2cbd0485f07cc1d0497c35c5d"}, + {file = "lxml-5.3.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2dd0b80ac2d8f13ffc906123a6f20b459cb50a99222d0da492360512f3e50f84"}, + {file = "lxml-5.3.1-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:422c179022ecdedbe58b0e242607198580804253da220e9454ffe848daa1cfd2"}, + {file = "lxml-5.3.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:524ccfded8989a6595dbdda80d779fb977dbc9a7bc458864fc9a0c2fc15dc877"}, + {file = "lxml-5.3.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:48fd46bf7155def2e15287c6f2b133a2f78e2d22cdf55647269977b873c65499"}, + {file = "lxml-5.3.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:05123fad495a429f123307ac6d8fd6f977b71e9a0b6d9aeeb8f80c017cb17131"}, + {file = "lxml-5.3.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a243132767150a44e6a93cd1dde41010036e1cbc63cc3e9fe1712b277d926ce3"}, + {file = "lxml-5.3.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c92ea6d9dd84a750b2bae72ff5e8cf5fdd13e58dda79c33e057862c29a8d5b50"}, + {file = "lxml-5.3.1-pp37-pypy37_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:2f1be45d4c15f237209bbf123a0e05b5d630c8717c42f59f31ea9eae2ad89394"}, + {file = "lxml-5.3.1-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:a83d3adea1e0ee36dac34627f78ddd7f093bb9cfc0a8e97f1572a949b695cb98"}, + {file = "lxml-5.3.1-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:3edbb9c9130bac05d8c3fe150c51c337a471cc7fdb6d2a0a7d3a88e88a829314"}, + {file = "lxml-5.3.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2f23cf50eccb3255b6e913188291af0150d89dab44137a69e14e4dcb7be981f1"}, + {file = "lxml-5.3.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:df7e5edac4778127f2bf452e0721a58a1cfa4d1d9eac63bdd650535eb8543615"}, + {file = "lxml-5.3.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:094b28ed8a8a072b9e9e2113a81fda668d2053f2ca9f2d202c2c8c7c2d6516b1"}, + {file = "lxml-5.3.1-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:514fe78fc4b87e7a7601c92492210b20a1b0c6ab20e71e81307d9c2e377c64de"}, + {file = "lxml-5.3.1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:8fffc08de02071c37865a155e5ea5fce0282e1546fd5bde7f6149fcaa32558ac"}, + {file = "lxml-5.3.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:4b0d5cdba1b655d5b18042ac9c9ff50bda33568eb80feaaca4fc237b9c4fbfde"}, + {file = "lxml-5.3.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:3031e4c16b59424e8d78522c69b062d301d951dc55ad8685736c3335a97fc270"}, + {file = "lxml-5.3.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb659702a45136c743bc130760c6f137870d4df3a9e14386478b8a0511abcfca"}, + {file = "lxml-5.3.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a11b16a33656ffc43c92a5343a28dc71eefe460bcc2a4923a96f292692709f6"}, + {file = "lxml-5.3.1-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c5ae125276f254b01daa73e2c103363d3e99e3e10505686ac7d9d2442dd4627a"}, + {file = "lxml-5.3.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c76722b5ed4a31ba103e0dc77ab869222ec36efe1a614e42e9bcea88a36186fe"}, + {file = "lxml-5.3.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:33e06717c00c788ab4e79bc4726ecc50c54b9bfb55355eae21473c145d83c2d2"}, + {file = "lxml-5.3.1.tar.gz", hash = "sha256:106b7b5d2977b339f1e97efe2778e2ab20e99994cbb0ec5e55771ed0795920c8"}, +] + +[package.extras] +cssselect = ["cssselect (>=0.7)"] +html-clean = ["lxml_html_clean"] +html5 = ["html5lib"] +htmlsoup = ["BeautifulSoup4"] +source = ["Cython (>=3.0.11,<3.1.0)"] + +[[package]] +name = "marisa-trie" +version = "1.2.1" +description = "Static memory-efficient and fast Trie-like structures for Python." +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "marisa_trie-1.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a2eb41d2f9114d8b7bd66772c237111e00d2bae2260824560eaa0a1e291ce9e8"}, + {file = "marisa_trie-1.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9e956e6a46f604b17d570901e66f5214fb6f658c21e5e7665deace236793cef6"}, + {file = "marisa_trie-1.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:bd45142501300e7538b2e544905580918b67b1c82abed1275fe4c682c95635fa"}, + {file = "marisa_trie-1.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a8443d116c612cfd1961fbf76769faf0561a46d8e317315dd13f9d9639ad500c"}, + {file = "marisa_trie-1.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:875a6248e60fbb48d947b574ffa4170f34981f9e579bde960d0f9a49ea393ecc"}, + {file = "marisa_trie-1.2.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:746a7c60a17fccd3cfcfd4326926f02ea4fcdfc25d513411a0c4fc8e4a1ca51f"}, + {file = "marisa_trie-1.2.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e70869737cc0e5bd903f620667da6c330d6737048d1f44db792a6af68a1d35be"}, + {file = "marisa_trie-1.2.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:06b099dd743676dbcd8abd8465ceac8f6d97d8bfaabe2c83b965495523b4cef2"}, + {file = "marisa_trie-1.2.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d2a82eb21afdaf22b50d9b996472305c05ca67fc4ff5a026a220320c9c961db6"}, + {file = "marisa_trie-1.2.1-cp310-cp310-win32.whl", hash = "sha256:8951e7ce5d3167fbd085703b4cbb3f47948ed66826bef9a2173c379508776cf5"}, + {file = "marisa_trie-1.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:5685a14b3099b1422c4f59fa38b0bf4b5342ee6cc38ae57df9666a0b28eeaad3"}, + {file = "marisa_trie-1.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ed3fb4ed7f2084597e862bcd56c56c5529e773729a426c083238682dba540e98"}, + {file = "marisa_trie-1.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0fe69fb9ffb2767746181f7b3b29bbd3454d1d24717b5958e030494f3d3cddf3"}, + {file = "marisa_trie-1.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4728ed3ae372d1ea2cdbd5eaa27b8f20a10e415d1f9d153314831e67d963f281"}, + {file = "marisa_trie-1.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8cf4f25cf895692b232f49aa5397af6aba78bb679fb917a05fce8d3cb1ee446d"}, + {file = "marisa_trie-1.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7cca7f96236ffdbf49be4b2e42c132e3df05968ac424544034767650913524de"}, + {file = "marisa_trie-1.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d7eb20bf0e8b55a58d2a9b518aabc4c18278787bdba476c551dd1c1ed109e509"}, + {file = "marisa_trie-1.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b1ec93f0d1ee6d7ab680a6d8ea1a08bf264636358e92692072170032dda652ba"}, + {file = "marisa_trie-1.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e2699255d7ac610dee26d4ae7bda5951d05c7d9123a22e1f7c6a6f1964e0a4e4"}, + {file = "marisa_trie-1.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c484410911182457a8a1a0249d0c09c01e2071b78a0a8538cd5f7fa45589b13a"}, + {file = "marisa_trie-1.2.1-cp311-cp311-win32.whl", hash = "sha256:ad548117744b2bcf0e3d97374608be0a92d18c2af13d98b728d37cd06248e571"}, + {file = "marisa_trie-1.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:436f62d27714970b9cdd3b3c41bdad046f260e62ebb0daa38125ef70536fc73b"}, + {file = "marisa_trie-1.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:638506eacf20ca503fff72221a7e66a6eadbf28d6a4a6f949fcf5b1701bb05ec"}, + {file = "marisa_trie-1.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:de1665eaafefa48a308e4753786519888021740501a15461c77bdfd57638e6b4"}, + {file = "marisa_trie-1.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f713af9b8aa66a34cd3a78c7d150a560a75734713abe818a69021fd269e927fa"}, + {file = "marisa_trie-1.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2a7d00f53f4945320b551bccb826b3fb26948bde1a10d50bb9802fabb611b10"}, + {file = "marisa_trie-1.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98042040d1d6085792e8d0f74004fc0f5f9ca6091c298f593dd81a22a4643854"}, + {file = "marisa_trie-1.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6532615111eec2c79e711965ece0bc95adac1ff547a7fff5ffca525463116deb"}, + {file = "marisa_trie-1.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:20948e40ab2038e62b7000ca6b4a913bc16c91a2c2e6da501bd1f917eeb28d51"}, + {file = "marisa_trie-1.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:66b23e5b35dd547f85bf98db7c749bc0ffc57916ade2534a6bbc32db9a4abc44"}, + {file = "marisa_trie-1.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6704adf0247d2dda42e876b793be40775dff46624309ad99bc7537098bee106d"}, + {file = "marisa_trie-1.2.1-cp312-cp312-win32.whl", hash = "sha256:3ad356442c2fea4c2a6f514738ddf213d23930f942299a2b2c05df464a00848a"}, + {file = "marisa_trie-1.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:f2806f75817392cedcacb24ac5d80b0350dde8d3861d67d045c1d9b109764114"}, + {file = "marisa_trie-1.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:b5ea16e69bfda0ac028c921b58de1a4aaf83d43934892977368579cd3c0a2554"}, + {file = "marisa_trie-1.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9f627f4e41be710b6cb6ed54b0128b229ac9d50e2054d9cde3af0fef277c23cf"}, + {file = "marisa_trie-1.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5e649f3dc8ab5476732094f2828cc90cac3be7c79bc0c8318b6fda0c1d248db4"}, + {file = "marisa_trie-1.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:46e528ee71808c961baf8c3ce1c46a8337ec7a96cc55389d11baafe5b632f8e9"}, + {file = "marisa_trie-1.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36aa4401a1180615f74d575571a6550081d84fc6461e9aefc0bb7b2427af098e"}, + {file = "marisa_trie-1.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce59bcd2cda9bb52b0e90cc7f36413cd86c3d0ce7224143447424aafb9f4aa48"}, + {file = "marisa_trie-1.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f4cd800704a5fc57e53c39c3a6b0c9b1519ebdbcb644ede3ee67a06eb542697d"}, + {file = "marisa_trie-1.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2428b495003c189695fb91ceeb499f9fcced3a2dce853e17fa475519433c67ff"}, + {file = "marisa_trie-1.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:735c363d9aaac82eaf516a28f7c6b95084c2e176d8231c87328dc80e112a9afa"}, + {file = "marisa_trie-1.2.1-cp313-cp313-win32.whl", hash = "sha256:eba6ca45500ca1a042466a0684aacc9838e7f20fe2605521ee19f2853062798f"}, + {file = "marisa_trie-1.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:aa7cd17e1c690ce96c538b2f4aae003d9a498e65067dd433c52dd069009951d4"}, + {file = "marisa_trie-1.2.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:5e43891a37b0d7f618819fea14bd951289a0a8e3dd0da50c596139ca83ebb9b1"}, + {file = "marisa_trie-1.2.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6946100a43f933fad6bc458c502a59926d80b321d5ac1ed2ff9c56605360496f"}, + {file = "marisa_trie-1.2.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a4177dc0bd1374e82be9b2ba4d0c2733b0a85b9d154ceeea83a5bee8c1e62fbf"}, + {file = "marisa_trie-1.2.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f35c2603a6be168088ed1db6ad1704b078aa8f39974c60888fbbced95dcadad4"}, + {file = "marisa_trie-1.2.1-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:d659fda873d8dcb2c14c2c331de1dee21f5a902d7f2de7978b62c6431a8850ef"}, + {file = "marisa_trie-1.2.1-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:b0ef26733d3c836be79e812071e1a431ce1f807955a27a981ebb7993d95f842b"}, + {file = "marisa_trie-1.2.1-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:536ea19ce6a2ce61c57fed4123ecd10d18d77a0db45cd2741afff2b8b68f15b3"}, + {file = "marisa_trie-1.2.1-cp37-cp37m-win32.whl", hash = "sha256:0ee6cf6a16d9c3d1c94e21c8e63c93d8b34bede170ca4e937e16e1c0700d399f"}, + {file = "marisa_trie-1.2.1-cp37-cp37m-win_amd64.whl", hash = "sha256:7e7b1786e852e014d03e5f32dbd991f9a9eb223dd3fa9a2564108b807e4b7e1c"}, + {file = "marisa_trie-1.2.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:952af3a5859c3b20b15a00748c36e9eb8316eb2c70bd353ae1646da216322908"}, + {file = "marisa_trie-1.2.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24a81aa7566e4ec96fc4d934581fe26d62eac47fc02b35fa443a0bb718b471e8"}, + {file = "marisa_trie-1.2.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9c9b32b14651a6dcf9e8857d2df5d29d322a1ea8c0be5c8ffb88f9841c4ec62b"}, + {file = "marisa_trie-1.2.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ac170d20b97beb75059ba65d1ccad6b434d777c8992ab41ffabdade3b06dd74"}, + {file = "marisa_trie-1.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da4e4facb79614cc4653cfd859f398e4db4ca9ab26270ff12610e50ed7f1f6c6"}, + {file = "marisa_trie-1.2.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:25688f34cac3bec01b4f655ffdd6c599a01f0bd596b4a79cf56c6f01a7df3560"}, + {file = "marisa_trie-1.2.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:1db3213b451bf058d558f6e619bceff09d1d130214448a207c55e1526e2773a1"}, + {file = "marisa_trie-1.2.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:d5648c6dcc5dc9200297fb779b1663b8a4467bda034a3c69bd9c32d8afb33b1d"}, + {file = "marisa_trie-1.2.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:5bd39a4e1cc839a88acca2889d17ebc3f202a5039cd6059a13148ce75c8a6244"}, + {file = "marisa_trie-1.2.1-cp38-cp38-win32.whl", hash = "sha256:594f98491a96c7f1ffe13ce292cef1b4e63c028f0707effdea0f113364c1ae6c"}, + {file = "marisa_trie-1.2.1-cp38-cp38-win_amd64.whl", hash = "sha256:5fe5a286f997848a410eebe1c28657506adaeb405220ee1e16cfcfd10deb37f2"}, + {file = "marisa_trie-1.2.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c0fe2ace0cb1806badbd1c551a8ec2f8d4cf97bf044313c082ef1acfe631ddca"}, + {file = "marisa_trie-1.2.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:67f0c2ec82c20a02c16fc9ba81dee2586ef20270127c470cb1054767aa8ba310"}, + {file = "marisa_trie-1.2.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a3c98613180cf1730e221933ff74b454008161b1a82597e41054127719964188"}, + {file = "marisa_trie-1.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:429858a0452a7bedcf67bc7bb34383d00f666c980cb75a31bcd31285fbdd4403"}, + {file = "marisa_trie-1.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b2eacb84446543082ec50f2fb563f1a94c96804d4057b7da8ed815958d0cdfbe"}, + {file = "marisa_trie-1.2.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:852d7bcf14b0c63404de26e7c4c8d5d65ecaeca935e93794331bc4e2f213660b"}, + {file = "marisa_trie-1.2.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:e58788004adda24c401d1751331618ed20c507ffc23bfd28d7c0661a1cf0ad16"}, + {file = "marisa_trie-1.2.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:aefe0973cc4698e0907289dc0517ab0c7cdb13d588201932ff567d08a50b0e2e"}, + {file = "marisa_trie-1.2.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6c50c861faad0a5c091bd763e0729f958c316e678dfa065d3984fbb9e4eacbcd"}, + {file = "marisa_trie-1.2.1-cp39-cp39-win32.whl", hash = "sha256:b1ce340da608530500ab4f963f12d6bfc8d8680900919a60dbdc9b78c02060a4"}, + {file = "marisa_trie-1.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:ce37d8ca462bb64cc13f529b9ed92f7b21fe8d1f1679b62e29f9cb7d0e888b49"}, + {file = "marisa_trie-1.2.1.tar.gz", hash = "sha256:3a27c408e2aefc03e0f1d25b2ff2afb85aac3568f6fa2ae2a53b57a2e87ce29d"}, +] + +[package.dependencies] +setuptools = "*" + +[package.extras] +test = ["hypothesis", "pytest", "readme-renderer"] + +[[package]] +name = "markdown-it-py" +version = "3.0.0" +description = "Python port of markdown-it. Markdown parsing, done right!" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, + {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, +] + +[package.dependencies] +mdurl = ">=0.1,<1.0" + +[package.extras] +benchmarking = ["psutil", "pytest", "pytest-benchmark"] +code-style = ["pre-commit (>=3.0,<4.0)"] +compare = ["commonmark (>=0.9,<1.0)", "markdown (>=3.4,<4.0)", "mistletoe (>=1.0,<2.0)", "mistune (>=2.0,<3.0)", "panflute (>=2.3,<3.0)"] +linkify = ["linkify-it-py (>=1,<3)"] +plugins = ["mdit-py-plugins"] +profiling = ["gprof2dot"] +rtd = ["jupyter_sphinx", "mdit-py-plugins", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"] +testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] + +[[package]] +name = "markupsafe" +version = "3.0.2" +description = "Safely add untrusted strings to HTML/XML markup." +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +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 = "math-verify" +version = "0.5.2" +description = "A library for verifying mathematical answers" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "math_verify-0.5.2-py3-none-any.whl", hash = "sha256:86eeb93a6a004c74e22ebc6980c6f8b8aed8f30eca46c712d43cbcd09f83aff2"}, + {file = "math_verify-0.5.2.tar.gz", hash = "sha256:19b68829bc44fa8ee2ee72b9cf308e05037e5668c4e33a7f13d2ffe22d22b234"}, +] + +[package.dependencies] +latex2sympy2_extended = "1.0.6" + +[package.extras] +inference = ["lighteval[accelerate]"] + +[[package]] +name = "mbstrdecoder" +version = "1.1.4" +description = "mbstrdecoder is a Python library for multi-byte character string decoder" +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "mbstrdecoder-1.1.4-py3-none-any.whl", hash = "sha256:03dae4ec50ec0d2ff4743e63fdbd5e0022815857494d35224b60775d3d934a8c"}, + {file = "mbstrdecoder-1.1.4.tar.gz", hash = "sha256:8105ef9cf6b7d7d69fe7fd6b68a2d8f281ca9b365d7a9b670be376b2e6c81b21"}, +] + +[package.dependencies] +chardet = ">=3.0.4,<6" + +[package.extras] +test = ["Faker (>=1.0.2)", "pytest (>=6.0.1)", "pytest-md-report (>=0.6.2)"] + +[[package]] +name = "mccabe" +version = "0.7.0" +description = "McCabe checker, plugin for flake8" +optional = false +python-versions = ">=3.6" +groups = ["dev"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, + {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, +] + +[[package]] +name = "mdurl" +version = "0.1.2" +description = "Markdown URL utilities" +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, + {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, +] + +[[package]] +name = "mistral-common" +version = "1.5.3" +description = "" +optional = false +python-versions = "<4.0.0,>=3.8.10" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "mistral_common-1.5.3-py3-none-any.whl", hash = "sha256:918af99501282bdd14cc453d561fbce13ba1416654604b94bed22c6aaebbb819"}, + {file = "mistral_common-1.5.3.tar.gz", hash = "sha256:1e9cc740197a55f9bc20d44160ce9230d9fff399da2e781d91c2677011765eff"}, +] + +[package.dependencies] +jsonschema = ">=4.21.1" +numpy = {version = ">=1.25", markers = "python_version >= \"3.9\""} +opencv-python-headless = {version = ">=4.0.0", optional = true, markers = "extra == \"opencv\""} +pillow = ">=10.3.0" +pydantic = ">=2.7,<3.0" +requests = ">=2.0.0" +sentencepiece = ">=0.2.0" +tiktoken = ">=0.7.0" +typing-extensions = ">=4.11.0" + +[package.extras] +opencv = ["opencv-python-headless (>=4.0.0)"] + +[[package]] +name = "mpmath" +version = "1.3.0" +description = "Python library for arbitrary-precision floating-point arithmetic" +optional = false +python-versions = "*" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c"}, + {file = "mpmath-1.3.0.tar.gz", hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f"}, +] + +[package.extras] +develop = ["codecov", "pycodestyle", "pytest (>=4.6)", "pytest-cov", "wheel"] +docs = ["sphinx"] +gmpy = ["gmpy2 (>=2.1.0a4)"] +tests = ["pytest (>=4.6)"] + +[[package]] +name = "msgpack" +version = "1.1.0" +description = "MessagePack serializer" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "msgpack-1.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7ad442d527a7e358a469faf43fda45aaf4ac3249c8310a82f0ccff9164e5dccd"}, + {file = "msgpack-1.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:74bed8f63f8f14d75eec75cf3d04ad581da6b914001b474a5d3cd3372c8cc27d"}, + {file = "msgpack-1.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:914571a2a5b4e7606997e169f64ce53a8b1e06f2cf2c3a7273aa106236d43dd5"}, + {file = "msgpack-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c921af52214dcbb75e6bdf6a661b23c3e6417f00c603dd2070bccb5c3ef499f5"}, + {file = "msgpack-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8ce0b22b890be5d252de90d0e0d119f363012027cf256185fc3d474c44b1b9e"}, + {file = "msgpack-1.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:73322a6cc57fcee3c0c57c4463d828e9428275fb85a27aa2aa1a92fdc42afd7b"}, + {file = "msgpack-1.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e1f3c3d21f7cf67bcf2da8e494d30a75e4cf60041d98b3f79875afb5b96f3a3f"}, + {file = "msgpack-1.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:64fc9068d701233effd61b19efb1485587560b66fe57b3e50d29c5d78e7fef68"}, + {file = "msgpack-1.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:42f754515e0f683f9c79210a5d1cad631ec3d06cea5172214d2176a42e67e19b"}, + {file = "msgpack-1.1.0-cp310-cp310-win32.whl", hash = "sha256:3df7e6b05571b3814361e8464f9304c42d2196808e0119f55d0d3e62cd5ea044"}, + {file = "msgpack-1.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:685ec345eefc757a7c8af44a3032734a739f8c45d1b0ac45efc5d8977aa4720f"}, + {file = "msgpack-1.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3d364a55082fb2a7416f6c63ae383fbd903adb5a6cf78c5b96cc6316dc1cedc7"}, + {file = "msgpack-1.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:79ec007767b9b56860e0372085f8504db5d06bd6a327a335449508bbee9648fa"}, + {file = "msgpack-1.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6ad622bf7756d5a497d5b6836e7fc3752e2dd6f4c648e24b1803f6048596f701"}, + {file = "msgpack-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e59bca908d9ca0de3dc8684f21ebf9a690fe47b6be93236eb40b99af28b6ea6"}, + {file = "msgpack-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e1da8f11a3dd397f0a32c76165cf0c4eb95b31013a94f6ecc0b280c05c91b59"}, + {file = "msgpack-1.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:452aff037287acb1d70a804ffd022b21fa2bb7c46bee884dbc864cc9024128a0"}, + {file = "msgpack-1.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8da4bf6d54ceed70e8861f833f83ce0814a2b72102e890cbdfe4b34764cdd66e"}, + {file = "msgpack-1.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:41c991beebf175faf352fb940bf2af9ad1fb77fd25f38d9142053914947cdbf6"}, + {file = "msgpack-1.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a52a1f3a5af7ba1c9ace055b659189f6c669cf3657095b50f9602af3a3ba0fe5"}, + {file = "msgpack-1.1.0-cp311-cp311-win32.whl", hash = "sha256:58638690ebd0a06427c5fe1a227bb6b8b9fdc2bd07701bec13c2335c82131a88"}, + {file = "msgpack-1.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:fd2906780f25c8ed5d7b323379f6138524ba793428db5d0e9d226d3fa6aa1788"}, + {file = "msgpack-1.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:d46cf9e3705ea9485687aa4001a76e44748b609d260af21c4ceea7f2212a501d"}, + {file = "msgpack-1.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5dbad74103df937e1325cc4bfeaf57713be0b4f15e1c2da43ccdd836393e2ea2"}, + {file = "msgpack-1.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:58dfc47f8b102da61e8949708b3eafc3504509a5728f8b4ddef84bd9e16ad420"}, + {file = "msgpack-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4676e5be1b472909b2ee6356ff425ebedf5142427842aa06b4dfd5117d1ca8a2"}, + {file = "msgpack-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17fb65dd0bec285907f68b15734a993ad3fc94332b5bb21b0435846228de1f39"}, + {file = "msgpack-1.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a51abd48c6d8ac89e0cfd4fe177c61481aca2d5e7ba42044fd218cfd8ea9899f"}, + {file = "msgpack-1.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2137773500afa5494a61b1208619e3871f75f27b03bcfca7b3a7023284140247"}, + {file = "msgpack-1.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:398b713459fea610861c8a7b62a6fec1882759f308ae0795b5413ff6a160cf3c"}, + {file = "msgpack-1.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:06f5fd2f6bb2a7914922d935d3b8bb4a7fff3a9a91cfce6d06c13bc42bec975b"}, + {file = "msgpack-1.1.0-cp312-cp312-win32.whl", hash = "sha256:ad33e8400e4ec17ba782f7b9cf868977d867ed784a1f5f2ab46e7ba53b6e1e1b"}, + {file = "msgpack-1.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:115a7af8ee9e8cddc10f87636767857e7e3717b7a2e97379dc2054712693e90f"}, + {file = "msgpack-1.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:071603e2f0771c45ad9bc65719291c568d4edf120b44eb36324dcb02a13bfddf"}, + {file = "msgpack-1.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0f92a83b84e7c0749e3f12821949d79485971f087604178026085f60ce109330"}, + {file = "msgpack-1.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4a1964df7b81285d00a84da4e70cb1383f2e665e0f1f2a7027e683956d04b734"}, + {file = "msgpack-1.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59caf6a4ed0d164055ccff8fe31eddc0ebc07cf7326a2aaa0dbf7a4001cd823e"}, + {file = "msgpack-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0907e1a7119b337971a689153665764adc34e89175f9a34793307d9def08e6ca"}, + {file = "msgpack-1.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:65553c9b6da8166e819a6aa90ad15288599b340f91d18f60b2061f402b9a4915"}, + {file = "msgpack-1.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7a946a8992941fea80ed4beae6bff74ffd7ee129a90b4dd5cf9c476a30e9708d"}, + {file = "msgpack-1.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4b51405e36e075193bc051315dbf29168d6141ae2500ba8cd80a522964e31434"}, + {file = "msgpack-1.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b4c01941fd2ff87c2a934ee6055bda4ed353a7846b8d4f341c428109e9fcde8c"}, + {file = "msgpack-1.1.0-cp313-cp313-win32.whl", hash = "sha256:7c9a35ce2c2573bada929e0b7b3576de647b0defbd25f5139dcdaba0ae35a4cc"}, + {file = "msgpack-1.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:bce7d9e614a04d0883af0b3d4d501171fbfca038f12c77fa838d9f198147a23f"}, + {file = "msgpack-1.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c40ffa9a15d74e05ba1fe2681ea33b9caffd886675412612d93ab17b58ea2fec"}, + {file = "msgpack-1.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1ba6136e650898082d9d5a5217d5906d1e138024f836ff48691784bbe1adf96"}, + {file = "msgpack-1.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e0856a2b7e8dcb874be44fea031d22e5b3a19121be92a1e098f46068a11b0870"}, + {file = "msgpack-1.1.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:471e27a5787a2e3f974ba023f9e265a8c7cfd373632247deb225617e3100a3c7"}, + {file = "msgpack-1.1.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:646afc8102935a388ffc3914b336d22d1c2d6209c773f3eb5dd4d6d3b6f8c1cb"}, + {file = "msgpack-1.1.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:13599f8829cfbe0158f6456374e9eea9f44eee08076291771d8ae93eda56607f"}, + {file = "msgpack-1.1.0-cp38-cp38-win32.whl", hash = "sha256:8a84efb768fb968381e525eeeb3d92857e4985aacc39f3c47ffd00eb4509315b"}, + {file = "msgpack-1.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:879a7b7b0ad82481c52d3c7eb99bf6f0645dbdec5134a4bddbd16f3506947feb"}, + {file = "msgpack-1.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:53258eeb7a80fc46f62fd59c876957a2d0e15e6449a9e71842b6d24419d88ca1"}, + {file = "msgpack-1.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7e7b853bbc44fb03fbdba34feb4bd414322180135e2cb5164f20ce1c9795ee48"}, + {file = "msgpack-1.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f3e9b4936df53b970513eac1758f3882c88658a220b58dcc1e39606dccaaf01c"}, + {file = "msgpack-1.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:46c34e99110762a76e3911fc923222472c9d681f1094096ac4102c18319e6468"}, + {file = "msgpack-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a706d1e74dd3dea05cb54580d9bd8b2880e9264856ce5068027eed09680aa74"}, + {file = "msgpack-1.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:534480ee5690ab3cbed89d4c8971a5c631b69a8c0883ecfea96c19118510c846"}, + {file = "msgpack-1.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8cf9e8c3a2153934a23ac160cc4cba0ec035f6867c8013cc6077a79823370346"}, + {file = "msgpack-1.1.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3180065ec2abbe13a4ad37688b61b99d7f9e012a535b930e0e683ad6bc30155b"}, + {file = "msgpack-1.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c5a91481a3cc573ac8c0d9aace09345d989dc4a0202b7fcb312c88c26d4e71a8"}, + {file = "msgpack-1.1.0-cp39-cp39-win32.whl", hash = "sha256:f80bc7d47f76089633763f952e67f8214cb7b3ee6bfa489b3cb6a84cfac114cd"}, + {file = "msgpack-1.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:4d1b7ff2d6146e16e8bd665ac726a89c74163ef8cd39fa8c1087d4e52d3a2325"}, + {file = "msgpack-1.1.0.tar.gz", hash = "sha256:dd432ccc2c72b914e4cb77afce64aab761c1137cc698be3984eee260bcb2896e"}, +] + +[[package]] +name = "msgspec" +version = "0.19.0" +description = "A fast serialization and validation library, with builtin support for JSON, MessagePack, YAML, and TOML." +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "msgspec-0.19.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d8dd848ee7ca7c8153462557655570156c2be94e79acec3561cf379581343259"}, + {file = "msgspec-0.19.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0553bbc77662e5708fe66aa75e7bd3e4b0f209709c48b299afd791d711a93c36"}, + {file = "msgspec-0.19.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe2c4bf29bf4e89790b3117470dea2c20b59932772483082c468b990d45fb947"}, + {file = "msgspec-0.19.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00e87ecfa9795ee5214861eab8326b0e75475c2e68a384002aa135ea2a27d909"}, + {file = "msgspec-0.19.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3c4ec642689da44618f68c90855a10edbc6ac3ff7c1d94395446c65a776e712a"}, + {file = "msgspec-0.19.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:2719647625320b60e2d8af06b35f5b12d4f4d281db30a15a1df22adb2295f633"}, + {file = "msgspec-0.19.0-cp310-cp310-win_amd64.whl", hash = "sha256:695b832d0091edd86eeb535cd39e45f3919f48d997685f7ac31acb15e0a2ed90"}, + {file = "msgspec-0.19.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:aa77046904db764b0462036bc63ef71f02b75b8f72e9c9dd4c447d6da1ed8f8e"}, + {file = "msgspec-0.19.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:047cfa8675eb3bad68722cfe95c60e7afabf84d1bd8938979dd2b92e9e4a9551"}, + {file = "msgspec-0.19.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e78f46ff39a427e10b4a61614a2777ad69559cc8d603a7c05681f5a595ea98f7"}, + {file = "msgspec-0.19.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c7adf191e4bd3be0e9231c3b6dc20cf1199ada2af523885efc2ed218eafd011"}, + {file = "msgspec-0.19.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f04cad4385e20be7c7176bb8ae3dca54a08e9756cfc97bcdb4f18560c3042063"}, + {file = "msgspec-0.19.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:45c8fb410670b3b7eb884d44a75589377c341ec1392b778311acdbfa55187716"}, + {file = "msgspec-0.19.0-cp311-cp311-win_amd64.whl", hash = "sha256:70eaef4934b87193a27d802534dc466778ad8d536e296ae2f9334e182ac27b6c"}, + {file = "msgspec-0.19.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f98bd8962ad549c27d63845b50af3f53ec468b6318400c9f1adfe8b092d7b62f"}, + {file = "msgspec-0.19.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:43bbb237feab761b815ed9df43b266114203f53596f9b6e6f00ebd79d178cdf2"}, + {file = "msgspec-0.19.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4cfc033c02c3e0aec52b71710d7f84cb3ca5eb407ab2ad23d75631153fdb1f12"}, + {file = "msgspec-0.19.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d911c442571605e17658ca2b416fd8579c5050ac9adc5e00c2cb3126c97f73bc"}, + {file = "msgspec-0.19.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:757b501fa57e24896cf40a831442b19a864f56d253679f34f260dcb002524a6c"}, + {file = "msgspec-0.19.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:5f0f65f29b45e2816d8bded36e6b837a4bf5fb60ec4bc3c625fa2c6da4124537"}, + {file = "msgspec-0.19.0-cp312-cp312-win_amd64.whl", hash = "sha256:067f0de1c33cfa0b6a8206562efdf6be5985b988b53dd244a8e06f993f27c8c0"}, + {file = "msgspec-0.19.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f12d30dd6266557aaaf0aa0f9580a9a8fbeadfa83699c487713e355ec5f0bd86"}, + {file = "msgspec-0.19.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:82b2c42c1b9ebc89e822e7e13bbe9d17ede0c23c187469fdd9505afd5a481314"}, + {file = "msgspec-0.19.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19746b50be214a54239aab822964f2ac81e38b0055cca94808359d779338c10e"}, + {file = "msgspec-0.19.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60ef4bdb0ec8e4ad62e5a1f95230c08efb1f64f32e6e8dd2ced685bcc73858b5"}, + {file = "msgspec-0.19.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac7f7c377c122b649f7545810c6cd1b47586e3aa3059126ce3516ac7ccc6a6a9"}, + {file = "msgspec-0.19.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a5bc1472223a643f5ffb5bf46ccdede7f9795078194f14edd69e3aab7020d327"}, + {file = "msgspec-0.19.0-cp313-cp313-win_amd64.whl", hash = "sha256:317050bc0f7739cb30d257ff09152ca309bf5a369854bbf1e57dffc310c1f20f"}, + {file = "msgspec-0.19.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:15c1e86fff77184c20a2932cd9742bf33fe23125fa3fcf332df9ad2f7d483044"}, + {file = "msgspec-0.19.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3b5541b2b3294e5ffabe31a09d604e23a88533ace36ac288fa32a420aa38d229"}, + {file = "msgspec-0.19.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f5c043ace7962ef188746e83b99faaa9e3e699ab857ca3f367b309c8e2c6b12"}, + {file = "msgspec-0.19.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca06aa08e39bf57e39a258e1996474f84d0dd8130d486c00bec26d797b8c5446"}, + {file = "msgspec-0.19.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:e695dad6897896e9384cf5e2687d9ae9feaef50e802f93602d35458e20d1fb19"}, + {file = "msgspec-0.19.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:3be5c02e1fee57b54130316a08fe40cca53af92999a302a6054cd451700ea7db"}, + {file = "msgspec-0.19.0-cp39-cp39-win_amd64.whl", hash = "sha256:0684573a821be3c749912acf5848cce78af4298345cb2d7a8b8948a0a5a27cfe"}, + {file = "msgspec-0.19.0.tar.gz", hash = "sha256:604037e7cd475345848116e89c553aa9a233259733ab51986ac924ab1b976f8e"}, +] + +[package.extras] +dev = ["attrs", "coverage", "eval-type-backport", "furo", "ipython", "msgpack", "mypy", "pre-commit", "pyright", "pytest", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "tomli", "tomli_w"] +doc = ["furo", "ipython", "sphinx", "sphinx-copybutton", "sphinx-design"] +test = ["attrs", "eval-type-backport", "msgpack", "pytest", "pyyaml", "tomli", "tomli_w"] +toml = ["tomli", "tomli_w"] +yaml = ["pyyaml"] + +[[package]] +name = "multidict" +version = "6.1.0" +description = "multidict implementation" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3380252550e372e8511d49481bd836264c009adb826b23fefcc5dd3c69692f60"}, + {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:99f826cbf970077383d7de805c0681799491cb939c25450b9b5b3ced03ca99f1"}, + {file = "multidict-6.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a114d03b938376557927ab23f1e950827c3b893ccb94b62fd95d430fd0e5cf53"}, + {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1c416351ee6271b2f49b56ad7f308072f6f44b37118d69c2cad94f3fa8a40d5"}, + {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6b5d83030255983181005e6cfbac1617ce9746b219bc2aad52201ad121226581"}, + {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3e97b5e938051226dc025ec80980c285b053ffb1e25a3db2a3aa3bc046bf7f56"}, + {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d618649d4e70ac6efcbba75be98b26ef5078faad23592f9b51ca492953012429"}, + {file = "multidict-6.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10524ebd769727ac77ef2278390fb0068d83f3acb7773792a5080f2b0abf7748"}, + {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ff3827aef427c89a25cc96ded1759271a93603aba9fb977a6d264648ebf989db"}, + {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:06809f4f0f7ab7ea2cabf9caca7d79c22c0758b58a71f9d32943ae13c7ace056"}, + {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f179dee3b863ab1c59580ff60f9d99f632f34ccb38bf67a33ec6b3ecadd0fd76"}, + {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:aaed8b0562be4a0876ee3b6946f6869b7bcdb571a5d1496683505944e268b160"}, + {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3c8b88a2ccf5493b6c8da9076fb151ba106960a2df90c2633f342f120751a9e7"}, + {file = "multidict-6.1.0-cp310-cp310-win32.whl", hash = "sha256:4a9cb68166a34117d6646c0023c7b759bf197bee5ad4272f420a0141d7eb03a0"}, + {file = "multidict-6.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:20b9b5fbe0b88d0bdef2012ef7dee867f874b72528cf1d08f1d59b0e3850129d"}, + {file = "multidict-6.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3efe2c2cb5763f2f1b275ad2bf7a287d3f7ebbef35648a9726e3b69284a4f3d6"}, + {file = "multidict-6.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7053d3b0353a8b9de430a4f4b4268ac9a4fb3481af37dfe49825bf45ca24156"}, + {file = "multidict-6.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:27e5fc84ccef8dfaabb09d82b7d179c7cf1a3fbc8a966f8274fcb4ab2eb4cadb"}, + {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e2b90b43e696f25c62656389d32236e049568b39320e2735d51f08fd362761b"}, + {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d83a047959d38a7ff552ff94be767b7fd79b831ad1cd9920662db05fec24fe72"}, + {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d1a9dd711d0877a1ece3d2e4fea11a8e75741ca21954c919406b44e7cf971304"}, + {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec2abea24d98246b94913b76a125e855eb5c434f7c46546046372fe60f666351"}, + {file = "multidict-6.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4867cafcbc6585e4b678876c489b9273b13e9fff9f6d6d66add5e15d11d926cb"}, + {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5b48204e8d955c47c55b72779802b219a39acc3ee3d0116d5080c388970b76e3"}, + {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d8fff389528cad1618fb4b26b95550327495462cd745d879a8c7c2115248e399"}, + {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a7a9541cd308eed5e30318430a9c74d2132e9a8cb46b901326272d780bf2d423"}, + {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:da1758c76f50c39a2efd5e9859ce7d776317eb1dd34317c8152ac9251fc574a3"}, + {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c943a53e9186688b45b323602298ab727d8865d8c9ee0b17f8d62d14b56f0753"}, + {file = "multidict-6.1.0-cp311-cp311-win32.whl", hash = "sha256:90f8717cb649eea3504091e640a1b8568faad18bd4b9fcd692853a04475a4b80"}, + {file = "multidict-6.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:82176036e65644a6cc5bd619f65f6f19781e8ec2e5330f51aa9ada7504cc1926"}, + {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b04772ed465fa3cc947db808fa306d79b43e896beb677a56fb2347ca1a49c1fa"}, + {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6180c0ae073bddeb5a97a38c03f30c233e0a4d39cd86166251617d1bbd0af436"}, + {file = "multidict-6.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:071120490b47aa997cca00666923a83f02c7fbb44f71cf7f136df753f7fa8761"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50b3a2710631848991d0bf7de077502e8994c804bb805aeb2925a981de58ec2e"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b58c621844d55e71c1b7f7c498ce5aa6985d743a1a59034c57a905b3f153c1ef"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55b6d90641869892caa9ca42ff913f7ff1c5ece06474fbd32fb2cf6834726c95"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b820514bfc0b98a30e3d85462084779900347e4d49267f747ff54060cc33925"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10a9b09aba0c5b48c53761b7c720aaaf7cf236d5fe394cd399c7ba662d5f9966"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e16bf3e5fc9f44632affb159d30a437bfe286ce9e02754759be5536b169b305"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:76f364861c3bfc98cbbcbd402d83454ed9e01a5224bb3a28bf70002a230f73e2"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:820c661588bd01a0aa62a1283f20d2be4281b086f80dad9e955e690c75fb54a2"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:0e5f362e895bc5b9e67fe6e4ded2492d8124bdf817827f33c5b46c2fe3ffaca6"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3ec660d19bbc671e3a6443325f07263be452c453ac9e512f5eb935e7d4ac28b3"}, + {file = "multidict-6.1.0-cp312-cp312-win32.whl", hash = "sha256:58130ecf8f7b8112cdb841486404f1282b9c86ccb30d3519faf301b2e5659133"}, + {file = "multidict-6.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:188215fc0aafb8e03341995e7c4797860181562380f81ed0a87ff455b70bf1f1"}, + {file = "multidict-6.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:d569388c381b24671589335a3be6e1d45546c2988c2ebe30fdcada8457a31008"}, + {file = "multidict-6.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:052e10d2d37810b99cc170b785945421141bf7bb7d2f8799d431e7db229c385f"}, + {file = "multidict-6.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f90c822a402cb865e396a504f9fc8173ef34212a342d92e362ca498cad308e28"}, + {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b225d95519a5bf73860323e633a664b0d85ad3d5bede6d30d95b35d4dfe8805b"}, + {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:23bfd518810af7de1116313ebd9092cb9aa629beb12f6ed631ad53356ed6b86c"}, + {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c09fcfdccdd0b57867577b719c69e347a436b86cd83747f179dbf0cc0d4c1f3"}, + {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf6bea52ec97e95560af5ae576bdac3aa3aae0b6758c6efa115236d9e07dae44"}, + {file = "multidict-6.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57feec87371dbb3520da6192213c7d6fc892d5589a93db548331954de8248fd2"}, + {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0c3f390dc53279cbc8ba976e5f8035eab997829066756d811616b652b00a23a3"}, + {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:59bfeae4b25ec05b34f1956eaa1cb38032282cd4dfabc5056d0a1ec4d696d3aa"}, + {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b2f59caeaf7632cc633b5cf6fc449372b83bbdf0da4ae04d5be36118e46cc0aa"}, + {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:37bb93b2178e02b7b618893990941900fd25b6b9ac0fa49931a40aecdf083fe4"}, + {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4e9f48f58c2c523d5a06faea47866cd35b32655c46b443f163d08c6d0ddb17d6"}, + {file = "multidict-6.1.0-cp313-cp313-win32.whl", hash = "sha256:3a37ffb35399029b45c6cc33640a92bef403c9fd388acce75cdc88f58bd19a81"}, + {file = "multidict-6.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:e9aa71e15d9d9beaad2c6b9319edcdc0a49a43ef5c0a4c8265ca9ee7d6c67774"}, + {file = "multidict-6.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:db7457bac39421addd0c8449933ac32d8042aae84a14911a757ae6ca3eef1392"}, + {file = "multidict-6.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d094ddec350a2fb899fec68d8353c78233debde9b7d8b4beeafa70825f1c281a"}, + {file = "multidict-6.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5845c1fd4866bb5dd3125d89b90e57ed3138241540897de748cdf19de8a2fca2"}, + {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9079dfc6a70abe341f521f78405b8949f96db48da98aeb43f9907f342f627cdc"}, + {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3914f5aaa0f36d5d60e8ece6a308ee1c9784cd75ec8151062614657a114c4478"}, + {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c08be4f460903e5a9d0f76818db3250f12e9c344e79314d1d570fc69d7f4eae4"}, + {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d093be959277cb7dee84b801eb1af388b6ad3ca6a6b6bf1ed7585895789d027d"}, + {file = "multidict-6.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3702ea6872c5a2a4eeefa6ffd36b042e9773f05b1f37ae3ef7264b1163c2dcf6"}, + {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:2090f6a85cafc5b2db085124d752757c9d251548cedabe9bd31afe6363e0aff2"}, + {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:f67f217af4b1ff66c68a87318012de788dd95fcfeb24cc889011f4e1c7454dfd"}, + {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:189f652a87e876098bbc67b4da1049afb5f5dfbaa310dd67c594b01c10388db6"}, + {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:6bb5992037f7a9eff7991ebe4273ea7f51f1c1c511e6a2ce511d0e7bdb754492"}, + {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f4c2b9e770c4e393876e35a7046879d195cd123b4f116d299d442b335bcd"}, + {file = "multidict-6.1.0-cp38-cp38-win32.whl", hash = "sha256:e27bbb6d14416713a8bd7aaa1313c0fc8d44ee48d74497a0ff4c3a1b6ccb5167"}, + {file = "multidict-6.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:22f3105d4fb15c8f57ff3959a58fcab6ce36814486500cd7485651230ad4d4ef"}, + {file = "multidict-6.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:4e18b656c5e844539d506a0a06432274d7bd52a7487e6828c63a63d69185626c"}, + {file = "multidict-6.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a185f876e69897a6f3325c3f19f26a297fa058c5e456bfcff8015e9a27e83ae1"}, + {file = "multidict-6.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ab7c4ceb38d91570a650dba194e1ca87c2b543488fe9309b4212694174fd539c"}, + {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e617fb6b0b6953fffd762669610c1c4ffd05632c138d61ac7e14ad187870669c"}, + {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:16e5f4bf4e603eb1fdd5d8180f1a25f30056f22e55ce51fb3d6ad4ab29f7d96f"}, + {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f4c035da3f544b1882bac24115f3e2e8760f10a0107614fc9839fd232200b875"}, + {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:957cf8e4b6e123a9eea554fa7ebc85674674b713551de587eb318a2df3e00255"}, + {file = "multidict-6.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:483a6aea59cb89904e1ceabd2b47368b5600fb7de78a6e4a2c2987b2d256cf30"}, + {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:87701f25a2352e5bf7454caa64757642734da9f6b11384c1f9d1a8e699758057"}, + {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:682b987361e5fd7a139ed565e30d81fd81e9629acc7d925a205366877d8c8657"}, + {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce2186a7df133a9c895dea3331ddc5ddad42cdd0d1ea2f0a51e5d161e4762f28"}, + {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9f636b730f7e8cb19feb87094949ba54ee5357440b9658b2a32a5ce4bce53972"}, + {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:73eae06aa53af2ea5270cc066dcaf02cc60d2994bbb2c4ef5764949257d10f43"}, + {file = "multidict-6.1.0-cp39-cp39-win32.whl", hash = "sha256:1ca0083e80e791cffc6efce7660ad24af66c8d4079d2a750b29001b53ff59ada"}, + {file = "multidict-6.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:aa466da5b15ccea564bdab9c89175c762bc12825f4659c11227f515cee76fa4a"}, + {file = "multidict-6.1.0-py3-none-any.whl", hash = "sha256:48e171e52d1c4d33888e529b999e5900356b9ae588c2f09a52dcefb158b27506"}, + {file = "multidict-6.1.0.tar.gz", hash = "sha256:22ae2ebf9b0c69d206c003e2f6a914ea33f0a932d4aa16f236afc049d9958f4a"}, +] + +[package.dependencies] +typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.11\""} + +[[package]] +name = "multiprocess" +version = "0.70.16" +description = "better multiprocessing and multithreading in Python" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "multiprocess-0.70.16-pp310-pypy310_pp73-macosx_10_13_x86_64.whl", hash = "sha256:476887be10e2f59ff183c006af746cb6f1fd0eadcfd4ef49e605cbe2659920ee"}, + {file = "multiprocess-0.70.16-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:d951bed82c8f73929ac82c61f01a7b5ce8f3e5ef40f5b52553b4f547ce2b08ec"}, + {file = "multiprocess-0.70.16-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:37b55f71c07e2d741374998c043b9520b626a8dddc8b3129222ca4f1a06ef67a"}, + {file = "multiprocess-0.70.16-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:ba8c31889abf4511c7308a8c52bb4a30b9d590e7f58523302ba00237702ca054"}, + {file = "multiprocess-0.70.16-pp39-pypy39_pp73-macosx_10_13_x86_64.whl", hash = "sha256:0dfd078c306e08d46d7a8d06fb120313d87aa43af60d66da43ffff40b44d2f41"}, + {file = "multiprocess-0.70.16-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e7b9d0f307cd9bd50851afaac0dba2cb6c44449efff697df7c7645f7d3f2be3a"}, + {file = "multiprocess-0.70.16-py310-none-any.whl", hash = "sha256:c4a9944c67bd49f823687463660a2d6daae94c289adff97e0f9d696ba6371d02"}, + {file = "multiprocess-0.70.16-py311-none-any.whl", hash = "sha256:af4cabb0dac72abfb1e794fa7855c325fd2b55a10a44628a3c1ad3311c04127a"}, + {file = "multiprocess-0.70.16-py312-none-any.whl", hash = "sha256:fc0544c531920dde3b00c29863377f87e1632601092ea2daca74e4beb40faa2e"}, + {file = "multiprocess-0.70.16-py38-none-any.whl", hash = "sha256:a71d82033454891091a226dfc319d0cfa8019a4e888ef9ca910372a446de4435"}, + {file = "multiprocess-0.70.16-py39-none-any.whl", hash = "sha256:a0bafd3ae1b732eac64be2e72038231c1ba97724b60b09400d68f229fcc2fbf3"}, + {file = "multiprocess-0.70.16.tar.gz", hash = "sha256:161af703d4652a0e1410be6abccecde4a7ddffd19341be0a7011b94aeb171ac1"}, +] + +[package.dependencies] +dill = ">=0.3.8" + +[[package]] +name = "murmurhash" +version = "1.0.12" +description = "Cython bindings for MurmurHash" +optional = false +python-versions = ">=3.6" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "murmurhash-1.0.12-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a3f492bbf6f879b6eaf9da4be7471f4b68a3e3ae525aac0f35c2ae27ec91265c"}, + {file = "murmurhash-1.0.12-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3493e0c10a64fa72026af2ea2271d8b3511a438de3c6a771b7a57771611b9c08"}, + {file = "murmurhash-1.0.12-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95989ddbb187b9934e5b0e7f450793a445814b6c293a7bf92df56913c3a87c1e"}, + {file = "murmurhash-1.0.12-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2efef9f9aad98ec915a830f0c53d14ce6807ccc6e14fd2966565ef0b71cfa086"}, + {file = "murmurhash-1.0.12-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b3147d171a5e5d2953b5eead21d15ea59b424844b4504a692c4b9629191148ed"}, + {file = "murmurhash-1.0.12-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:736c869bef5023540dde52a9338085ac823eda3f09591ba1b4ed2c09c8b378db"}, + {file = "murmurhash-1.0.12-cp310-cp310-win_amd64.whl", hash = "sha256:b81feb5bfd13bce638ccf910c685b04ad0537635918d04c83b291ce0441776da"}, + {file = "murmurhash-1.0.12-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8b236b76a256690e745b63b679892878ec4f01deeeda8d311482a9b183d2d452"}, + {file = "murmurhash-1.0.12-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8bc3756dd657ed90c1354705e66513c11516929fe726e7bc91c79734d190f394"}, + {file = "murmurhash-1.0.12-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fd41e4c3d7936b69010d76e5edff363bf40fd918d86287a14e924363d7828522"}, + {file = "murmurhash-1.0.12-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36be2831df750163495e471d24aeef6aca1b2a3c4dfb05f40114859db47ff3f2"}, + {file = "murmurhash-1.0.12-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b078c10f9c82cbd144b1200061fbfa7f99af9d5d8d7f7d8a324370169e3da7c2"}, + {file = "murmurhash-1.0.12-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:307ca8da5f038635ded9de722fe11f07f06a2b76442ae272dcccbff6086de487"}, + {file = "murmurhash-1.0.12-cp311-cp311-win_amd64.whl", hash = "sha256:1b4ab5ba5ba909959659989f3bf57903f31f49906fe40f00aec81e32eea69a88"}, + {file = "murmurhash-1.0.12-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:1a4c97c8ffbedb62b760c3c2f77b5b8cb0e0ac0ec83a74d2f289e113e3e92ed5"}, + {file = "murmurhash-1.0.12-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9574f0b634f059158bb89734a811e435ac9ad2335c02a7abb59f1875dcce244c"}, + {file = "murmurhash-1.0.12-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:701cc0ce91809b4d7c2e0518be759635205e1e181325792044f5a8118019f716"}, + {file = "murmurhash-1.0.12-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e1c9de2167a9d408d121ebc918bcb20b2718ec956f3aae0ded53d9bb224bb8e"}, + {file = "murmurhash-1.0.12-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:94a52972835bdae8af18147c67c398ff3ea1d875f5b8dca1e1aa0fadb892f546"}, + {file = "murmurhash-1.0.12-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:cc88004c8615dcabe31d21142689f719fdf549ba782850bef389cf227a1df575"}, + {file = "murmurhash-1.0.12-cp312-cp312-win_amd64.whl", hash = "sha256:8c5b8804c07a76f779e67f83aad37bc2189a0e65ebdd3f2b305242d489d31e03"}, + {file = "murmurhash-1.0.12-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:63f10c6d6ef9ee85073dd896d2c4e0ab161bc6b8e7e9201c69f8061f9f1b6468"}, + {file = "murmurhash-1.0.12-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:66356f6308fd2a44a8ab056f020acd5bc22302f23ef5cce3705f2493e0fe9c3c"}, + {file = "murmurhash-1.0.12-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bdb2104aa3471324724abf5a3a76fc94bcbeaf023bb6a6dd94da567b8633d8a6"}, + {file = "murmurhash-1.0.12-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a7ef5fb37e72536458ac4a6f486fb374c60ac4c4862d9195d3d4b58239a91de"}, + {file = "murmurhash-1.0.12-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:8bd5524de195991ce3551b14286ec0b730cc9dd2e10565dad2ae470eec082028"}, + {file = "murmurhash-1.0.12-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:19de30edaaa2217cd0c41b6cf6bbfa418be5d7fdf267ca92e5e3710d4daac593"}, + {file = "murmurhash-1.0.12-cp313-cp313-win_amd64.whl", hash = "sha256:7dc4ebdfed7ef8ed70519962ac9b704e91978ee14e049f1ff37bca2f579ce84d"}, + {file = "murmurhash-1.0.12-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c9bb5652a3444d5a5bf5d164e6b5e6c8f5715d031627ff79d58caac0e510e8d8"}, + {file = "murmurhash-1.0.12-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ef56fdee81e2b4191c5b7416b5428cb920260a91f028a82a1680b14137eaf32c"}, + {file = "murmurhash-1.0.12-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91042b85d3214ebaba505d7349f0bcd745b07e7163459909d622ea10a04c2dea"}, + {file = "murmurhash-1.0.12-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7de1552326f4f8c0b63d26f823fa66a4dcf9c01164e252374d84bcf86a6af2fe"}, + {file = "murmurhash-1.0.12-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:16de7dee9e082159b7ad4cffd62b0c03bbc385b84dcff448ce27bb14c505d12d"}, + {file = "murmurhash-1.0.12-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:8b5de26a7235d8794403353423cd65720d8496363ab75248120107559b12a8c6"}, + {file = "murmurhash-1.0.12-cp39-cp39-win_amd64.whl", hash = "sha256:d1ad46f78de3ce3f3a8e8c2f87af32bcede893f047c87389c7325bb1f3f46b47"}, + {file = "murmurhash-1.0.12.tar.gz", hash = "sha256:467b7ee31c1f79f46d00436a1957fc52a0e5801369dd2f30eb7655f380735b5f"}, +] + +[[package]] +name = "nest-asyncio" +version = "1.6.0" +description = "Patch asyncio to allow nested event loops" +optional = false +python-versions = ">=3.5" +groups = ["main"] +markers = "python_version <= \"3.11\"" +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 = "networkx" +version = "3.4.2" +description = "Python package for creating and manipulating graphs and networks" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "networkx-3.4.2-py3-none-any.whl", hash = "sha256:df5d4365b724cf81b8c6a7312509d0c22386097011ad1abe274afd5e9d3bbc5f"}, + {file = "networkx-3.4.2.tar.gz", hash = "sha256:307c3669428c5362aab27c8a1260aa8f47c4e91d3891f48be0141738d8d053e1"}, +] + +[package.extras] +default = ["matplotlib (>=3.7)", "numpy (>=1.24)", "pandas (>=2.0)", "scipy (>=1.10,!=1.11.0,!=1.11.1)"] +developer = ["changelist (==0.5)", "mypy (>=1.1)", "pre-commit (>=3.2)", "rtoml"] +doc = ["intersphinx-registry", "myst-nb (>=1.1)", "numpydoc (>=1.8.0)", "pillow (>=9.4)", "pydata-sphinx-theme (>=0.15)", "sphinx (>=7.3)", "sphinx-gallery (>=0.16)", "texext (>=0.6.7)"] +example = ["cairocffi (>=1.7)", "contextily (>=1.6)", "igraph (>=0.11)", "momepy (>=0.7.2)", "osmnx (>=1.9)", "scikit-learn (>=1.5)", "seaborn (>=0.13)"] +extra = ["lxml (>=4.6)", "pydot (>=3.0.1)", "pygraphviz (>=1.14)", "sympy (>=1.10)"] +test = ["pytest (>=7.2)", "pytest-cov (>=4.0)"] + +[[package]] +name = "ninja" +version = "1.11.1.3" +description = "Ninja is a small build system with a focus on speed" +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "ninja-1.11.1.3-py3-none-macosx_10_9_universal2.whl", hash = "sha256:2b4879ea3f1169f3d855182c57dcc84d1b5048628c8b7be0d702b81882a37237"}, + {file = "ninja-1.11.1.3-py3-none-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:bc3ebc8b2e47716149f3541742b5cd8e0b08f51013b825c05baca3e34854370d"}, + {file = "ninja-1.11.1.3-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a27e78ca71316c8654965ee94b286a98c83877bfebe2607db96897bbfe458af0"}, + {file = "ninja-1.11.1.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2883ea46b3c5079074f56820f9989c6261fcc6fd873d914ee49010ecf283c3b2"}, + {file = "ninja-1.11.1.3-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8c4bdb9fd2d0c06501ae15abfd23407660e95659e384acd36e013b6dd7d8a8e4"}, + {file = "ninja-1.11.1.3-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:114ed5c61c8474df6a69ab89097a20749b769e2c219a452cb2fadc49b0d581b0"}, + {file = "ninja-1.11.1.3-py3-none-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7fa2247fce98f683bc712562d82b22b8a0a5c000738a13147ca2d1b68c122298"}, + {file = "ninja-1.11.1.3-py3-none-musllinux_1_1_aarch64.whl", hash = "sha256:a38c6c6c8032bed68b70c3b065d944c35e9f903342875d3a3218c1607987077c"}, + {file = "ninja-1.11.1.3-py3-none-musllinux_1_1_i686.whl", hash = "sha256:56ada5d33b8741d298836644042faddebc83ee669782d661e21563034beb5aba"}, + {file = "ninja-1.11.1.3-py3-none-musllinux_1_1_ppc64le.whl", hash = "sha256:53409151da081f3c198bb0bfc220a7f4e821e022c5b7d29719adda892ddb31bb"}, + {file = "ninja-1.11.1.3-py3-none-musllinux_1_1_s390x.whl", hash = "sha256:1ad2112c2b0159ed7c4ae3731595191b1546ba62316fc40808edecd0306fefa3"}, + {file = "ninja-1.11.1.3-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:28aea3c1c280cba95b8608d50797169f3a34280e3e9a6379b6e340f0c9eaeeb0"}, + {file = "ninja-1.11.1.3-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:b6966f83064a88a51693073eea3decd47e08c3965241e09578ef7aa3a7738329"}, + {file = "ninja-1.11.1.3-py3-none-win32.whl", hash = "sha256:a4a3b71490557e18c010cbb26bd1ea9a0c32ee67e8f105e9731515b6e0af792e"}, + {file = "ninja-1.11.1.3-py3-none-win_amd64.whl", hash = "sha256:04d48d14ea7ba11951c156599ab526bdda575450797ff57c6fdf99b2554d09c7"}, + {file = "ninja-1.11.1.3-py3-none-win_arm64.whl", hash = "sha256:17978ad611d8ead578d83637f5ae80c2261b033db0b493a7ce94f88623f29e1b"}, + {file = "ninja-1.11.1.3.tar.gz", hash = "sha256:edfa0d2e9d7ead1635b03e40a32ad56cc8f56798b6e2e9848d8300b174897076"}, +] + +[package.extras] +test = ["coverage (>=4.2)", "importlib_metadata (>=2.0)", "pytest (>=6.0)", "pytest-cov (>=3)"] + +[[package]] +name = "nltk" +version = "3.9.1" +description = "Natural Language Toolkit" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "nltk-3.9.1-py3-none-any.whl", hash = "sha256:4fa26829c5b00715afe3061398a8989dc643b92ce7dd93fb4585a70930d168a1"}, + {file = "nltk-3.9.1.tar.gz", hash = "sha256:87d127bd3de4bd89a4f81265e5fa59cb1b199b27440175370f7417d2bc7ae868"}, +] + +[package.dependencies] +click = "*" +joblib = "*" +regex = ">=2021.8.3" +tqdm = "*" + +[package.extras] +all = ["matplotlib", "numpy", "pyparsing", "python-crfsuite", "requests", "scikit-learn", "scipy", "twython"] +corenlp = ["requests"] +machine-learning = ["numpy", "python-crfsuite", "scikit-learn", "scipy"] +plot = ["matplotlib"] +tgrep = ["pyparsing"] +twitter = ["twython"] + +[[package]] +name = "numpy" +version = "1.26.4" +description = "Fundamental package for array computing in Python" +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0"}, + {file = "numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a"}, + {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4"}, + {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f"}, + {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a"}, + {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2"}, + {file = "numpy-1.26.4-cp310-cp310-win32.whl", hash = "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07"}, + {file = "numpy-1.26.4-cp310-cp310-win_amd64.whl", hash = "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5"}, + {file = "numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71"}, + {file = "numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef"}, + {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e"}, + {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5"}, + {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a"}, + {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a"}, + {file = "numpy-1.26.4-cp311-cp311-win32.whl", hash = "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20"}, + {file = "numpy-1.26.4-cp311-cp311-win_amd64.whl", hash = "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2"}, + {file = "numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218"}, + {file = "numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b"}, + {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b"}, + {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed"}, + {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a"}, + {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0"}, + {file = "numpy-1.26.4-cp312-cp312-win32.whl", hash = "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110"}, + {file = "numpy-1.26.4-cp312-cp312-win_amd64.whl", hash = "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818"}, + {file = "numpy-1.26.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c"}, + {file = "numpy-1.26.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be"}, + {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764"}, + {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3"}, + {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd"}, + {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c"}, + {file = "numpy-1.26.4-cp39-cp39-win32.whl", hash = "sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6"}, + {file = "numpy-1.26.4-cp39-cp39-win_amd64.whl", hash = "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0"}, + {file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"}, +] + +[[package]] +name = "nvidia-cublas-cu12" +version = "12.4.5.8" +description = "CUBLAS native runtime libraries" +optional = false +python-versions = ">=3" +groups = ["main"] +markers = "platform_machine == \"x86_64\" and platform_system == \"Linux\" and python_version <= \"3.11\"" +files = [ + {file = "nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_aarch64.whl", hash = "sha256:0f8aa1706812e00b9f19dfe0cdb3999b092ccb8ca168c0db5b8ea712456fd9b3"}, + {file = "nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl", hash = "sha256:2fc8da60df463fdefa81e323eef2e36489e1c94335b5358bcb38360adf75ac9b"}, + {file = "nvidia_cublas_cu12-12.4.5.8-py3-none-win_amd64.whl", hash = "sha256:5a796786da89203a0657eda402bcdcec6180254a8ac22d72213abc42069522dc"}, +] + +[[package]] +name = "nvidia-cuda-cupti-cu12" +version = "12.4.127" +description = "CUDA profiling tools runtime libs." +optional = false +python-versions = ">=3" +groups = ["main"] +markers = "platform_machine == \"x86_64\" and platform_system == \"Linux\" and python_version <= \"3.11\"" +files = [ + {file = "nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_aarch64.whl", hash = "sha256:79279b35cf6f91da114182a5ce1864997fd52294a87a16179ce275773799458a"}, + {file = "nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl", hash = "sha256:9dec60f5ac126f7bb551c055072b69d85392b13311fcc1bcda2202d172df30fb"}, + {file = "nvidia_cuda_cupti_cu12-12.4.127-py3-none-win_amd64.whl", hash = "sha256:5688d203301ab051449a2b1cb6690fbe90d2b372f411521c86018b950f3d7922"}, +] + +[[package]] +name = "nvidia-cuda-nvrtc-cu12" +version = "12.4.127" +description = "NVRTC native runtime libraries" +optional = false +python-versions = ">=3" +groups = ["main"] +markers = "platform_machine == \"x86_64\" and platform_system == \"Linux\" and python_version <= \"3.11\"" +files = [ + {file = "nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_aarch64.whl", hash = "sha256:0eedf14185e04b76aa05b1fea04133e59f465b6f960c0cbf4e37c3cb6b0ea198"}, + {file = "nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl", hash = "sha256:a178759ebb095827bd30ef56598ec182b85547f1508941a3d560eb7ea1fbf338"}, + {file = "nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-win_amd64.whl", hash = "sha256:a961b2f1d5f17b14867c619ceb99ef6fcec12e46612711bcec78eb05068a60ec"}, +] + +[[package]] +name = "nvidia-cuda-runtime-cu12" +version = "12.4.127" +description = "CUDA Runtime native Libraries" +optional = false +python-versions = ">=3" +groups = ["main"] +markers = "platform_machine == \"x86_64\" and platform_system == \"Linux\" and python_version <= \"3.11\"" +files = [ + {file = "nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_aarch64.whl", hash = "sha256:961fe0e2e716a2a1d967aab7caee97512f71767f852f67432d572e36cb3a11f3"}, + {file = "nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl", hash = "sha256:64403288fa2136ee8e467cdc9c9427e0434110899d07c779f25b5c068934faa5"}, + {file = "nvidia_cuda_runtime_cu12-12.4.127-py3-none-win_amd64.whl", hash = "sha256:09c2e35f48359752dfa822c09918211844a3d93c100a715d79b59591130c5e1e"}, +] + +[[package]] +name = "nvidia-cudnn-cu12" +version = "9.1.0.70" +description = "cuDNN runtime libraries" +optional = false +python-versions = ">=3" +groups = ["main"] +markers = "platform_machine == \"x86_64\" and platform_system == \"Linux\" and python_version <= \"3.11\"" +files = [ + {file = "nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl", hash = "sha256:165764f44ef8c61fcdfdfdbe769d687e06374059fbb388b6c89ecb0e28793a6f"}, + {file = "nvidia_cudnn_cu12-9.1.0.70-py3-none-win_amd64.whl", hash = "sha256:6278562929433d68365a07a4a1546c237ba2849852c0d4b2262a486e805b977a"}, +] + +[package.dependencies] +nvidia-cublas-cu12 = "*" + +[[package]] +name = "nvidia-cufft-cu12" +version = "11.2.1.3" +description = "CUFFT native runtime libraries" +optional = false +python-versions = ">=3" +groups = ["main"] +markers = "platform_machine == \"x86_64\" and platform_system == \"Linux\" and python_version <= \"3.11\"" +files = [ + {file = "nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_aarch64.whl", hash = "sha256:5dad8008fc7f92f5ddfa2101430917ce2ffacd86824914c82e28990ad7f00399"}, + {file = "nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl", hash = "sha256:f083fc24912aa410be21fa16d157fed2055dab1cc4b6934a0e03cba69eb242b9"}, + {file = "nvidia_cufft_cu12-11.2.1.3-py3-none-win_amd64.whl", hash = "sha256:d802f4954291101186078ccbe22fc285a902136f974d369540fd4a5333d1440b"}, +] + +[package.dependencies] +nvidia-nvjitlink-cu12 = "*" + +[[package]] +name = "nvidia-curand-cu12" +version = "10.3.5.147" +description = "CURAND native runtime libraries" +optional = false +python-versions = ">=3" +groups = ["main"] +markers = "platform_machine == \"x86_64\" and platform_system == \"Linux\" and python_version <= \"3.11\"" +files = [ + {file = "nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_aarch64.whl", hash = "sha256:1f173f09e3e3c76ab084aba0de819c49e56614feae5c12f69883f4ae9bb5fad9"}, + {file = "nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl", hash = "sha256:a88f583d4e0bb643c49743469964103aa59f7f708d862c3ddb0fc07f851e3b8b"}, + {file = "nvidia_curand_cu12-10.3.5.147-py3-none-win_amd64.whl", hash = "sha256:f307cc191f96efe9e8f05a87096abc20d08845a841889ef78cb06924437f6771"}, +] + +[[package]] +name = "nvidia-cusolver-cu12" +version = "11.6.1.9" +description = "CUDA solver native runtime libraries" +optional = false +python-versions = ">=3" +groups = ["main"] +markers = "platform_machine == \"x86_64\" and platform_system == \"Linux\" and python_version <= \"3.11\"" +files = [ + {file = "nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_aarch64.whl", hash = "sha256:d338f155f174f90724bbde3758b7ac375a70ce8e706d70b018dd3375545fc84e"}, + {file = "nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl", hash = "sha256:19e33fa442bcfd085b3086c4ebf7e8debc07cfe01e11513cc6d332fd918ac260"}, + {file = "nvidia_cusolver_cu12-11.6.1.9-py3-none-win_amd64.whl", hash = "sha256:e77314c9d7b694fcebc84f58989f3aa4fb4cb442f12ca1a9bde50f5e8f6d1b9c"}, +] + +[package.dependencies] +nvidia-cublas-cu12 = "*" +nvidia-cusparse-cu12 = "*" +nvidia-nvjitlink-cu12 = "*" + +[[package]] +name = "nvidia-cusparse-cu12" +version = "12.3.1.170" +description = "CUSPARSE native runtime libraries" +optional = false +python-versions = ">=3" +groups = ["main"] +markers = "platform_machine == \"x86_64\" and platform_system == \"Linux\" and python_version <= \"3.11\"" +files = [ + {file = "nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_aarch64.whl", hash = "sha256:9d32f62896231ebe0480efd8a7f702e143c98cfaa0e8a76df3386c1ba2b54df3"}, + {file = "nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl", hash = "sha256:ea4f11a2904e2a8dc4b1833cc1b5181cde564edd0d5cd33e3c168eff2d1863f1"}, + {file = "nvidia_cusparse_cu12-12.3.1.170-py3-none-win_amd64.whl", hash = "sha256:9bc90fb087bc7b4c15641521f31c0371e9a612fc2ba12c338d3ae032e6b6797f"}, +] + +[package.dependencies] +nvidia-nvjitlink-cu12 = "*" + +[[package]] +name = "nvidia-ml-py" +version = "12.570.86" +description = "Python Bindings for the NVIDIA Management Library" +optional = false +python-versions = "*" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "nvidia_ml_py-12.570.86-py3-none-any.whl", hash = "sha256:58907de35a845abd13dcb227f18298f3b5dd94a72d04c9e594e77711e95c0b51"}, + {file = "nvidia_ml_py-12.570.86.tar.gz", hash = "sha256:0508d4a0c7b6d015cf574530b95a62ed4fc89da3b8b47e1aefe6777db170ec8b"}, +] + +[[package]] +name = "nvidia-nccl-cu12" +version = "2.21.5" +description = "NVIDIA Collective Communication Library (NCCL) Runtime" +optional = false +python-versions = ">=3" +groups = ["main"] +markers = "platform_machine == \"x86_64\" and platform_system == \"Linux\" and python_version <= \"3.11\"" +files = [ + {file = "nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl", hash = "sha256:8579076d30a8c24988834445f8d633c697d42397e92ffc3f63fa26766d25e0a0"}, +] + +[[package]] +name = "nvidia-nvjitlink-cu12" +version = "12.4.127" +description = "Nvidia JIT LTO Library" +optional = false +python-versions = ">=3" +groups = ["main"] +markers = "platform_machine == \"x86_64\" and platform_system == \"Linux\" and python_version <= \"3.11\"" +files = [ + {file = "nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_aarch64.whl", hash = "sha256:4abe7fef64914ccfa909bc2ba39739670ecc9e820c83ccc7a6ed414122599b83"}, + {file = "nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl", hash = "sha256:06b3b9b25bf3f8af351d664978ca26a16d2c5127dbd53c0497e28d1fb9611d57"}, + {file = "nvidia_nvjitlink_cu12-12.4.127-py3-none-win_amd64.whl", hash = "sha256:fd9020c501d27d135f983c6d3e244b197a7ccad769e34df53a42e276b0e25fa1"}, +] + +[[package]] +name = "nvidia-nvtx-cu12" +version = "12.4.127" +description = "NVIDIA Tools Extension" +optional = false +python-versions = ">=3" +groups = ["main"] +markers = "platform_machine == \"x86_64\" and platform_system == \"Linux\" and python_version <= \"3.11\"" +files = [ + {file = "nvidia_nvtx_cu12-12.4.127-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7959ad635db13edf4fc65c06a6e9f9e55fc2f92596db928d169c0bb031e88ef3"}, + {file = "nvidia_nvtx_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl", hash = "sha256:781e950d9b9f60d8241ccea575b32f5105a5baf4c2351cab5256a24869f12a1a"}, + {file = "nvidia_nvtx_cu12-12.4.127-py3-none-win_amd64.whl", hash = "sha256:641dccaaa1139f3ffb0d3164b4b84f9d253397e38246a4f2f36728b48566d485"}, +] + +[[package]] +name = "openai" +version = "1.66.2" +description = "The official Python library for the openai API" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "openai-1.66.2-py3-none-any.whl", hash = "sha256:75194057ee6bb8b732526387b6041327a05656d976fc21c064e21c8ac6b07999"}, + {file = "openai-1.66.2.tar.gz", hash = "sha256:9b3a843c25f81ee09b6469d483d9fba779d5c6ea41861180772f043481b0598d"}, +] + +[package.dependencies] +anyio = ">=3.5.0,<5" +distro = ">=1.7.0,<2" +httpx = ">=0.23.0,<1" +jiter = ">=0.4.0,<1" +pydantic = ">=1.9.0,<3" +sniffio = "*" +tqdm = ">4" +typing-extensions = ">=4.11,<5" + +[package.extras] +datalib = ["numpy (>=1)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1.0.11)"] +realtime = ["websockets (>=13,<15)"] + +[[package]] +name = "opencensus" +version = "0.11.4" +description = "A stats collection and distributed tracing framework" +optional = false +python-versions = "*" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "opencensus-0.11.4-py2.py3-none-any.whl", hash = "sha256:a18487ce68bc19900336e0ff4655c5a116daf10c1b3685ece8d971bddad6a864"}, + {file = "opencensus-0.11.4.tar.gz", hash = "sha256:cbef87d8b8773064ab60e5c2a1ced58bbaa38a6d052c41aec224958ce544eff2"}, +] + +[package.dependencies] +google-api-core = {version = ">=1.0.0,<3.0.0", markers = "python_version >= \"3.6\""} +opencensus-context = ">=0.1.3" +six = ">=1.16,<2.0" + +[[package]] +name = "opencensus-context" +version = "0.1.3" +description = "OpenCensus Runtime Context" +optional = false +python-versions = "*" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "opencensus-context-0.1.3.tar.gz", hash = "sha256:a03108c3c10d8c80bb5ddf5c8a1f033161fa61972a9917f9b9b3a18517f0088c"}, + {file = "opencensus_context-0.1.3-py2.py3-none-any.whl", hash = "sha256:073bb0590007af276853009fac7e4bab1d523c3f03baf4cb4511ca38967c6039"}, +] + +[[package]] +name = "opencv-python-headless" +version = "4.11.0.86" +description = "Wrapper package for OpenCV python bindings." +optional = false +python-versions = ">=3.6" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "opencv-python-headless-4.11.0.86.tar.gz", hash = "sha256:996eb282ca4b43ec6a3972414de0e2331f5d9cda2b41091a49739c19fb843798"}, + {file = "opencv_python_headless-4.11.0.86-cp37-abi3-macosx_13_0_arm64.whl", hash = "sha256:48128188ade4a7e517237c8e1e11a9cdf5c282761473383e77beb875bb1e61ca"}, + {file = "opencv_python_headless-4.11.0.86-cp37-abi3-macosx_13_0_x86_64.whl", hash = "sha256:a66c1b286a9de872c343ee7c3553b084244299714ebb50fbdcd76f07ebbe6c81"}, + {file = "opencv_python_headless-4.11.0.86-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6efabcaa9df731f29e5ea9051776715b1bdd1845d7c9530065c7951d2a2899eb"}, + {file = "opencv_python_headless-4.11.0.86-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e0a27c19dd1f40ddff94976cfe43066fbbe9dfbb2ec1907d66c19caef42a57b"}, + {file = "opencv_python_headless-4.11.0.86-cp37-abi3-win32.whl", hash = "sha256:f447d8acbb0b6f2808da71fddd29c1cdd448d2bc98f72d9bb78a7a898fc9621b"}, + {file = "opencv_python_headless-4.11.0.86-cp37-abi3-win_amd64.whl", hash = "sha256:6c304df9caa7a6a5710b91709dd4786bf20a74d57672b3c31f7033cc638174ca"}, +] + +[package.dependencies] +numpy = [ + {version = ">=1.21.4", markers = "python_version >= \"3.10\" and platform_system == \"Darwin\" and python_version < \"3.11\""}, + {version = ">=1.21.2", markers = "platform_system != \"Darwin\" and python_version >= \"3.10\" and python_version < \"3.11\""}, + {version = ">=1.23.5", markers = "python_version >= \"3.11\""}, +] + +[[package]] +name = "orjson" +version = "3.10.15" +description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "orjson-3.10.15-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:552c883d03ad185f720d0c09583ebde257e41b9521b74ff40e08b7dec4559c04"}, + {file = "orjson-3.10.15-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:616e3e8d438d02e4854f70bfdc03a6bcdb697358dbaa6bcd19cbe24d24ece1f8"}, + {file = "orjson-3.10.15-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7c2c79fa308e6edb0ffab0a31fd75a7841bf2a79a20ef08a3c6e3b26814c8ca8"}, + {file = "orjson-3.10.15-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:73cb85490aa6bf98abd20607ab5c8324c0acb48d6da7863a51be48505646c814"}, + {file = "orjson-3.10.15-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:763dadac05e4e9d2bc14938a45a2d0560549561287d41c465d3c58aec818b164"}, + {file = "orjson-3.10.15-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a330b9b4734f09a623f74a7490db713695e13b67c959713b78369f26b3dee6bf"}, + {file = "orjson-3.10.15-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a61a4622b7ff861f019974f73d8165be1bd9a0855e1cad18ee167acacabeb061"}, + {file = "orjson-3.10.15-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:acd271247691574416b3228db667b84775c497b245fa275c6ab90dc1ffbbd2b3"}, + {file = "orjson-3.10.15-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:e4759b109c37f635aa5c5cc93a1b26927bfde24b254bcc0e1149a9fada253d2d"}, + {file = "orjson-3.10.15-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:9e992fd5cfb8b9f00bfad2fd7a05a4299db2bbe92e6440d9dd2fab27655b3182"}, + {file = "orjson-3.10.15-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f95fb363d79366af56c3f26b71df40b9a583b07bbaaf5b317407c4d58497852e"}, + {file = "orjson-3.10.15-cp310-cp310-win32.whl", hash = "sha256:f9875f5fea7492da8ec2444839dcc439b0ef298978f311103d0b7dfd775898ab"}, + {file = "orjson-3.10.15-cp310-cp310-win_amd64.whl", hash = "sha256:17085a6aa91e1cd70ca8533989a18b5433e15d29c574582f76f821737c8d5806"}, + {file = "orjson-3.10.15-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:c4cc83960ab79a4031f3119cc4b1a1c627a3dc09df125b27c4201dff2af7eaa6"}, + {file = "orjson-3.10.15-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ddbeef2481d895ab8be5185f2432c334d6dec1f5d1933a9c83014d188e102cef"}, + {file = "orjson-3.10.15-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9e590a0477b23ecd5b0ac865b1b907b01b3c5535f5e8a8f6ab0e503efb896334"}, + {file = "orjson-3.10.15-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a6be38bd103d2fd9bdfa31c2720b23b5d47c6796bcb1d1b598e3924441b4298d"}, + {file = "orjson-3.10.15-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ff4f6edb1578960ed628a3b998fa54d78d9bb3e2eb2cfc5c2a09732431c678d0"}, + {file = "orjson-3.10.15-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b0482b21d0462eddd67e7fce10b89e0b6ac56570424662b685a0d6fccf581e13"}, + {file = "orjson-3.10.15-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bb5cc3527036ae3d98b65e37b7986a918955f85332c1ee07f9d3f82f3a6899b5"}, + {file = "orjson-3.10.15-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d569c1c462912acdd119ccbf719cf7102ea2c67dd03b99edcb1a3048651ac96b"}, + {file = "orjson-3.10.15-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:1e6d33efab6b71d67f22bf2962895d3dc6f82a6273a965fab762e64fa90dc399"}, + {file = "orjson-3.10.15-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:c33be3795e299f565681d69852ac8c1bc5c84863c0b0030b2b3468843be90388"}, + {file = "orjson-3.10.15-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:eea80037b9fae5339b214f59308ef0589fc06dc870578b7cce6d71eb2096764c"}, + {file = "orjson-3.10.15-cp311-cp311-win32.whl", hash = "sha256:d5ac11b659fd798228a7adba3e37c010e0152b78b1982897020a8e019a94882e"}, + {file = "orjson-3.10.15-cp311-cp311-win_amd64.whl", hash = "sha256:cf45e0214c593660339ef63e875f32ddd5aa3b4adc15e662cdb80dc49e194f8e"}, + {file = "orjson-3.10.15-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:9d11c0714fc85bfcf36ada1179400862da3288fc785c30e8297844c867d7505a"}, + {file = "orjson-3.10.15-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dba5a1e85d554e3897fa9fe6fbcff2ed32d55008973ec9a2b992bd9a65d2352d"}, + {file = "orjson-3.10.15-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7723ad949a0ea502df656948ddd8b392780a5beaa4c3b5f97e525191b102fff0"}, + {file = "orjson-3.10.15-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6fd9bc64421e9fe9bd88039e7ce8e58d4fead67ca88e3a4014b143cec7684fd4"}, + {file = "orjson-3.10.15-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dadba0e7b6594216c214ef7894c4bd5f08d7c0135f4dd0145600be4fbcc16767"}, + {file = "orjson-3.10.15-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b48f59114fe318f33bbaee8ebeda696d8ccc94c9e90bc27dbe72153094e26f41"}, + {file = "orjson-3.10.15-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:035fb83585e0f15e076759b6fedaf0abb460d1765b6a36f48018a52858443514"}, + {file = "orjson-3.10.15-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d13b7fe322d75bf84464b075eafd8e7dd9eae05649aa2a5354cfa32f43c59f17"}, + {file = "orjson-3.10.15-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:7066b74f9f259849629e0d04db6609db4cf5b973248f455ba5d3bd58a4daaa5b"}, + {file = "orjson-3.10.15-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:88dc3f65a026bd3175eb157fea994fca6ac7c4c8579fc5a86fc2114ad05705b7"}, + {file = "orjson-3.10.15-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b342567e5465bd99faa559507fe45e33fc76b9fb868a63f1642c6bc0735ad02a"}, + {file = "orjson-3.10.15-cp312-cp312-win32.whl", hash = "sha256:0a4f27ea5617828e6b58922fdbec67b0aa4bb844e2d363b9244c47fa2180e665"}, + {file = "orjson-3.10.15-cp312-cp312-win_amd64.whl", hash = "sha256:ef5b87e7aa9545ddadd2309efe6824bd3dd64ac101c15dae0f2f597911d46eaa"}, + {file = "orjson-3.10.15-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:bae0e6ec2b7ba6895198cd981b7cca95d1487d0147c8ed751e5632ad16f031a6"}, + {file = "orjson-3.10.15-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f93ce145b2db1252dd86af37d4165b6faa83072b46e3995ecc95d4b2301b725a"}, + {file = "orjson-3.10.15-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7c203f6f969210128af3acae0ef9ea6aab9782939f45f6fe02d05958fe761ef9"}, + {file = "orjson-3.10.15-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8918719572d662e18b8af66aef699d8c21072e54b6c82a3f8f6404c1f5ccd5e0"}, + {file = "orjson-3.10.15-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f71eae9651465dff70aa80db92586ad5b92df46a9373ee55252109bb6b703307"}, + {file = "orjson-3.10.15-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e117eb299a35f2634e25ed120c37c641398826c2f5a3d3cc39f5993b96171b9e"}, + {file = "orjson-3.10.15-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:13242f12d295e83c2955756a574ddd6741c81e5b99f2bef8ed8d53e47a01e4b7"}, + {file = "orjson-3.10.15-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7946922ada8f3e0b7b958cc3eb22cfcf6c0df83d1fe5521b4a100103e3fa84c8"}, + {file = "orjson-3.10.15-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:b7155eb1623347f0f22c38c9abdd738b287e39b9982e1da227503387b81b34ca"}, + {file = "orjson-3.10.15-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:208beedfa807c922da4e81061dafa9c8489c6328934ca2a562efa707e049e561"}, + {file = "orjson-3.10.15-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eca81f83b1b8c07449e1d6ff7074e82e3fd6777e588f1a6632127f286a968825"}, + {file = "orjson-3.10.15-cp313-cp313-win32.whl", hash = "sha256:c03cd6eea1bd3b949d0d007c8d57049aa2b39bd49f58b4b2af571a5d3833d890"}, + {file = "orjson-3.10.15-cp313-cp313-win_amd64.whl", hash = "sha256:fd56a26a04f6ba5fb2045b0acc487a63162a958ed837648c5781e1fe3316cfbf"}, + {file = "orjson-3.10.15-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:5e8afd6200e12771467a1a44e5ad780614b86abb4b11862ec54861a82d677746"}, + {file = "orjson-3.10.15-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da9a18c500f19273e9e104cca8c1f0b40a6470bcccfc33afcc088045d0bf5ea6"}, + {file = "orjson-3.10.15-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bb00b7bfbdf5d34a13180e4805d76b4567025da19a197645ca746fc2fb536586"}, + {file = "orjson-3.10.15-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:33aedc3d903378e257047fee506f11e0833146ca3e57a1a1fb0ddb789876c1e1"}, + {file = "orjson-3.10.15-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd0099ae6aed5eb1fc84c9eb72b95505a3df4267e6962eb93cdd5af03be71c98"}, + {file = "orjson-3.10.15-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7c864a80a2d467d7786274fce0e4f93ef2a7ca4ff31f7fc5634225aaa4e9e98c"}, + {file = "orjson-3.10.15-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c25774c9e88a3e0013d7d1a6c8056926b607a61edd423b50eb5c88fd7f2823ae"}, + {file = "orjson-3.10.15-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:e78c211d0074e783d824ce7bb85bf459f93a233eb67a5b5003498232ddfb0e8a"}, + {file = "orjson-3.10.15-cp38-cp38-musllinux_1_2_armv7l.whl", hash = "sha256:43e17289ffdbbac8f39243916c893d2ae41a2ea1a9cbb060a56a4d75286351ae"}, + {file = "orjson-3.10.15-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:781d54657063f361e89714293c095f506c533582ee40a426cb6489c48a637b81"}, + {file = "orjson-3.10.15-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:6875210307d36c94873f553786a808af2788e362bd0cf4c8e66d976791e7b528"}, + {file = "orjson-3.10.15-cp38-cp38-win32.whl", hash = "sha256:305b38b2b8f8083cc3d618927d7f424349afce5975b316d33075ef0f73576b60"}, + {file = "orjson-3.10.15-cp38-cp38-win_amd64.whl", hash = "sha256:5dd9ef1639878cc3efffed349543cbf9372bdbd79f478615a1c633fe4e4180d1"}, + {file = "orjson-3.10.15-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:ffe19f3e8d68111e8644d4f4e267a069ca427926855582ff01fc012496d19969"}, + {file = "orjson-3.10.15-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d433bf32a363823863a96561a555227c18a522a8217a6f9400f00ddc70139ae2"}, + {file = "orjson-3.10.15-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:da03392674f59a95d03fa5fb9fe3a160b0511ad84b7a3914699ea5a1b3a38da2"}, + {file = "orjson-3.10.15-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3a63bb41559b05360ded9132032239e47983a39b151af1201f07ec9370715c82"}, + {file = "orjson-3.10.15-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3766ac4702f8f795ff3fa067968e806b4344af257011858cc3d6d8721588b53f"}, + {file = "orjson-3.10.15-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a1c73dcc8fadbd7c55802d9aa093b36878d34a3b3222c41052ce6b0fc65f8e8"}, + {file = "orjson-3.10.15-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b299383825eafe642cbab34be762ccff9fd3408d72726a6b2a4506d410a71ab3"}, + {file = "orjson-3.10.15-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:abc7abecdbf67a173ef1316036ebbf54ce400ef2300b4e26a7b843bd446c2480"}, + {file = "orjson-3.10.15-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:3614ea508d522a621384c1d6639016a5a2e4f027f3e4a1c93a51867615d28829"}, + {file = "orjson-3.10.15-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:295c70f9dc154307777ba30fe29ff15c1bcc9dfc5c48632f37d20a607e9ba85a"}, + {file = "orjson-3.10.15-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:63309e3ff924c62404923c80b9e2048c1f74ba4b615e7584584389ada50ed428"}, + {file = "orjson-3.10.15-cp39-cp39-win32.whl", hash = "sha256:a2f708c62d026fb5340788ba94a55c23df4e1869fec74be455e0b2f5363b8507"}, + {file = "orjson-3.10.15-cp39-cp39-win_amd64.whl", hash = "sha256:efcf6c735c3d22ef60c4aa27a5238f1a477df85e9b15f2142f9d669beb2d13fd"}, + {file = "orjson-3.10.15.tar.gz", hash = "sha256:05ca7fe452a2e9d8d9d706a2984c95b9c2ebc5db417ce0b7a49b91d50642a23e"}, +] + +[[package]] +name = "outlines" +version = "0.1.11" +description = "Probabilistic Generative Model Programming" +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "outlines-0.1.11-py3-none-any.whl", hash = "sha256:f5a5f2242ed9802d3aab7a92789bf4008d734c576be9258cc0a297f690124727"}, + {file = "outlines-0.1.11.tar.gz", hash = "sha256:0997bd9da1cc050e430bd08995dc7d4bd855918bafa4531e49d3f37110a23aba"}, +] + +[package.dependencies] +airportsdata = "*" +cloudpickle = "*" +diskcache = "*" +interegular = "*" +jinja2 = "*" +jsonschema = "*" +lark = "*" +nest_asyncio = "*" +numpy = "*" +outlines_core = "0.1.26" +pycountry = "*" +pydantic = ">=2.0" +referencing = "*" +requests = "*" +torch = "*" +tqdm = "*" +typing_extensions = "*" + +[package.extras] +exllamav2 = ["exllamav2"] +llamacpp = ["datasets", "llama-cpp-python", "numpy (<2)", "transformers"] +mlxlm = ["datasets", "mlx-lm"] +openai = ["openai"] +serve = ["fastapi", "pydantic (>=2.0)", "uvicorn", "vllm (>=0.3.0)"] +test = ["accelerate", "beartype (<0.16.0)", "coverage[toml] (>=5.1)", "datasets", "diff-cover", "exllamav2", "huggingface_hub", "jax", "llama-cpp-python", "mlx-lm (>=0.19.2)", "openai (>=1.0.0)", "pillow", "pre-commit", "pytest", "pytest-benchmark", "pytest-cov", "pytest-mock", "responses", "transformers", "vllm"] +transformers = ["accelerate", "datasets", "numpy (<2)", "transformers"] +vllm = ["numpy (<2)", "transformers", "vllm"] + +[[package]] +name = "outlines-core" +version = "0.1.26" +description = "Structured Text Generation in Rust" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "outlines_core-0.1.26-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:6a962a7452e7ac170fa04d405342cadae2d28fafa5b1830cef7aa610257ed32f"}, + {file = "outlines_core-0.1.26-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:15a3684fa29564da2db03934cf0097bef3e871f70d3af0ef2b52fdb886da2e09"}, + {file = "outlines_core-0.1.26-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:64e01c0cfa9ba371634d7c3f6ea1862397cef98e4509fe98e3f57faa721a72d6"}, + {file = "outlines_core-0.1.26-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a3c4196148e47f455f1ace78e329d5b97e531cbc406456d681592952adae7e17"}, + {file = "outlines_core-0.1.26-cp310-cp310-win32.whl", hash = "sha256:f38d290a7f6e5e12cbfcaee03269dfc0dbda49b360024b4279d1aba251fdc346"}, + {file = "outlines_core-0.1.26-cp310-cp310-win_amd64.whl", hash = "sha256:11ff56af56cb54c563b7f25d86cd9ee77f3fed825f1d4dccd9449bb1e4e89538"}, + {file = "outlines_core-0.1.26-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:b6787b07b7c673fc3087d2b537719ecac8e03b10a47d032dd1926985c32885b0"}, + {file = "outlines_core-0.1.26-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e0ea28a76da31d25b6f53242bf13e1b59a0241badf82353c88f55e1cf81b128"}, + {file = "outlines_core-0.1.26-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a8932044a3d9329be53a226118850638f85b4d7842f9b863d0a123f23de220cd"}, + {file = "outlines_core-0.1.26-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a84b7cd2fb6268bf990dd3d479ffb4fa0bace6f571cb85b15b6cdb44b84f5b69"}, + {file = "outlines_core-0.1.26-cp311-cp311-win32.whl", hash = "sha256:f19765c151abfc970996368080aeea6d2a19e927817fe4e2af6726e639be3de4"}, + {file = "outlines_core-0.1.26-cp311-cp311-win_amd64.whl", hash = "sha256:3f59aeccea21ed6ff3cf52102fd163f26d279821c20e5127ddd18d4ea4d0c8d2"}, + {file = "outlines_core-0.1.26-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f54633bca50055d42ea4d94ae06dcbe52d3d76a9b621b75723b1177d0d952953"}, + {file = "outlines_core-0.1.26-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9525321b48700dcaaabf60bcdc951e45f9357ba3fb3e1bfc81b662d7d4170e7c"}, + {file = "outlines_core-0.1.26-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:00f409f72c11f6ffadb57066950dd384d5388015028c1a1a615c9a64988dae3e"}, + {file = "outlines_core-0.1.26-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e86a1bb46adc5cbf6dfd7a7fe4105e0e2a4c6e041732a053126b41c521a1f223"}, + {file = "outlines_core-0.1.26-cp312-cp312-win32.whl", hash = "sha256:19f462f6b00935708677ad27cb4df55e0e17f6ffe713ab750f5f2683b090f95d"}, + {file = "outlines_core-0.1.26-cp312-cp312-win_amd64.whl", hash = "sha256:9b36bff12779e58883747116893a17b3551bbd10865878b951b03a44d112229a"}, + {file = "outlines_core-0.1.26-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:7b7849cf40028319ebb9d8ba0fe4c590ef5888eebe524a81b3af30aaa06ea21c"}, + {file = "outlines_core-0.1.26-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2f8641aab4a6bd84516907492ce82099503129da01b3c29c1dc9ad50320bae77"}, + {file = "outlines_core-0.1.26-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bba56604efdbc5932c7a8a88c2b8b0d0c740ab883b0012fb5464a9736796802b"}, + {file = "outlines_core-0.1.26-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cc8c87d89bd267356f8149c9066cbb98970425ec162997fbf195c3f1feb7009"}, + {file = "outlines_core-0.1.26-cp39-cp39-win32.whl", hash = "sha256:9d792a43ed9d8a4e1b38f4d83fe99db442d57aad4404c2edf98b710892eda47e"}, + {file = "outlines_core-0.1.26-cp39-cp39-win_amd64.whl", hash = "sha256:ad8564ecd7b64bcb840596c5049ff1c1a96346de494302ffcc0f2b188c15675e"}, + {file = "outlines_core-0.1.26.tar.gz", hash = "sha256:481c4301341e77cc8f1832d616784adb4d461b4fec65878e7c0d2cba7163a189"}, +] + +[package.dependencies] +interegular = "*" +jsonschema = "*" + +[package.extras] +test = ["accelerate", "asv", "beartype (<0.16.0)", "coverage[toml] (>=5.1)", "datasets", "diff-cover", "huggingface_hub", "numpy", "pillow", "pre-commit", "psutil", "pydantic", "pytest", "pytest-benchmark", "pytest-cov", "pytest-mock", "scipy", "setuptools-rust", "torch", "transformers"] + +[[package]] +name = "packaging" +version = "24.2" +description = "Core utilities for Python packages" +optional = false +python-versions = ">=3.8" +groups = ["main", "test"] +markers = "python_version <= \"3.11\"" +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" +groups = ["main"] +markers = "python_version <= \"3.11\"" +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.22.4", markers = "python_version < \"3.11\""}, + {version = ">=1.23.2", markers = "python_version == \"3.11\""}, +] +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 = "parameterized" +version = "0.9.0" +description = "Parameterized testing with any Python test framework" +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "parameterized-0.9.0-py2.py3-none-any.whl", hash = "sha256:4e0758e3d41bea3bbd05ec14fc2c24736723f243b28d702081aef438c9372b1b"}, + {file = "parameterized-0.9.0.tar.gz", hash = "sha256:7fc905272cefa4f364c1a3429cbbe9c0f98b793988efb5bf90aac80f08db09b1"}, +] + +[package.extras] +dev = ["jinja2"] + +[[package]] +name = "partial-json-parser" +version = "0.2.1.1.post5" +description = "Parse partial JSON generated by LLM" +optional = false +python-versions = ">=3.6" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "partial_json_parser-0.2.1.1.post5-py3-none-any.whl", hash = "sha256:627715aaa3cb3fb60a65b0d62223243acaa6c70846520a90326fef3a2f0b61ca"}, + {file = "partial_json_parser-0.2.1.1.post5.tar.gz", hash = "sha256:992710ac67e90b367921d52727698928040f7713ba7ecb33b96371ea7aec82ca"}, +] + +[package.extras] +playground = ["rich"] + +[[package]] +name = "pathvalidate" +version = "3.2.3" +description = "pathvalidate is a Python library to sanitize/validate a string such as filenames/file-paths/etc." +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "pathvalidate-3.2.3-py3-none-any.whl", hash = "sha256:5eaf0562e345d4b6d0c0239d0f690c3bd84d2a9a3c4c73b99ea667401b27bee1"}, + {file = "pathvalidate-3.2.3.tar.gz", hash = "sha256:59b5b9278e30382d6d213497623043ebe63f10e29055be4419a9c04c721739cb"}, +] + +[package.extras] +docs = ["Sphinx (>=2.4)", "sphinx_rtd_theme (>=1.2.2)", "urllib3 (<2)"] +readme = ["path (>=13,<18)", "readmemaker (>=1.2.0)"] +test = ["Faker (>=1.0.8)", "allpairspy (>=2)", "click (>=6.2)", "pytest (>=6.0.1)", "pytest-md-report (>=0.6.2)"] + +[[package]] +name = "peft" +version = "0.14.0" +description = "Parameter-Efficient Fine-Tuning (PEFT)" +optional = false +python-versions = ">=3.9.0" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "peft-0.14.0-py3-none-any.whl", hash = "sha256:2f04f3a870c3baf30f15e7dcaa5dd70d3e54cfdd146d3c6c187735d3ae0a0700"}, + {file = "peft-0.14.0.tar.gz", hash = "sha256:546d69af7b42f5ef715a3d3261ed818bc917ae6055e5d7e187ed3f2c76ad72dc"}, +] + +[package.dependencies] +accelerate = ">=0.21.0" +huggingface-hub = ">=0.25.0" +numpy = ">=1.17" +packaging = ">=20.0" +psutil = "*" +pyyaml = "*" +safetensors = "*" +torch = ">=1.13.0" +tqdm = "*" +transformers = "*" + +[package.extras] +dev = ["black", "hf-doc-builder", "ruff (>=0.6.1,<0.7.0)"] +docs-specific = ["black", "hf-doc-builder"] +quality = ["black", "hf-doc-builder", "ruff (>=0.6.1,<0.7.0)"] +test = ["black", "datasets", "diffusers", "hf-doc-builder", "parameterized", "protobuf", "pytest", "pytest-cov", "pytest-xdist", "ruff (>=0.6.1,<0.7.0)", "scipy", "sentencepiece"] + +[[package]] +name = "pfzy" +version = "0.3.4" +description = "Python port of the fzy fuzzy string matching algorithm" +optional = false +python-versions = ">=3.7,<4.0" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "pfzy-0.3.4-py3-none-any.whl", hash = "sha256:5f50d5b2b3207fa72e7ec0ef08372ef652685470974a107d0d4999fc5a903a96"}, + {file = "pfzy-0.3.4.tar.gz", hash = "sha256:717ea765dd10b63618e7298b2d98efd819e0b30cd5905c9707223dceeb94b3f1"}, +] + +[package.extras] +docs = ["Sphinx (>=4.1.2,<5.0.0)", "furo (>=2021.8.17-beta.43,<2022.0.0)", "myst-parser (>=0.15.1,<0.16.0)", "sphinx-autobuild (>=2021.3.14,<2022.0.0)", "sphinx-copybutton (>=0.4.0,<0.5.0)"] + +[[package]] +name = "pillow" +version = "11.1.0" +description = "Python Imaging Library (Fork)" +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "pillow-11.1.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:e1abe69aca89514737465752b4bcaf8016de61b3be1397a8fc260ba33321b3a8"}, + {file = "pillow-11.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c640e5a06869c75994624551f45e5506e4256562ead981cce820d5ab39ae2192"}, + {file = "pillow-11.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a07dba04c5e22824816b2615ad7a7484432d7f540e6fa86af60d2de57b0fcee2"}, + {file = "pillow-11.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e267b0ed063341f3e60acd25c05200df4193e15a4a5807075cd71225a2386e26"}, + {file = "pillow-11.1.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:bd165131fd51697e22421d0e467997ad31621b74bfc0b75956608cb2906dda07"}, + {file = "pillow-11.1.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:abc56501c3fd148d60659aae0af6ddc149660469082859fa7b066a298bde9482"}, + {file = "pillow-11.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:54ce1c9a16a9561b6d6d8cb30089ab1e5eb66918cb47d457bd996ef34182922e"}, + {file = "pillow-11.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:73ddde795ee9b06257dac5ad42fcb07f3b9b813f8c1f7f870f402f4dc54b5269"}, + {file = "pillow-11.1.0-cp310-cp310-win32.whl", hash = "sha256:3a5fe20a7b66e8135d7fd617b13272626a28278d0e578c98720d9ba4b2439d49"}, + {file = "pillow-11.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:b6123aa4a59d75f06e9dd3dac5bf8bc9aa383121bb3dd9a7a612e05eabc9961a"}, + {file = "pillow-11.1.0-cp310-cp310-win_arm64.whl", hash = "sha256:a76da0a31da6fcae4210aa94fd779c65c75786bc9af06289cd1c184451ef7a65"}, + {file = "pillow-11.1.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:e06695e0326d05b06833b40b7ef477e475d0b1ba3a6d27da1bb48c23209bf457"}, + {file = "pillow-11.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:96f82000e12f23e4f29346e42702b6ed9a2f2fea34a740dd5ffffcc8c539eb35"}, + {file = "pillow-11.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a3cd561ded2cf2bbae44d4605837221b987c216cff94f49dfeed63488bb228d2"}, + {file = "pillow-11.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f189805c8be5ca5add39e6f899e6ce2ed824e65fb45f3c28cb2841911da19070"}, + {file = "pillow-11.1.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:dd0052e9db3474df30433f83a71b9b23bd9e4ef1de13d92df21a52c0303b8ab6"}, + {file = "pillow-11.1.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:837060a8599b8f5d402e97197d4924f05a2e0d68756998345c829c33186217b1"}, + {file = "pillow-11.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:aa8dd43daa836b9a8128dbe7d923423e5ad86f50a7a14dc688194b7be5c0dea2"}, + {file = "pillow-11.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0a2f91f8a8b367e7a57c6e91cd25af510168091fb89ec5146003e424e1558a96"}, + {file = "pillow-11.1.0-cp311-cp311-win32.whl", hash = "sha256:c12fc111ef090845de2bb15009372175d76ac99969bdf31e2ce9b42e4b8cd88f"}, + {file = "pillow-11.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:fbd43429d0d7ed6533b25fc993861b8fd512c42d04514a0dd6337fb3ccf22761"}, + {file = "pillow-11.1.0-cp311-cp311-win_arm64.whl", hash = "sha256:f7955ecf5609dee9442cbface754f2c6e541d9e6eda87fad7f7a989b0bdb9d71"}, + {file = "pillow-11.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2062ffb1d36544d42fcaa277b069c88b01bb7298f4efa06731a7fd6cc290b81a"}, + {file = "pillow-11.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a85b653980faad27e88b141348707ceeef8a1186f75ecc600c395dcac19f385b"}, + {file = "pillow-11.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9409c080586d1f683df3f184f20e36fb647f2e0bc3988094d4fd8c9f4eb1b3b3"}, + {file = "pillow-11.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7fdadc077553621911f27ce206ffcbec7d3f8d7b50e0da39f10997e8e2bb7f6a"}, + {file = "pillow-11.1.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:93a18841d09bcdd774dcdc308e4537e1f867b3dec059c131fde0327899734aa1"}, + {file = "pillow-11.1.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:9aa9aeddeed452b2f616ff5507459e7bab436916ccb10961c4a382cd3e03f47f"}, + {file = "pillow-11.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3cdcdb0b896e981678eee140d882b70092dac83ac1cdf6b3a60e2216a73f2b91"}, + {file = "pillow-11.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:36ba10b9cb413e7c7dfa3e189aba252deee0602c86c309799da5a74009ac7a1c"}, + {file = "pillow-11.1.0-cp312-cp312-win32.whl", hash = "sha256:cfd5cd998c2e36a862d0e27b2df63237e67273f2fc78f47445b14e73a810e7e6"}, + {file = "pillow-11.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:a697cd8ba0383bba3d2d3ada02b34ed268cb548b369943cd349007730c92bddf"}, + {file = "pillow-11.1.0-cp312-cp312-win_arm64.whl", hash = "sha256:4dd43a78897793f60766563969442020e90eb7847463eca901e41ba186a7d4a5"}, + {file = "pillow-11.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ae98e14432d458fc3de11a77ccb3ae65ddce70f730e7c76140653048c71bfcbc"}, + {file = "pillow-11.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cc1331b6d5a6e144aeb5e626f4375f5b7ae9934ba620c0ac6b3e43d5e683a0f0"}, + {file = "pillow-11.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:758e9d4ef15d3560214cddbc97b8ef3ef86ce04d62ddac17ad39ba87e89bd3b1"}, + {file = "pillow-11.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b523466b1a31d0dcef7c5be1f20b942919b62fd6e9a9be199d035509cbefc0ec"}, + {file = "pillow-11.1.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:9044b5e4f7083f209c4e35aa5dd54b1dd5b112b108648f5c902ad586d4f945c5"}, + {file = "pillow-11.1.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:3764d53e09cdedd91bee65c2527815d315c6b90d7b8b79759cc48d7bf5d4f114"}, + {file = "pillow-11.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:31eba6bbdd27dde97b0174ddf0297d7a9c3a507a8a1480e1e60ef914fe23d352"}, + {file = "pillow-11.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b5d658fbd9f0d6eea113aea286b21d3cd4d3fd978157cbf2447a6035916506d3"}, + {file = "pillow-11.1.0-cp313-cp313-win32.whl", hash = "sha256:f86d3a7a9af5d826744fabf4afd15b9dfef44fe69a98541f666f66fbb8d3fef9"}, + {file = "pillow-11.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:593c5fd6be85da83656b93ffcccc2312d2d149d251e98588b14fbc288fd8909c"}, + {file = "pillow-11.1.0-cp313-cp313-win_arm64.whl", hash = "sha256:11633d58b6ee5733bde153a8dafd25e505ea3d32e261accd388827ee987baf65"}, + {file = "pillow-11.1.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:70ca5ef3b3b1c4a0812b5c63c57c23b63e53bc38e758b37a951e5bc466449861"}, + {file = "pillow-11.1.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:8000376f139d4d38d6851eb149b321a52bb8893a88dae8ee7d95840431977081"}, + {file = "pillow-11.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ee85f0696a17dd28fbcfceb59f9510aa71934b483d1f5601d1030c3c8304f3c"}, + {file = "pillow-11.1.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:dd0e081319328928531df7a0e63621caf67652c8464303fd102141b785ef9547"}, + {file = "pillow-11.1.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e63e4e5081de46517099dc30abe418122f54531a6ae2ebc8680bcd7096860eab"}, + {file = "pillow-11.1.0-cp313-cp313t-win32.whl", hash = "sha256:dda60aa465b861324e65a78c9f5cf0f4bc713e4309f83bc387be158b077963d9"}, + {file = "pillow-11.1.0-cp313-cp313t-win_amd64.whl", hash = "sha256:ad5db5781c774ab9a9b2c4302bbf0c1014960a0a7be63278d13ae6fdf88126fe"}, + {file = "pillow-11.1.0-cp313-cp313t-win_arm64.whl", hash = "sha256:67cd427c68926108778a9005f2a04adbd5e67c442ed21d95389fe1d595458756"}, + {file = "pillow-11.1.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:bf902d7413c82a1bfa08b06a070876132a5ae6b2388e2712aab3a7cbc02205c6"}, + {file = "pillow-11.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c1eec9d950b6fe688edee07138993e54ee4ae634c51443cfb7c1e7613322718e"}, + {file = "pillow-11.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e275ee4cb11c262bd108ab2081f750db2a1c0b8c12c1897f27b160c8bd57bbc"}, + {file = "pillow-11.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4db853948ce4e718f2fc775b75c37ba2efb6aaea41a1a5fc57f0af59eee774b2"}, + {file = "pillow-11.1.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:ab8a209b8485d3db694fa97a896d96dd6533d63c22829043fd9de627060beade"}, + {file = "pillow-11.1.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:54251ef02a2309b5eec99d151ebf5c9904b77976c8abdcbce7891ed22df53884"}, + {file = "pillow-11.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5bb94705aea800051a743aa4874bb1397d4695fb0583ba5e425ee0328757f196"}, + {file = "pillow-11.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:89dbdb3e6e9594d512780a5a1c42801879628b38e3efc7038094430844e271d8"}, + {file = "pillow-11.1.0-cp39-cp39-win32.whl", hash = "sha256:e5449ca63da169a2e6068dd0e2fcc8d91f9558aba89ff6d02121ca8ab11e79e5"}, + {file = "pillow-11.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:3362c6ca227e65c54bf71a5f88b3d4565ff1bcbc63ae72c34b07bbb1cc59a43f"}, + {file = "pillow-11.1.0-cp39-cp39-win_arm64.whl", hash = "sha256:b20be51b37a75cc54c2c55def3fa2c65bb94ba859dde241cd0a4fd302de5ae0a"}, + {file = "pillow-11.1.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:8c730dc3a83e5ac137fbc92dfcfe1511ce3b2b5d7578315b63dbbb76f7f51d90"}, + {file = "pillow-11.1.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:7d33d2fae0e8b170b6a6c57400e077412240f6f5bb2a342cf1ee512a787942bb"}, + {file = "pillow-11.1.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a8d65b38173085f24bc07f8b6c505cbb7418009fa1a1fcb111b1f4961814a442"}, + {file = "pillow-11.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:015c6e863faa4779251436db398ae75051469f7c903b043a48f078e437656f83"}, + {file = "pillow-11.1.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:d44ff19eea13ae4acdaaab0179fa68c0c6f2f45d66a4d8ec1eda7d6cecbcc15f"}, + {file = "pillow-11.1.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:d3d8da4a631471dfaf94c10c85f5277b1f8e42ac42bade1ac67da4b4a7359b73"}, + {file = "pillow-11.1.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:4637b88343166249fe8aa94e7c4a62a180c4b3898283bb5d3d2fd5fe10d8e4e0"}, + {file = "pillow-11.1.0.tar.gz", hash = "sha256:368da70808b36d73b4b390a8ffac11069f8a5c85f29eff1f1b01bcf3ef5b2a20"}, +] + +[package.extras] +docs = ["furo", "olefile", "sphinx (>=8.1)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinxext-opengraph"] +fpx = ["olefile"] +mic = ["olefile"] +tests = ["check-manifest", "coverage (>=7.4.2)", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout", "trove-classifiers (>=2024.10.12)"] +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" +groups = ["main"] +markers = "python_version <= \"3.11\"" +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 = "pluggy" +version = "1.5.0" +description = "plugin and hook calling mechanisms for python" +optional = false +python-versions = ">=3.8" +groups = ["test"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, + {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, +] + +[package.extras] +dev = ["pre-commit", "tox"] +testing = ["pytest", "pytest-benchmark"] + +[[package]] +name = "portalocker" +version = "3.1.1" +description = "Wraps the portalocker recipe for easy usage" +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "portalocker-3.1.1-py3-none-any.whl", hash = "sha256:80e984e24de292ff258a5bea0e4f3f778fff84c0ae1275dbaebc4658de4aacb3"}, + {file = "portalocker-3.1.1.tar.gz", hash = "sha256:ec20f6dda2ad9ce89fa399a5f31f4f1495f515958f0cb7ca6543cef7bb5a749e"}, +] + +[package.dependencies] +pywin32 = {version = ">=226", markers = "platform_system == \"Windows\""} + +[package.extras] +docs = ["sphinx (>=1.7.1)"] +redis = ["redis"] +tests = ["pytest (>=5.4.1)", "pytest-cov (>=2.8.1)", "pytest-mypy (>=0.8.0)", "pytest-rerunfailures (>=15.0)", "pytest-timeout (>=2.1.0)", "redis", "sphinx (>=6.0.0)", "types-redis"] + +[[package]] +name = "preshed" +version = "3.0.9" +description = "Cython hash table that trusts the keys are pre-hashed" +optional = false +python-versions = ">=3.6" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "preshed-3.0.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4f96ef4caf9847b2bb9868574dcbe2496f974e41c2b83d6621c24fb4c3fc57e3"}, + {file = "preshed-3.0.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a61302cf8bd30568631adcdaf9e6b21d40491bd89ba8ebf67324f98b6c2a2c05"}, + {file = "preshed-3.0.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:99499e8a58f58949d3f591295a97bca4e197066049c96f5d34944dd21a497193"}, + {file = "preshed-3.0.9-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea6b6566997dc3acd8c6ee11a89539ac85c77275b4dcefb2dc746d11053a5af8"}, + {file = "preshed-3.0.9-cp310-cp310-win_amd64.whl", hash = "sha256:bfd523085a84b1338ff18f61538e1cfcdedc4b9e76002589a301c364d19a2e36"}, + {file = "preshed-3.0.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e7c2364da27f2875524ce1ca754dc071515a9ad26eb5def4c7e69129a13c9a59"}, + {file = "preshed-3.0.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:182138033c0730c683a6d97e567ceb8a3e83f3bff5704f300d582238dbd384b3"}, + {file = "preshed-3.0.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:345a10be3b86bcc6c0591d343a6dc2bfd86aa6838c30ced4256dfcfa836c3a64"}, + {file = "preshed-3.0.9-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:51d0192274aa061699b284f9fd08416065348edbafd64840c3889617ee1609de"}, + {file = "preshed-3.0.9-cp311-cp311-win_amd64.whl", hash = "sha256:96b857d7a62cbccc3845ac8c41fd23addf052821be4eb987f2eb0da3d8745aa1"}, + {file = "preshed-3.0.9-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b4fe6720012c62e6d550d6a5c1c7ad88cacef8388d186dad4bafea4140d9d198"}, + {file = "preshed-3.0.9-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e04f05758875be9751e483bd3c519c22b00d3b07f5a64441ec328bb9e3c03700"}, + {file = "preshed-3.0.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a55091d0e395f1fdb62ab43401bb9f8b46c7d7794d5b071813c29dc1ab22fd0"}, + {file = "preshed-3.0.9-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7de8f5138bcac7870424e09684dc3dd33c8e30e81b269f6c9ede3d8c7bb8e257"}, + {file = "preshed-3.0.9-cp312-cp312-win_amd64.whl", hash = "sha256:24229c77364628743bc29c5620c5d6607ed104f0e02ae31f8a030f99a78a5ceb"}, + {file = "preshed-3.0.9-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b73b0f7ecc58095ebbc6ca26ec806008ef780190fe685ce471b550e7eef58dc2"}, + {file = "preshed-3.0.9-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5cb90ecd5bec71c21d95962db1a7922364d6db2abe284a8c4b196df8bbcc871e"}, + {file = "preshed-3.0.9-cp36-cp36m-win_amd64.whl", hash = "sha256:e304a0a8c9d625b70ba850c59d4e67082a6be9c16c4517b97850a17a282ebee6"}, + {file = "preshed-3.0.9-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:1fa6d3d5529b08296ff9b7b4da1485c080311fd8744bbf3a86019ff88007b382"}, + {file = "preshed-3.0.9-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ef1e5173809d85edd420fc79563b286b88b4049746b797845ba672cf9435c0e7"}, + {file = "preshed-3.0.9-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7fe81eb21c7d99e8b9a802cc313b998c5f791bda592903c732b607f78a6b7dc4"}, + {file = "preshed-3.0.9-cp37-cp37m-win_amd64.whl", hash = "sha256:78590a4a952747c3766e605ce8b747741005bdb1a5aa691a18aae67b09ece0e6"}, + {file = "preshed-3.0.9-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3452b64d97ce630e200c415073040aa494ceec6b7038f7a2a3400cbd7858e952"}, + {file = "preshed-3.0.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ac970d97b905e9e817ec13d31befd5b07c9cfec046de73b551d11a6375834b79"}, + {file = "preshed-3.0.9-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eebaa96ece6641cd981491cba995b68c249e0b6877c84af74971eacf8990aa19"}, + {file = "preshed-3.0.9-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d473c5f6856e07a88d41fe00bb6c206ecf7b34c381d30de0b818ba2ebaf9406"}, + {file = "preshed-3.0.9-cp38-cp38-win_amd64.whl", hash = "sha256:0de63a560f10107a3f0a9e252cc3183b8fdedcb5f81a86938fd9f1dcf8a64adf"}, + {file = "preshed-3.0.9-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3a9ad9f738084e048a7c94c90f40f727217387115b2c9a95c77f0ce943879fcd"}, + {file = "preshed-3.0.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a671dfa30b67baa09391faf90408b69c8a9a7f81cb9d83d16c39a182355fbfce"}, + {file = "preshed-3.0.9-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23906d114fc97c17c5f8433342495d7562e96ecfd871289c2bb2ed9a9df57c3f"}, + {file = "preshed-3.0.9-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:778cf71f82cedd2719b256f3980d556d6fb56ec552334ba79b49d16e26e854a0"}, + {file = "preshed-3.0.9-cp39-cp39-win_amd64.whl", hash = "sha256:a6e579439b329eb93f32219ff27cb358b55fbb52a4862c31a915a098c8a22ac2"}, + {file = "preshed-3.0.9.tar.gz", hash = "sha256:721863c5244ffcd2651ad0928951a2c7c77b102f4e11a251ad85d37ee7621660"}, +] + +[package.dependencies] +cymem = ">=2.0.2,<2.1.0" +murmurhash = ">=0.28.0,<1.1.0" + +[[package]] +name = "prometheus-client" +version = "0.21.1" +description = "Python client for the Prometheus monitoring system." +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "prometheus_client-0.21.1-py3-none-any.whl", hash = "sha256:594b45c410d6f4f8888940fe80b5cc2521b305a1fafe1c58609ef715a001f301"}, + {file = "prometheus_client-0.21.1.tar.gz", hash = "sha256:252505a722ac04b0456be05c05f75f45d760c2911ffc45f2a06bcaed9f3ae3fb"}, +] + +[package.extras] +twisted = ["twisted"] + +[[package]] +name = "prometheus-fastapi-instrumentator" +version = "7.0.2" +description = "Instrument your FastAPI app with Prometheus metrics" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "prometheus_fastapi_instrumentator-7.0.2-py3-none-any.whl", hash = "sha256:975e39992acb7a112758ff13ba95317e6c54d1bbf605f9156f31ac9f2800c32d"}, + {file = "prometheus_fastapi_instrumentator-7.0.2.tar.gz", hash = "sha256:8a4d8fb13dbe19d2882ac6af9ce236e4e1f98dc48e3fa44fe88d8e23ac3c953f"}, +] + +[package.dependencies] +prometheus-client = ">=0.8.0,<1.0.0" +starlette = ">=0.30.0,<1.0.0" + +[[package]] +name = "prompt-toolkit" +version = "3.0.50" +description = "Library for building powerful interactive command lines in Python" +optional = false +python-versions = ">=3.8.0" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "prompt_toolkit-3.0.50-py3-none-any.whl", hash = "sha256:9b6427eb19e479d98acff65196a307c555eb567989e6d88ebbb1b509d9779198"}, + {file = "prompt_toolkit-3.0.50.tar.gz", hash = "sha256:544748f3860a2623ca5cd6d2795e7a14f3d0e1c3c9728359013f79877fc89bab"}, +] + +[package.dependencies] +wcwidth = "*" + +[[package]] +name = "propcache" +version = "0.3.0" +description = "Accelerated property cache" +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "propcache-0.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:efa44f64c37cc30c9f05932c740a8b40ce359f51882c70883cc95feac842da4d"}, + {file = "propcache-0.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2383a17385d9800b6eb5855c2f05ee550f803878f344f58b6e194de08b96352c"}, + {file = "propcache-0.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d3e7420211f5a65a54675fd860ea04173cde60a7cc20ccfbafcccd155225f8bc"}, + {file = "propcache-0.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3302c5287e504d23bb0e64d2a921d1eb4a03fb93a0a0aa3b53de059f5a5d737d"}, + {file = "propcache-0.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7e2e068a83552ddf7a39a99488bcba05ac13454fb205c847674da0352602082f"}, + {file = "propcache-0.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d913d36bdaf368637b4f88d554fb9cb9d53d6920b9c5563846555938d5450bf"}, + {file = "propcache-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ee1983728964d6070ab443399c476de93d5d741f71e8f6e7880a065f878e0b9"}, + {file = "propcache-0.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:36ca5e9a21822cc1746023e88f5c0af6fce3af3b85d4520efb1ce4221bed75cc"}, + {file = "propcache-0.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:9ecde3671e62eeb99e977f5221abcf40c208f69b5eb986b061ccec317c82ebd0"}, + {file = "propcache-0.3.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:d383bf5e045d7f9d239b38e6acadd7b7fdf6c0087259a84ae3475d18e9a2ae8b"}, + {file = "propcache-0.3.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:8cb625bcb5add899cb8ba7bf716ec1d3e8f7cdea9b0713fa99eadf73b6d4986f"}, + {file = "propcache-0.3.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:5fa159dcee5dba00c1def3231c249cf261185189205073bde13797e57dd7540a"}, + {file = "propcache-0.3.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:a7080b0159ce05f179cfac592cda1a82898ca9cd097dacf8ea20ae33474fbb25"}, + {file = "propcache-0.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ed7161bccab7696a473fe7ddb619c1d75963732b37da4618ba12e60899fefe4f"}, + {file = "propcache-0.3.0-cp310-cp310-win32.whl", hash = "sha256:bf0d9a171908f32d54f651648c7290397b8792f4303821c42a74e7805bfb813c"}, + {file = "propcache-0.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:42924dc0c9d73e49908e35bbdec87adedd651ea24c53c29cac103ede0ea1d340"}, + {file = "propcache-0.3.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9ddd49258610499aab83b4f5b61b32e11fce873586282a0e972e5ab3bcadee51"}, + {file = "propcache-0.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2578541776769b500bada3f8a4eeaf944530516b6e90c089aa368266ed70c49e"}, + {file = "propcache-0.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d8074c5dd61c8a3e915fa8fc04754fa55cfa5978200d2daa1e2d4294c1f136aa"}, + {file = "propcache-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b58229a844931bca61b3a20efd2be2a2acb4ad1622fc026504309a6883686fbf"}, + {file = "propcache-0.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e45377d5d6fefe1677da2a2c07b024a6dac782088e37c0b1efea4cfe2b1be19b"}, + {file = "propcache-0.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ec5060592d83454e8063e487696ac3783cc48c9a329498bafae0d972bc7816c9"}, + {file = "propcache-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15010f29fbed80e711db272909a074dc79858c6d28e2915704cfc487a8ac89c6"}, + {file = "propcache-0.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a254537b9b696ede293bfdbc0a65200e8e4507bc9f37831e2a0318a9b333c85c"}, + {file = "propcache-0.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2b975528998de037dfbc10144b8aed9b8dd5a99ec547f14d1cb7c5665a43f075"}, + {file = "propcache-0.3.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:19d36bb351ad5554ff20f2ae75f88ce205b0748c38b146c75628577020351e3c"}, + {file = "propcache-0.3.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:6032231d4a5abd67c7f71168fd64a47b6b451fbcb91c8397c2f7610e67683810"}, + {file = "propcache-0.3.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:6985a593417cdbc94c7f9c3403747335e450c1599da1647a5af76539672464d3"}, + {file = "propcache-0.3.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:6a1948df1bb1d56b5e7b0553c0fa04fd0e320997ae99689488201f19fa90d2e7"}, + {file = "propcache-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:8319293e85feadbbfe2150a5659dbc2ebc4afdeaf7d98936fb9a2f2ba0d4c35c"}, + {file = "propcache-0.3.0-cp311-cp311-win32.whl", hash = "sha256:63f26258a163c34542c24808f03d734b338da66ba91f410a703e505c8485791d"}, + {file = "propcache-0.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:cacea77ef7a2195f04f9279297684955e3d1ae4241092ff0cfcef532bb7a1c32"}, + {file = "propcache-0.3.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e53d19c2bf7d0d1e6998a7e693c7e87300dd971808e6618964621ccd0e01fe4e"}, + {file = "propcache-0.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:a61a68d630e812b67b5bf097ab84e2cd79b48c792857dc10ba8a223f5b06a2af"}, + {file = "propcache-0.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fb91d20fa2d3b13deea98a690534697742029f4fb83673a3501ae6e3746508b5"}, + {file = "propcache-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:67054e47c01b7b349b94ed0840ccae075449503cf1fdd0a1fdd98ab5ddc2667b"}, + {file = "propcache-0.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:997e7b8f173a391987df40f3b52c423e5850be6f6df0dcfb5376365440b56667"}, + {file = "propcache-0.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d663fd71491dde7dfdfc899d13a067a94198e90695b4321084c6e450743b8c7"}, + {file = "propcache-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8884ba1a0fe7210b775106b25850f5e5a9dc3c840d1ae9924ee6ea2eb3acbfe7"}, + {file = "propcache-0.3.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aa806bbc13eac1ab6291ed21ecd2dd426063ca5417dd507e6be58de20e58dfcf"}, + {file = "propcache-0.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6f4d7a7c0aff92e8354cceca6fe223973ddf08401047920df0fcb24be2bd5138"}, + {file = "propcache-0.3.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:9be90eebc9842a93ef8335291f57b3b7488ac24f70df96a6034a13cb58e6ff86"}, + {file = "propcache-0.3.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:bf15fc0b45914d9d1b706f7c9c4f66f2b7b053e9517e40123e137e8ca8958b3d"}, + {file = "propcache-0.3.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5a16167118677d94bb48bfcd91e420088854eb0737b76ec374b91498fb77a70e"}, + {file = "propcache-0.3.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:41de3da5458edd5678b0f6ff66691507f9885f5fe6a0fb99a5d10d10c0fd2d64"}, + {file = "propcache-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:728af36011bb5d344c4fe4af79cfe186729efb649d2f8b395d1572fb088a996c"}, + {file = "propcache-0.3.0-cp312-cp312-win32.whl", hash = "sha256:6b5b7fd6ee7b54e01759f2044f936dcf7dea6e7585f35490f7ca0420fe723c0d"}, + {file = "propcache-0.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:2d15bc27163cd4df433e75f546b9ac31c1ba7b0b128bfb1b90df19082466ff57"}, + {file = "propcache-0.3.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a2b9bf8c79b660d0ca1ad95e587818c30ccdb11f787657458d6f26a1ea18c568"}, + {file = "propcache-0.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b0c1a133d42c6fc1f5fbcf5c91331657a1ff822e87989bf4a6e2e39b818d0ee9"}, + {file = "propcache-0.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bb2f144c6d98bb5cbc94adeb0447cfd4c0f991341baa68eee3f3b0c9c0e83767"}, + {file = "propcache-0.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1323cd04d6e92150bcc79d0174ce347ed4b349d748b9358fd2e497b121e03c8"}, + {file = "propcache-0.3.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b812b3cb6caacd072276ac0492d249f210006c57726b6484a1e1805b3cfeea0"}, + {file = "propcache-0.3.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:742840d1d0438eb7ea4280f3347598f507a199a35a08294afdcc560c3739989d"}, + {file = "propcache-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7c6e7e4f9167fddc438cd653d826f2222222564daed4116a02a184b464d3ef05"}, + {file = "propcache-0.3.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a94ffc66738da99232ddffcf7910e0f69e2bbe3a0802e54426dbf0714e1c2ffe"}, + {file = "propcache-0.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:3c6ec957025bf32b15cbc6b67afe233c65b30005e4c55fe5768e4bb518d712f1"}, + {file = "propcache-0.3.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:549722908de62aa0b47a78b90531c022fa6e139f9166be634f667ff45632cc92"}, + {file = "propcache-0.3.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:5d62c4f6706bff5d8a52fd51fec6069bef69e7202ed481486c0bc3874912c787"}, + {file = "propcache-0.3.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:24c04f8fbf60094c531667b8207acbae54146661657a1b1be6d3ca7773b7a545"}, + {file = "propcache-0.3.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:7c5f5290799a3f6539cc5e6f474c3e5c5fbeba74a5e1e5be75587746a940d51e"}, + {file = "propcache-0.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4fa0e7c9c3cf7c276d4f6ab9af8adddc127d04e0fcabede315904d2ff76db626"}, + {file = "propcache-0.3.0-cp313-cp313-win32.whl", hash = "sha256:ee0bd3a7b2e184e88d25c9baa6a9dc609ba25b76daae942edfb14499ac7ec374"}, + {file = "propcache-0.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:1c8f7d896a16da9455f882870a507567d4f58c53504dc2d4b1e1d386dfe4588a"}, + {file = "propcache-0.3.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:e560fd75aaf3e5693b91bcaddd8b314f4d57e99aef8a6c6dc692f935cc1e6bbf"}, + {file = "propcache-0.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:65a37714b8ad9aba5780325228598a5b16c47ba0f8aeb3dc0514701e4413d7c0"}, + {file = "propcache-0.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:07700939b2cbd67bfb3b76a12e1412405d71019df00ca5697ce75e5ef789d829"}, + {file = "propcache-0.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7c0fdbdf6983526e269e5a8d53b7ae3622dd6998468821d660d0daf72779aefa"}, + {file = "propcache-0.3.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:794c3dd744fad478b6232289c866c25406ecdfc47e294618bdf1697e69bd64a6"}, + {file = "propcache-0.3.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4544699674faf66fb6b4473a1518ae4999c1b614f0b8297b1cef96bac25381db"}, + {file = "propcache-0.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fddb8870bdb83456a489ab67c6b3040a8d5a55069aa6f72f9d872235fbc52f54"}, + {file = "propcache-0.3.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f857034dc68d5ceb30fb60afb6ff2103087aea10a01b613985610e007053a121"}, + {file = "propcache-0.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:02df07041e0820cacc8f739510078f2aadcfd3fc57eaeeb16d5ded85c872c89e"}, + {file = "propcache-0.3.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:f47d52fd9b2ac418c4890aad2f6d21a6b96183c98021f0a48497a904199f006e"}, + {file = "propcache-0.3.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:9ff4e9ecb6e4b363430edf2c6e50173a63e0820e549918adef70515f87ced19a"}, + {file = "propcache-0.3.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:ecc2920630283e0783c22e2ac94427f8cca29a04cfdf331467d4f661f4072dac"}, + {file = "propcache-0.3.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:c441c841e82c5ba7a85ad25986014be8d7849c3cfbdb6004541873505929a74e"}, + {file = "propcache-0.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6c929916cbdb540d3407c66f19f73387f43e7c12fa318a66f64ac99da601bcdf"}, + {file = "propcache-0.3.0-cp313-cp313t-win32.whl", hash = "sha256:0c3e893c4464ebd751b44ae76c12c5f5c1e4f6cbd6fbf67e3783cd93ad221863"}, + {file = "propcache-0.3.0-cp313-cp313t-win_amd64.whl", hash = "sha256:75e872573220d1ee2305b35c9813626e620768248425f58798413e9c39741f46"}, + {file = "propcache-0.3.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:03c091bb752349402f23ee43bb2bff6bd80ccab7c9df6b88ad4322258d6960fc"}, + {file = "propcache-0.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:46ed02532cb66612d42ae5c3929b5e98ae330ea0f3900bc66ec5f4862069519b"}, + {file = "propcache-0.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:11ae6a8a01b8a4dc79093b5d3ca2c8a4436f5ee251a9840d7790dccbd96cb649"}, + {file = "propcache-0.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:df03cd88f95b1b99052b52b1bb92173229d7a674df0ab06d2b25765ee8404bce"}, + {file = "propcache-0.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:03acd9ff19021bd0567582ac88f821b66883e158274183b9e5586f678984f8fe"}, + {file = "propcache-0.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd54895e4ae7d32f1e3dd91261df46ee7483a735017dc6f987904f194aa5fd14"}, + {file = "propcache-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26a67e5c04e3119594d8cfae517f4b9330c395df07ea65eab16f3d559b7068fe"}, + {file = "propcache-0.3.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee25f1ac091def37c4b59d192bbe3a206298feeb89132a470325bf76ad122a1e"}, + {file = "propcache-0.3.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:58e6d2a5a7cb3e5f166fd58e71e9a4ff504be9dc61b88167e75f835da5764d07"}, + {file = "propcache-0.3.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:be90c94570840939fecedf99fa72839aed70b0ced449b415c85e01ae67422c90"}, + {file = "propcache-0.3.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:49ea05212a529c2caffe411e25a59308b07d6e10bf2505d77da72891f9a05641"}, + {file = "propcache-0.3.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:119e244ab40f70a98c91906d4c1f4c5f2e68bd0b14e7ab0a06922038fae8a20f"}, + {file = "propcache-0.3.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:507c5357a8d8b4593b97fb669c50598f4e6cccbbf77e22fa9598aba78292b4d7"}, + {file = "propcache-0.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:8526b0941ec5a40220fc4dfde76aed58808e2b309c03e9fa8e2260083ef7157f"}, + {file = "propcache-0.3.0-cp39-cp39-win32.whl", hash = "sha256:7cedd25e5f678f7738da38037435b340694ab34d424938041aa630d8bac42663"}, + {file = "propcache-0.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:bf4298f366ca7e1ad1d21bbb58300a6985015909964077afd37559084590c929"}, + {file = "propcache-0.3.0-py3-none-any.whl", hash = "sha256:67dda3c7325691c2081510e92c561f465ba61b975f481735aefdfc845d2cd043"}, + {file = "propcache-0.3.0.tar.gz", hash = "sha256:a8fd93de4e1d278046345f49e2238cdb298589325849b2645d4a94c53faeffc5"}, +] + +[[package]] +name = "proto-plus" +version = "1.26.1" +description = "Beautiful, Pythonic protocol buffers" +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "proto_plus-1.26.1-py3-none-any.whl", hash = "sha256:13285478c2dcf2abb829db158e1047e2f1e8d63a077d94263c2b88b043c75a66"}, + {file = "proto_plus-1.26.1.tar.gz", hash = "sha256:21a515a4c4c0088a773899e23c7bbade3d18f9c66c73edd4c7ee3816bc96a012"}, +] + +[package.dependencies] +protobuf = ">=3.19.0,<7.0.0" + +[package.extras] +testing = ["google-api-core (>=1.31.5)"] + +[[package]] +name = "protobuf" +version = "3.20.3" +description = "Protocol Buffers" +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "protobuf-3.20.3-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:f4bd856d702e5b0d96a00ec6b307b0f51c1982c2bf9c0052cf9019e9a544ba99"}, + {file = "protobuf-3.20.3-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:9aae4406ea63d825636cc11ffb34ad3379335803216ee3a856787bcf5ccc751e"}, + {file = "protobuf-3.20.3-cp310-cp310-win32.whl", hash = "sha256:28545383d61f55b57cf4df63eebd9827754fd2dc25f80c5253f9184235db242c"}, + {file = "protobuf-3.20.3-cp310-cp310-win_amd64.whl", hash = "sha256:67a3598f0a2dcbc58d02dd1928544e7d88f764b47d4a286202913f0b2801c2e7"}, + {file = "protobuf-3.20.3-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:899dc660cd599d7352d6f10d83c95df430a38b410c1b66b407a6b29265d66469"}, + {file = "protobuf-3.20.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e64857f395505ebf3d2569935506ae0dfc4a15cb80dc25261176c784662cdcc4"}, + {file = "protobuf-3.20.3-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:d9e4432ff660d67d775c66ac42a67cf2453c27cb4d738fc22cb53b5d84c135d4"}, + {file = "protobuf-3.20.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:74480f79a023f90dc6e18febbf7b8bac7508420f2006fabd512013c0c238f454"}, + {file = "protobuf-3.20.3-cp37-cp37m-win32.whl", hash = "sha256:b6cc7ba72a8850621bfec987cb72623e703b7fe2b9127a161ce61e61558ad905"}, + {file = "protobuf-3.20.3-cp37-cp37m-win_amd64.whl", hash = "sha256:8c0c984a1b8fef4086329ff8dd19ac77576b384079247c770f29cc8ce3afa06c"}, + {file = "protobuf-3.20.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:de78575669dddf6099a8a0f46a27e82a1783c557ccc38ee620ed8cc96d3be7d7"}, + {file = "protobuf-3.20.3-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:f4c42102bc82a51108e449cbb32b19b180022941c727bac0cfd50170341f16ee"}, + {file = "protobuf-3.20.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:44246bab5dd4b7fbd3c0c80b6f16686808fab0e4aca819ade6e8d294a29c7050"}, + {file = "protobuf-3.20.3-cp38-cp38-win32.whl", hash = "sha256:c02ce36ec760252242a33967d51c289fd0e1c0e6e5cc9397e2279177716add86"}, + {file = "protobuf-3.20.3-cp38-cp38-win_amd64.whl", hash = "sha256:447d43819997825d4e71bf5769d869b968ce96848b6479397e29fc24c4a5dfe9"}, + {file = "protobuf-3.20.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:398a9e0c3eaceb34ec1aee71894ca3299605fa8e761544934378bbc6c97de23b"}, + {file = "protobuf-3.20.3-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:bf01b5720be110540be4286e791db73f84a2b721072a3711efff6c324cdf074b"}, + {file = "protobuf-3.20.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:daa564862dd0d39c00f8086f88700fdbe8bc717e993a21e90711acfed02f2402"}, + {file = "protobuf-3.20.3-cp39-cp39-win32.whl", hash = "sha256:819559cafa1a373b7096a482b504ae8a857c89593cf3a25af743ac9ecbd23480"}, + {file = "protobuf-3.20.3-cp39-cp39-win_amd64.whl", hash = "sha256:03038ac1cfbc41aa21f6afcbcd357281d7521b4157926f30ebecc8d4ea59dcb7"}, + {file = "protobuf-3.20.3-py2.py3-none-any.whl", hash = "sha256:a7ca6d488aa8ff7f329d4c545b2dbad8ac31464f1d8b1c87ad1346717731e4db"}, + {file = "protobuf-3.20.3.tar.gz", hash = "sha256:2e3427429c9cffebf259491be0af70189607f365c2f41c7c3764af6f337105f2"}, +] + +[[package]] +name = "psutil" +version = "7.0.0" +description = "Cross-platform lib for process and system monitoring in Python. NOTE: the syntax of this script MUST be kept compatible with Python 2.7." +optional = false +python-versions = ">=3.6" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "psutil-7.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:101d71dc322e3cffd7cea0650b09b3d08b8e7c4109dd6809fe452dfd00e58b25"}, + {file = "psutil-7.0.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:39db632f6bb862eeccf56660871433e111b6ea58f2caea825571951d4b6aa3da"}, + {file = "psutil-7.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fcee592b4c6f146991ca55919ea3d1f8926497a713ed7faaf8225e174581e91"}, + {file = "psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b1388a4f6875d7e2aff5c4ca1cc16c545ed41dd8bb596cefea80111db353a34"}, + {file = "psutil-7.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5f098451abc2828f7dc6b58d44b532b22f2088f4999a937557b603ce72b1993"}, + {file = "psutil-7.0.0-cp36-cp36m-win32.whl", hash = "sha256:84df4eb63e16849689f76b1ffcb36db7b8de703d1bc1fe41773db487621b6c17"}, + {file = "psutil-7.0.0-cp36-cp36m-win_amd64.whl", hash = "sha256:1e744154a6580bc968a0195fd25e80432d3afec619daf145b9e5ba16cc1d688e"}, + {file = "psutil-7.0.0-cp37-abi3-win32.whl", hash = "sha256:ba3fcef7523064a6c9da440fc4d6bd07da93ac726b5733c29027d7dc95b39d99"}, + {file = "psutil-7.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:4cf3d4eb1aa9b348dec30105c55cd9b7d4629285735a102beb4441e38db90553"}, + {file = "psutil-7.0.0.tar.gz", hash = "sha256:7be9c3eba38beccb6495ea33afd982a44074b78f28c434a1f51cc07fd315c456"}, +] + +[package.extras] +dev = ["abi3audit", "black (==24.10.0)", "check-manifest", "coverage", "packaging", "pylint", "pyperf", "pypinfo", "pytest", "pytest-cov", "pytest-xdist", "requests", "rstcheck", "ruff", "setuptools", "sphinx", "sphinx_rtd_theme", "toml-sort", "twine", "virtualenv", "vulture", "wheel"] +test = ["pytest", "pytest-xdist", "setuptools"] + +[[package]] +name = "py-cpuinfo" +version = "9.0.0" +description = "Get CPU info with pure Python" +optional = false +python-versions = "*" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "py-cpuinfo-9.0.0.tar.gz", hash = "sha256:3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690"}, + {file = "py_cpuinfo-9.0.0-py3-none-any.whl", hash = "sha256:859625bc251f64e21f077d099d4162689c762b5d6a4c3c97553d56241c9674d5"}, +] + +[[package]] +name = "py-spy" +version = "0.4.0" +description = "Sampling profiler for Python programs" +optional = false +python-versions = "*" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "py_spy-0.4.0-py2.py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:f2cf3f7130e7d780471faa5957441d3b4e0ec39a79b2c00f4c33d494f7728428"}, + {file = "py_spy-0.4.0-py2.py3-none-macosx_11_0_arm64.whl", hash = "sha256:47cdda4c34d9b6cb01f3aaeceb2e88faf57da880207fe72ff6ff97e9bb6cc8a9"}, + {file = "py_spy-0.4.0-py2.py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eee3d0bde85ca5cf4f01f012d461180ca76c24835a96f7b5c4ded64eb6a008ab"}, + {file = "py_spy-0.4.0-py2.py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c5f06ffce4c9c98b7fc9f5e67e5e7db591173f1351837633f3f23d9378b1d18a"}, + {file = "py_spy-0.4.0-py2.py3-none-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:87573e64dbfdfc89ba2e0f5e2f525aa84e0299c7eb6454b47ea335fde583a7a0"}, + {file = "py_spy-0.4.0-py2.py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:8bf2f3702cef367a489faa45177b41a6c31b2a3e5bd78c978d44e29340152f5a"}, + {file = "py_spy-0.4.0-py2.py3-none-win_amd64.whl", hash = "sha256:77d8f637ade38367d944874776f45b703b7ac5938b1f7be8891f3a5876ddbb96"}, + {file = "py_spy-0.4.0.tar.gz", hash = "sha256:806602ce7972782cc9c1e383f339bfc27bfb822d42485e6a3e0530ae5040e1f0"}, +] + +[[package]] +name = "pyarrow" +version = "19.0.1" +description = "Python library for Apache Arrow" +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "pyarrow-19.0.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:fc28912a2dc924dddc2087679cc8b7263accc71b9ff025a1362b004711661a69"}, + {file = "pyarrow-19.0.1-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:fca15aabbe9b8355800d923cc2e82c8ef514af321e18b437c3d782aa884eaeec"}, + {file = "pyarrow-19.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad76aef7f5f7e4a757fddcdcf010a8290958f09e3470ea458c80d26f4316ae89"}, + {file = "pyarrow-19.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d03c9d6f2a3dffbd62671ca070f13fc527bb1867b4ec2b98c7eeed381d4f389a"}, + {file = "pyarrow-19.0.1-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:65cf9feebab489b19cdfcfe4aa82f62147218558d8d3f0fc1e9dea0ab8e7905a"}, + {file = "pyarrow-19.0.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:41f9706fbe505e0abc10e84bf3a906a1338905cbbcf1177b71486b03e6ea6608"}, + {file = "pyarrow-19.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:c6cb2335a411b713fdf1e82a752162f72d4a7b5dbc588e32aa18383318b05866"}, + {file = "pyarrow-19.0.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:cc55d71898ea30dc95900297d191377caba257612f384207fe9f8293b5850f90"}, + {file = "pyarrow-19.0.1-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:7a544ec12de66769612b2d6988c36adc96fb9767ecc8ee0a4d270b10b1c51e00"}, + {file = "pyarrow-19.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0148bb4fc158bfbc3d6dfe5001d93ebeed253793fff4435167f6ce1dc4bddeae"}, + {file = "pyarrow-19.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f24faab6ed18f216a37870d8c5623f9c044566d75ec586ef884e13a02a9d62c5"}, + {file = "pyarrow-19.0.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:4982f8e2b7afd6dae8608d70ba5bd91699077323f812a0448d8b7abdff6cb5d3"}, + {file = "pyarrow-19.0.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:49a3aecb62c1be1d822f8bf629226d4a96418228a42f5b40835c1f10d42e4db6"}, + {file = "pyarrow-19.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:008a4009efdb4ea3d2e18f05cd31f9d43c388aad29c636112c2966605ba33466"}, + {file = "pyarrow-19.0.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:80b2ad2b193e7d19e81008a96e313fbd53157945c7be9ac65f44f8937a55427b"}, + {file = "pyarrow-19.0.1-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:ee8dec072569f43835932a3b10c55973593abc00936c202707a4ad06af7cb294"}, + {file = "pyarrow-19.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d5d1ec7ec5324b98887bdc006f4d2ce534e10e60f7ad995e7875ffa0ff9cb14"}, + {file = "pyarrow-19.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3ad4c0eb4e2a9aeb990af6c09e6fa0b195c8c0e7b272ecc8d4d2b6574809d34"}, + {file = "pyarrow-19.0.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:d383591f3dcbe545f6cc62daaef9c7cdfe0dff0fb9e1c8121101cabe9098cfa6"}, + {file = "pyarrow-19.0.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:b4c4156a625f1e35d6c0b2132635a237708944eb41df5fbe7d50f20d20c17832"}, + {file = "pyarrow-19.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:5bd1618ae5e5476b7654c7b55a6364ae87686d4724538c24185bbb2952679960"}, + {file = "pyarrow-19.0.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:e45274b20e524ae5c39d7fc1ca2aa923aab494776d2d4b316b49ec7572ca324c"}, + {file = "pyarrow-19.0.1-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:d9dedeaf19097a143ed6da37f04f4051aba353c95ef507764d344229b2b740ae"}, + {file = "pyarrow-19.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ebfb5171bb5f4a52319344ebbbecc731af3f021e49318c74f33d520d31ae0c4"}, + {file = "pyarrow-19.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a21d39fbdb948857f67eacb5bbaaf36802de044ec36fbef7a1c8f0dd3a4ab2"}, + {file = "pyarrow-19.0.1-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:99bc1bec6d234359743b01e70d4310d0ab240c3d6b0da7e2a93663b0158616f6"}, + {file = "pyarrow-19.0.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:1b93ef2c93e77c442c979b0d596af45e4665d8b96da598db145b0fec014b9136"}, + {file = "pyarrow-19.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:d9d46e06846a41ba906ab25302cf0fd522f81aa2a85a71021826f34639ad31ef"}, + {file = "pyarrow-19.0.1-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:c0fe3dbbf054a00d1f162fda94ce236a899ca01123a798c561ba307ca38af5f0"}, + {file = "pyarrow-19.0.1-cp313-cp313t-macosx_12_0_x86_64.whl", hash = "sha256:96606c3ba57944d128e8a8399da4812f56c7f61de8c647e3470b417f795d0ef9"}, + {file = "pyarrow-19.0.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f04d49a6b64cf24719c080b3c2029a3a5b16417fd5fd7c4041f94233af732f3"}, + {file = "pyarrow-19.0.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a9137cf7e1640dce4c190551ee69d478f7121b5c6f323553b319cac936395f6"}, + {file = "pyarrow-19.0.1-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:7c1bca1897c28013db5e4c83944a2ab53231f541b9e0c3f4791206d0c0de389a"}, + {file = "pyarrow-19.0.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:58d9397b2e273ef76264b45531e9d552d8ec8a6688b7390b5be44c02a37aade8"}, + {file = "pyarrow-19.0.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:b9766a47a9cb56fefe95cb27f535038b5a195707a08bf61b180e642324963b46"}, + {file = "pyarrow-19.0.1-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:6c5941c1aac89a6c2f2b16cd64fe76bcdb94b2b1e99ca6459de4e6f07638d755"}, + {file = "pyarrow-19.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fd44d66093a239358d07c42a91eebf5015aa54fccba959db899f932218ac9cc8"}, + {file = "pyarrow-19.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:335d170e050bcc7da867a1ed8ffb8b44c57aaa6e0843b156a501298657b1e972"}, + {file = "pyarrow-19.0.1-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:1c7556165bd38cf0cd992df2636f8bcdd2d4b26916c6b7e646101aff3c16f76f"}, + {file = "pyarrow-19.0.1-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:699799f9c80bebcf1da0983ba86d7f289c5a2a5c04b945e2f2bcf7e874a91911"}, + {file = "pyarrow-19.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:8464c9fbe6d94a7fe1599e7e8965f350fd233532868232ab2596a71586c5a429"}, + {file = "pyarrow-19.0.1.tar.gz", hash = "sha256:3bf266b485df66a400f282ac0b6d1b500b9d2ae73314a153dbe97d6d5cc8a99e"}, +] + +[package.extras] +test = ["cffi", "hypothesis", "pandas", "pytest", "pytz"] + +[[package]] +name = "pyasn1" +version = "0.6.1" +description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "pyasn1-0.6.1-py3-none-any.whl", hash = "sha256:0d632f46f2ba09143da3a8afe9e33fb6f92fa2320ab7e886e2d0f7672af84629"}, + {file = "pyasn1-0.6.1.tar.gz", hash = "sha256:6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034"}, +] + +[[package]] +name = "pyasn1-modules" +version = "0.4.1" +description = "A collection of ASN.1-based protocols modules" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "pyasn1_modules-0.4.1-py3-none-any.whl", hash = "sha256:49bfa96b45a292b711e986f222502c1c9a5e1f4e568fc30e2574a6c7d07838fd"}, + {file = "pyasn1_modules-0.4.1.tar.gz", hash = "sha256:c28e2dbf9c06ad61c71a075c7e0f9fd0f1b0bb2d2ad4377f240d33ac2ab60a7c"}, +] + +[package.dependencies] +pyasn1 = ">=0.4.6,<0.7.0" + +[[package]] +name = "pycodestyle" +version = "2.12.1" +description = "Python style guide checker" +optional = false +python-versions = ">=3.8" +groups = ["dev"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "pycodestyle-2.12.1-py2.py3-none-any.whl", hash = "sha256:46f0fb92069a7c28ab7bb558f05bfc0110dac69a0cd23c61ea0040283a9d78b3"}, + {file = "pycodestyle-2.12.1.tar.gz", hash = "sha256:6838eae08bbce4f6accd5d5572075c63626a15ee3e6f842df996bf62f6d73521"}, +] + +[[package]] +name = "pycountry" +version = "24.6.1" +description = "ISO country, subdivision, language, currency and script definitions and their translations" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "pycountry-24.6.1-py3-none-any.whl", hash = "sha256:f1a4fb391cd7214f8eefd39556d740adcc233c778a27f8942c8dca351d6ce06f"}, + {file = "pycountry-24.6.1.tar.gz", hash = "sha256:b61b3faccea67f87d10c1f2b0fc0be714409e8fcdcc1315613174f6466c10221"}, +] + +[[package]] +name = "pycparser" +version = "2.22" +description = "C parser in Python" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\" and implementation_name == \"pypy\"" +files = [ + {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, + {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, +] + +[[package]] +name = "pydantic" +version = "2.10.6" +description = "Data validation using Python type hints" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "pydantic-2.10.6-py3-none-any.whl", hash = "sha256:427d664bf0b8a2b34ff5dd0f5a18df00591adcee7198fbd71981054cef37b584"}, + {file = "pydantic-2.10.6.tar.gz", hash = "sha256:ca5daa827cce33de7a42be142548b0096bf05a7e7b365aebfa5f8eeec7128236"}, +] + +[package.dependencies] +annotated-types = ">=0.6.0" +pydantic-core = "2.27.2" +typing-extensions = ">=4.12.2" + +[package.extras] +email = ["email-validator (>=2.0.0)"] +timezone = ["tzdata"] + +[[package]] +name = "pydantic-core" +version = "2.27.2" +description = "Core functionality for Pydantic validation and serialization" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "pydantic_core-2.27.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2d367ca20b2f14095a8f4fa1210f5a7b78b8a20009ecced6b12818f455b1e9fa"}, + {file = "pydantic_core-2.27.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:491a2b73db93fab69731eaee494f320faa4e093dbed776be1a829c2eb222c34c"}, + {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7969e133a6f183be60e9f6f56bfae753585680f3b7307a8e555a948d443cc05a"}, + {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3de9961f2a346257caf0aa508a4da705467f53778e9ef6fe744c038119737ef5"}, + {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e2bb4d3e5873c37bb3dd58714d4cd0b0e6238cebc4177ac8fe878f8b3aa8e74c"}, + {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:280d219beebb0752699480fe8f1dc61ab6615c2046d76b7ab7ee38858de0a4e7"}, + {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47956ae78b6422cbd46f772f1746799cbb862de838fd8d1fbd34a82e05b0983a"}, + {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:14d4a5c49d2f009d62a2a7140d3064f686d17a5d1a268bc641954ba181880236"}, + {file = "pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:337b443af21d488716f8d0b6164de833e788aa6bd7e3a39c005febc1284f4962"}, + {file = "pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:03d0f86ea3184a12f41a2d23f7ccb79cdb5a18e06993f8a45baa8dfec746f0e9"}, + {file = "pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7041c36f5680c6e0f08d922aed302e98b3745d97fe1589db0a3eebf6624523af"}, + {file = "pydantic_core-2.27.2-cp310-cp310-win32.whl", hash = "sha256:50a68f3e3819077be2c98110c1f9dcb3817e93f267ba80a2c05bb4f8799e2ff4"}, + {file = "pydantic_core-2.27.2-cp310-cp310-win_amd64.whl", hash = "sha256:e0fd26b16394ead34a424eecf8a31a1f5137094cabe84a1bcb10fa6ba39d3d31"}, + {file = "pydantic_core-2.27.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:8e10c99ef58cfdf2a66fc15d66b16c4a04f62bca39db589ae8cba08bc55331bc"}, + {file = "pydantic_core-2.27.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:26f32e0adf166a84d0cb63be85c562ca8a6fa8de28e5f0d92250c6b7e9e2aff7"}, + {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c19d1ea0673cd13cc2f872f6c9ab42acc4e4f492a7ca9d3795ce2b112dd7e15"}, + {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5e68c4446fe0810e959cdff46ab0a41ce2f2c86d227d96dc3847af0ba7def306"}, + {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9640b0059ff4f14d1f37321b94061c6db164fbe49b334b31643e0528d100d99"}, + {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:40d02e7d45c9f8af700f3452f329ead92da4c5f4317ca9b896de7ce7199ea459"}, + {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c1fd185014191700554795c99b347d64f2bb637966c4cfc16998a0ca700d048"}, + {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d81d2068e1c1228a565af076598f9e7451712700b673de8f502f0334f281387d"}, + {file = "pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1a4207639fb02ec2dbb76227d7c751a20b1a6b4bc52850568e52260cae64ca3b"}, + {file = "pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:3de3ce3c9ddc8bbd88f6e0e304dea0e66d843ec9de1b0042b0911c1663ffd474"}, + {file = "pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:30c5f68ded0c36466acede341551106821043e9afaad516adfb6e8fa80a4e6a6"}, + {file = "pydantic_core-2.27.2-cp311-cp311-win32.whl", hash = "sha256:c70c26d2c99f78b125a3459f8afe1aed4d9687c24fd677c6a4436bc042e50d6c"}, + {file = "pydantic_core-2.27.2-cp311-cp311-win_amd64.whl", hash = "sha256:08e125dbdc505fa69ca7d9c499639ab6407cfa909214d500897d02afb816e7cc"}, + {file = "pydantic_core-2.27.2-cp311-cp311-win_arm64.whl", hash = "sha256:26f0d68d4b235a2bae0c3fc585c585b4ecc51382db0e3ba402a22cbc440915e4"}, + {file = "pydantic_core-2.27.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9e0c8cfefa0ef83b4da9588448b6d8d2a2bf1a53c3f1ae5fca39eb3061e2f0b0"}, + {file = "pydantic_core-2.27.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:83097677b8e3bd7eaa6775720ec8e0405f1575015a463285a92bfdfe254529ef"}, + {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:172fce187655fece0c90d90a678424b013f8fbb0ca8b036ac266749c09438cb7"}, + {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:519f29f5213271eeeeb3093f662ba2fd512b91c5f188f3bb7b27bc5973816934"}, + {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05e3a55d124407fffba0dd6b0c0cd056d10e983ceb4e5dbd10dda135c31071d6"}, + {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9c3ed807c7b91de05e63930188f19e921d1fe90de6b4f5cd43ee7fcc3525cb8c"}, + {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fb4aadc0b9a0c063206846d603b92030eb6f03069151a625667f982887153e2"}, + {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:28ccb213807e037460326424ceb8b5245acb88f32f3d2777427476e1b32c48c4"}, + {file = "pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:de3cd1899e2c279b140adde9357c4495ed9d47131b4a4eaff9052f23398076b3"}, + {file = "pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:220f892729375e2d736b97d0e51466252ad84c51857d4d15f5e9692f9ef12be4"}, + {file = "pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a0fcd29cd6b4e74fe8ddd2c90330fd8edf2e30cb52acda47f06dd615ae72da57"}, + {file = "pydantic_core-2.27.2-cp312-cp312-win32.whl", hash = "sha256:1e2cb691ed9834cd6a8be61228471d0a503731abfb42f82458ff27be7b2186fc"}, + {file = "pydantic_core-2.27.2-cp312-cp312-win_amd64.whl", hash = "sha256:cc3f1a99a4f4f9dd1de4fe0312c114e740b5ddead65bb4102884b384c15d8bc9"}, + {file = "pydantic_core-2.27.2-cp312-cp312-win_arm64.whl", hash = "sha256:3911ac9284cd8a1792d3cb26a2da18f3ca26c6908cc434a18f730dc0db7bfa3b"}, + {file = "pydantic_core-2.27.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:7d14bd329640e63852364c306f4d23eb744e0f8193148d4044dd3dacdaacbd8b"}, + {file = "pydantic_core-2.27.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:82f91663004eb8ed30ff478d77c4d1179b3563df6cdb15c0817cd1cdaf34d154"}, + {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71b24c7d61131bb83df10cc7e687433609963a944ccf45190cfc21e0887b08c9"}, + {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fa8e459d4954f608fa26116118bb67f56b93b209c39b008277ace29937453dc9"}, + {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce8918cbebc8da707ba805b7fd0b382816858728ae7fe19a942080c24e5b7cd1"}, + {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eda3f5c2a021bbc5d976107bb302e0131351c2ba54343f8a496dc8783d3d3a6a"}, + {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd8086fa684c4775c27f03f062cbb9eaa6e17f064307e86b21b9e0abc9c0f02e"}, + {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8d9b3388db186ba0c099a6d20f0604a44eabdeef1777ddd94786cdae158729e4"}, + {file = "pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7a66efda2387de898c8f38c0cf7f14fca0b51a8ef0b24bfea5849f1b3c95af27"}, + {file = "pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:18a101c168e4e092ab40dbc2503bdc0f62010e95d292b27827871dc85450d7ee"}, + {file = "pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ba5dd002f88b78a4215ed2f8ddbdf85e8513382820ba15ad5ad8955ce0ca19a1"}, + {file = "pydantic_core-2.27.2-cp313-cp313-win32.whl", hash = "sha256:1ebaf1d0481914d004a573394f4be3a7616334be70261007e47c2a6fe7e50130"}, + {file = "pydantic_core-2.27.2-cp313-cp313-win_amd64.whl", hash = "sha256:953101387ecf2f5652883208769a79e48db18c6df442568a0b5ccd8c2723abee"}, + {file = "pydantic_core-2.27.2-cp313-cp313-win_arm64.whl", hash = "sha256:ac4dbfd1691affb8f48c2c13241a2e3b60ff23247cbcf981759c768b6633cf8b"}, + {file = "pydantic_core-2.27.2-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d3e8d504bdd3f10835468f29008d72fc8359d95c9c415ce6e767203db6127506"}, + {file = "pydantic_core-2.27.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:521eb9b7f036c9b6187f0b47318ab0d7ca14bd87f776240b90b21c1f4f149320"}, + {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85210c4d99a0114f5a9481b44560d7d1e35e32cc5634c656bc48e590b669b145"}, + {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d716e2e30c6f140d7560ef1538953a5cd1a87264c737643d481f2779fc247fe1"}, + {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f66d89ba397d92f840f8654756196d93804278457b5fbede59598a1f9f90b228"}, + {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:669e193c1c576a58f132e3158f9dfa9662969edb1a250c54d8fa52590045f046"}, + {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdbe7629b996647b99c01b37f11170a57ae675375b14b8c13b8518b8320ced5"}, + {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d262606bf386a5ba0b0af3b97f37c83d7011439e3dc1a9298f21efb292e42f1a"}, + {file = "pydantic_core-2.27.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:cabb9bcb7e0d97f74df8646f34fc76fbf793b7f6dc2438517d7a9e50eee4f14d"}, + {file = "pydantic_core-2.27.2-cp38-cp38-musllinux_1_1_armv7l.whl", hash = "sha256:d2d63f1215638d28221f664596b1ccb3944f6e25dd18cd3b86b0a4c408d5ebb9"}, + {file = "pydantic_core-2.27.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:bca101c00bff0adb45a833f8451b9105d9df18accb8743b08107d7ada14bd7da"}, + {file = "pydantic_core-2.27.2-cp38-cp38-win32.whl", hash = "sha256:f6f8e111843bbb0dee4cb6594cdc73e79b3329b526037ec242a3e49012495b3b"}, + {file = "pydantic_core-2.27.2-cp38-cp38-win_amd64.whl", hash = "sha256:fd1aea04935a508f62e0d0ef1f5ae968774a32afc306fb8545e06f5ff5cdf3ad"}, + {file = "pydantic_core-2.27.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:c10eb4f1659290b523af58fa7cffb452a61ad6ae5613404519aee4bfbf1df993"}, + {file = "pydantic_core-2.27.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ef592d4bad47296fb11f96cd7dc898b92e795032b4894dfb4076cfccd43a9308"}, + {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c61709a844acc6bf0b7dce7daae75195a10aac96a596ea1b776996414791ede4"}, + {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42c5f762659e47fdb7b16956c71598292f60a03aa92f8b6351504359dbdba6cf"}, + {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c9775e339e42e79ec99c441d9730fccf07414af63eac2f0e48e08fd38a64d76"}, + {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:57762139821c31847cfb2df63c12f725788bd9f04bc2fb392790959b8f70f118"}, + {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0d1e85068e818c73e048fe28cfc769040bb1f475524f4745a5dc621f75ac7630"}, + {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:097830ed52fd9e427942ff3b9bc17fab52913b2f50f2880dc4a5611446606a54"}, + {file = "pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:044a50963a614ecfae59bb1eaf7ea7efc4bc62f49ed594e18fa1e5d953c40e9f"}, + {file = "pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:4e0b4220ba5b40d727c7f879eac379b822eee5d8fff418e9d3381ee45b3b0362"}, + {file = "pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5e4f4bb20d75e9325cc9696c6802657b58bc1dbbe3022f32cc2b2b632c3fbb96"}, + {file = "pydantic_core-2.27.2-cp39-cp39-win32.whl", hash = "sha256:cca63613e90d001b9f2f9a9ceb276c308bfa2a43fafb75c8031c4f66039e8c6e"}, + {file = "pydantic_core-2.27.2-cp39-cp39-win_amd64.whl", hash = "sha256:77d1bca19b0f7021b3a982e6f903dcd5b2b06076def36a652e3907f596e29f67"}, + {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2bf14caea37e91198329b828eae1618c068dfb8ef17bb33287a7ad4b61ac314e"}, + {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:b0cb791f5b45307caae8810c2023a184c74605ec3bcbb67d13846c28ff731ff8"}, + {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:688d3fd9fcb71f41c4c015c023d12a79d1c4c0732ec9eb35d96e3388a120dcf3"}, + {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d591580c34f4d731592f0e9fe40f9cc1b430d297eecc70b962e93c5c668f15f"}, + {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:82f986faf4e644ffc189a7f1aafc86e46ef70372bb153e7001e8afccc6e54133"}, + {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:bec317a27290e2537f922639cafd54990551725fc844249e64c523301d0822fc"}, + {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:0296abcb83a797db256b773f45773da397da75a08f5fcaef41f2044adec05f50"}, + {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:0d75070718e369e452075a6017fbf187f788e17ed67a3abd47fa934d001863d9"}, + {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7e17b560be3c98a8e3aa66ce828bdebb9e9ac6ad5466fba92eb74c4c95cb1151"}, + {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c33939a82924da9ed65dab5a65d427205a73181d8098e79b6b426bdf8ad4e656"}, + {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:00bad2484fa6bda1e216e7345a798bd37c68fb2d97558edd584942aa41b7d278"}, + {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c817e2b40aba42bac6f457498dacabc568c3b7a986fc9ba7c8d9d260b71485fb"}, + {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:251136cdad0cb722e93732cb45ca5299fb56e1344a833640bf93b2803f8d1bfd"}, + {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d2088237af596f0a524d3afc39ab3b036e8adb054ee57cbb1dcf8e09da5b29cc"}, + {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d4041c0b966a84b4ae7a09832eb691a35aec90910cd2dbe7a208de59be77965b"}, + {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:8083d4e875ebe0b864ffef72a4304827015cff328a1be6e22cc850753bfb122b"}, + {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f141ee28a0ad2123b6611b6ceff018039df17f32ada8b534e6aa039545a3efb2"}, + {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7d0c8399fcc1848491f00e0314bd59fb34a9c008761bcb422a057670c3f65e35"}, + {file = "pydantic_core-2.27.2.tar.gz", hash = "sha256:eb026e5a4c1fee05726072337ff51d1efb6f59090b7da90d30ea58625b1ffb39"}, +] + +[package.dependencies] +typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0" + +[[package]] +name = "pyflakes" +version = "3.2.0" +description = "passive checker of Python programs" +optional = false +python-versions = ">=3.8" +groups = ["dev"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "pyflakes-3.2.0-py2.py3-none-any.whl", hash = "sha256:84b5be138a2dfbb40689ca07e2152deb896a65c3a3e24c251c5c62489568074a"}, + {file = "pyflakes-3.2.0.tar.gz", hash = "sha256:1c61603ff154621fb2a9172037d84dca3500def8c8b630657d1701f026f8af3f"}, +] + +[[package]] +name = "pygments" +version = "2.19.1" +description = "Pygments is a syntax highlighting package written in Python." +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c"}, + {file = "pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f"}, +] + +[package.extras] +windows-terminal = ["colorama (>=0.4.6)"] + +[[package]] +name = "pytablewriter" +version = "1.2.1" +description = "pytablewriter is a Python library to write a table in various formats: AsciiDoc / CSV / Elasticsearch / HTML / JavaScript / JSON / LaTeX / LDJSON / LTSV / Markdown / MediaWiki / NumPy / Excel / Pandas / Python / reStructuredText / SQLite / TOML / TSV / YAML." +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "pytablewriter-1.2.1-py3-none-any.whl", hash = "sha256:e906ff7ff5151d70a5f66e0f7b75642a7f2dce8d893c265b79cc9cf6bc04ddb4"}, + {file = "pytablewriter-1.2.1.tar.gz", hash = "sha256:7bd0f4f397e070e3b8a34edcf1b9257ccbb18305493d8350a5dbc9957fced959"}, +] + +[package.dependencies] +DataProperty = ">=1.1.0,<2" +mbstrdecoder = ">=1.0.0,<2" +pathvalidate = ">=2.3.0,<4" +setuptools = ">=38.3.0" +tabledata = ">=1.3.1,<2" +tcolorpy = ">=0.0.5,<1" +typepy = {version = ">=1.3.2,<2", extras = ["datetime"]} + +[package.extras] +all = ["PyYAML (>=3.11,<7)", "SimpleSQLite (>=1.3.2,<2)", "XlsxWriter (>=0.9.6,<4)", "dominate (>=2.1.5,<3)", "elasticsearch (>=8.0.1,<9)", "loguru (>=0.4.1,<1)", "pandas (>=0.25.3,<3)", "pytablereader (>=0.31.3,<2)", "pytablewriter-altcol-theme (>=0.1.0,<1)", "pytablewriter-altrow-theme (>=0.2.0,<1)", "simplejson (>=3.8.1,<4)", "toml (>=0.9.3,<1)", "xlwt"] +docs = ["PyYAML (>=3.11,<7)", "SimpleSQLite (>=1.3.2,<2)", "Sphinx (>=2.4)", "XlsxWriter (>=0.9.6,<4)", "dominate (>=2.1.5,<3)", "elasticsearch (>=8.0.1,<9)", "loguru (>=0.4.1,<1)", "pandas (>=0.25.3,<3)", "pytablereader (>=0.31.3,<2)", "pytablewriter-altcol-theme (>=0.1.0,<1)", "pytablewriter-altrow-theme (>=0.2.0,<1)", "simplejson (>=3.8.1,<4)", "sphinx_rtd_theme (>=1.2.2)", "toml (>=0.9.3,<1)", "xlwt"] +es = ["elasticsearch (>=8.0.1,<9)"] +es8 = ["elasticsearch (>=8.0.1,<9)"] +excel = ["XlsxWriter (>=0.9.6,<4)", "xlwt"] +from = ["pytablereader (>=0.31.3,<2)"] +html = ["dominate (>=2.1.5,<3)"] +logging = ["loguru (>=0.4.1,<1)"] +pandas = ["pandas (>=0.25.3,<3)"] +sqlite = ["SimpleSQLite (>=1.3.2,<2)"] +test = ["PyYAML (>=3.11,<7)", "SimpleSQLite (>=1.3.2,<2)", "XlsxWriter (>=0.9.6,<4)", "beautifulsoup4 (>=4.10)", "dominate (>=2.1.5,<3)", "elasticsearch (>=8.0.1,<9)", "loguru (>=0.4.1,<1)", "pandas (>=0.25.3,<3)", "pytablereader (>=0.31.3,<2)", "pytablereader[excel,sqlite] (>=0.31.3)", "pytablewriter-altcol-theme (>=0.1.0,<1)", "pytablewriter-altrow-theme (>=0.2.0,<1)", "pytest (>=6.0.1)", "pytest-md-report (>=0.6.2)", "simplejson (>=3.8.1,<4)", "sqliteschema (>=2)", "tablib (>=3.2.0)", "toml (>=0.9.3,<1)", "xlwt"] +theme = ["pytablewriter-altcol-theme (>=0.1.0,<1)", "pytablewriter-altrow-theme (>=0.2.0,<1)"] +toml = ["toml (>=0.9.3,<1)"] +yaml = ["PyYAML (>=3.11,<7)"] + +[[package]] +name = "pytest" +version = "8.3.5" +description = "pytest: simple powerful testing with Python" +optional = false +python-versions = ">=3.8" +groups = ["test"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "pytest-8.3.5-py3-none-any.whl", hash = "sha256:c69214aa47deac29fad6c2a4f590b9c4a9fdb16a403176fe154b79c0b4d4d820"}, + {file = "pytest-8.3.5.tar.gz", hash = "sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "sys_platform == \"win32\""} +exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} +iniconfig = "*" +packaging = "*" +pluggy = ">=1.5,<2" +tomli = {version = ">=1", markers = "python_version < \"3.11\""} + +[package.extras] +dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] + +[[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" +groups = ["main"] +markers = "python_version <= \"3.11\"" +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-dotenv" +version = "1.0.1" +description = "Read key-value pairs from a .env file and set them as environment variables" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca"}, + {file = "python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a"}, +] + +[package.extras] +cli = ["click (>=5.0)"] + +[[package]] +name = "pytz" +version = "2025.1" +description = "World timezone definitions, modern and historical" +optional = false +python-versions = "*" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "pytz-2025.1-py2.py3-none-any.whl", hash = "sha256:89dd22dca55b46eac6eda23b2d72721bf1bdfef212645d81513ef5d03038de57"}, + {file = "pytz-2025.1.tar.gz", hash = "sha256:c2db42be2a2518b28e65f9207c4d05e6ff547d1efa4086469ef855e4ab70178e"}, +] + +[[package]] +name = "pywin32" +version = "309" +description = "Python for Window Extensions" +optional = false +python-versions = "*" +groups = ["main"] +markers = "python_version <= \"3.11\" and platform_system == \"Windows\"" +files = [ + {file = "pywin32-309-cp310-cp310-win32.whl", hash = "sha256:5b78d98550ca093a6fe7ab6d71733fbc886e2af9d4876d935e7f6e1cd6577ac9"}, + {file = "pywin32-309-cp310-cp310-win_amd64.whl", hash = "sha256:728d08046f3d65b90d4c77f71b6fbb551699e2005cc31bbffd1febd6a08aa698"}, + {file = "pywin32-309-cp310-cp310-win_arm64.whl", hash = "sha256:c667bcc0a1e6acaca8984eb3e2b6e42696fc035015f99ff8bc6c3db4c09a466a"}, + {file = "pywin32-309-cp311-cp311-win32.whl", hash = "sha256:d5df6faa32b868baf9ade7c9b25337fa5eced28eb1ab89082c8dae9c48e4cd51"}, + {file = "pywin32-309-cp311-cp311-win_amd64.whl", hash = "sha256:e7ec2cef6df0926f8a89fd64959eba591a1eeaf0258082065f7bdbe2121228db"}, + {file = "pywin32-309-cp311-cp311-win_arm64.whl", hash = "sha256:54ee296f6d11db1627216e9b4d4c3231856ed2d9f194c82f26c6cb5650163f4c"}, + {file = "pywin32-309-cp312-cp312-win32.whl", hash = "sha256:de9acacced5fa82f557298b1fed5fef7bd49beee04190f68e1e4783fbdc19926"}, + {file = "pywin32-309-cp312-cp312-win_amd64.whl", hash = "sha256:6ff9eebb77ffc3d59812c68db33c0a7817e1337e3537859499bd27586330fc9e"}, + {file = "pywin32-309-cp312-cp312-win_arm64.whl", hash = "sha256:619f3e0a327b5418d833f44dc87859523635cf339f86071cc65a13c07be3110f"}, + {file = "pywin32-309-cp313-cp313-win32.whl", hash = "sha256:008bffd4afd6de8ca46c6486085414cc898263a21a63c7f860d54c9d02b45c8d"}, + {file = "pywin32-309-cp313-cp313-win_amd64.whl", hash = "sha256:bd0724f58492db4cbfbeb1fcd606495205aa119370c0ddc4f70e5771a3ab768d"}, + {file = "pywin32-309-cp313-cp313-win_arm64.whl", hash = "sha256:8fd9669cfd41863b688a1bc9b1d4d2d76fd4ba2128be50a70b0ea66b8d37953b"}, + {file = "pywin32-309-cp38-cp38-win32.whl", hash = "sha256:617b837dc5d9dfa7e156dbfa7d3906c009a2881849a80a9ae7519f3dd8c6cb86"}, + {file = "pywin32-309-cp38-cp38-win_amd64.whl", hash = "sha256:0be3071f555480fbfd86a816a1a773880ee655bf186aa2931860dbb44e8424f8"}, + {file = "pywin32-309-cp39-cp39-win32.whl", hash = "sha256:72ae9ae3a7a6473223589a1621f9001fe802d59ed227fd6a8503c9af67c1d5f4"}, + {file = "pywin32-309-cp39-cp39-win_amd64.whl", hash = "sha256:88bc06d6a9feac70783de64089324568ecbc65866e2ab318eab35da3811fd7ef"}, +] + +[[package]] +name = "pyyaml" +version = "6.0.2" +description = "YAML parser and emitter for Python" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +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.1" +description = "Python bindings for 0MQ" +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "pyzmq-26.2.1-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:f39d1227e8256d19899d953e6e19ed2ccb689102e6d85e024da5acf410f301eb"}, + {file = "pyzmq-26.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a23948554c692df95daed595fdd3b76b420a4939d7a8a28d6d7dea9711878641"}, + {file = "pyzmq-26.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95f5728b367a042df146cec4340d75359ec6237beebf4a8f5cf74657c65b9257"}, + {file = "pyzmq-26.2.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:95f7b01b3f275504011cf4cf21c6b885c8d627ce0867a7e83af1382ebab7b3ff"}, + {file = "pyzmq-26.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80a00370a2ef2159c310e662c7c0f2d030f437f35f478bb8b2f70abd07e26b24"}, + {file = "pyzmq-26.2.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:8531ed35dfd1dd2af95f5d02afd6545e8650eedbf8c3d244a554cf47d8924459"}, + {file = "pyzmq-26.2.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:cdb69710e462a38e6039cf17259d328f86383a06c20482cc154327968712273c"}, + {file = "pyzmq-26.2.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e7eeaef81530d0b74ad0d29eec9997f1c9230c2f27242b8d17e0ee67662c8f6e"}, + {file = "pyzmq-26.2.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:361edfa350e3be1f987e592e834594422338d7174364763b7d3de5b0995b16f3"}, + {file = "pyzmq-26.2.1-cp310-cp310-win32.whl", hash = "sha256:637536c07d2fb6a354988b2dd1d00d02eb5dd443f4bbee021ba30881af1c28aa"}, + {file = "pyzmq-26.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:45fad32448fd214fbe60030aa92f97e64a7140b624290834cc9b27b3a11f9473"}, + {file = "pyzmq-26.2.1-cp310-cp310-win_arm64.whl", hash = "sha256:d9da0289d8201c8a29fd158aaa0dfe2f2e14a181fd45e2dc1fbf969a62c1d594"}, + {file = "pyzmq-26.2.1-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:c059883840e634a21c5b31d9b9a0e2b48f991b94d60a811092bc37992715146a"}, + {file = "pyzmq-26.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ed038a921df836d2f538e509a59cb638df3e70ca0fcd70d0bf389dfcdf784d2a"}, + {file = "pyzmq-26.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9027a7fcf690f1a3635dc9e55e38a0d6602dbbc0548935d08d46d2e7ec91f454"}, + {file = "pyzmq-26.2.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6d75fcb00a1537f8b0c0bb05322bc7e35966148ffc3e0362f0369e44a4a1de99"}, + {file = "pyzmq-26.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0019cc804ac667fb8c8eaecdb66e6d4a68acf2e155d5c7d6381a5645bd93ae4"}, + {file = "pyzmq-26.2.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:f19dae58b616ac56b96f2e2290f2d18730a898a171f447f491cc059b073ca1fa"}, + {file = "pyzmq-26.2.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f5eeeb82feec1fc5cbafa5ee9022e87ffdb3a8c48afa035b356fcd20fc7f533f"}, + {file = "pyzmq-26.2.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:000760e374d6f9d1a3478a42ed0c98604de68c9e94507e5452951e598ebecfba"}, + {file = "pyzmq-26.2.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:817fcd3344d2a0b28622722b98500ae9c8bfee0f825b8450932ff19c0b15bebd"}, + {file = "pyzmq-26.2.1-cp311-cp311-win32.whl", hash = "sha256:88812b3b257f80444a986b3596e5ea5c4d4ed4276d2b85c153a6fbc5ca457ae7"}, + {file = "pyzmq-26.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:ef29630fde6022471d287c15c0a2484aba188adbfb978702624ba7a54ddfa6c1"}, + {file = "pyzmq-26.2.1-cp311-cp311-win_arm64.whl", hash = "sha256:f32718ee37c07932cc336096dc7403525301fd626349b6eff8470fe0f996d8d7"}, + {file = "pyzmq-26.2.1-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:a6549ecb0041dafa55b5932dcbb6c68293e0bd5980b5b99f5ebb05f9a3b8a8f3"}, + {file = "pyzmq-26.2.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:0250c94561f388db51fd0213cdccbd0b9ef50fd3c57ce1ac937bf3034d92d72e"}, + {file = "pyzmq-26.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:36ee4297d9e4b34b5dc1dd7ab5d5ea2cbba8511517ef44104d2915a917a56dc8"}, + {file = "pyzmq-26.2.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c2a9cb17fd83b7a3a3009901aca828feaf20aa2451a8a487b035455a86549c09"}, + {file = "pyzmq-26.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:786dd8a81b969c2081b31b17b326d3a499ddd1856e06d6d79ad41011a25148da"}, + {file = "pyzmq-26.2.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:2d88ba221a07fc2c5581565f1d0fe8038c15711ae79b80d9462e080a1ac30435"}, + {file = "pyzmq-26.2.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1c84c1297ff9f1cd2440da4d57237cb74be21fdfe7d01a10810acba04e79371a"}, + {file = "pyzmq-26.2.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:46d4ebafc27081a7f73a0f151d0c38d4291656aa134344ec1f3d0199ebfbb6d4"}, + {file = "pyzmq-26.2.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:91e2bfb8e9a29f709d51b208dd5f441dc98eb412c8fe75c24ea464734ccdb48e"}, + {file = "pyzmq-26.2.1-cp312-cp312-win32.whl", hash = "sha256:4a98898fdce380c51cc3e38ebc9aa33ae1e078193f4dc641c047f88b8c690c9a"}, + {file = "pyzmq-26.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:a0741edbd0adfe5f30bba6c5223b78c131b5aa4a00a223d631e5ef36e26e6d13"}, + {file = "pyzmq-26.2.1-cp312-cp312-win_arm64.whl", hash = "sha256:e5e33b1491555843ba98d5209439500556ef55b6ab635f3a01148545498355e5"}, + {file = "pyzmq-26.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:099b56ef464bc355b14381f13355542e452619abb4c1e57a534b15a106bf8e23"}, + {file = "pyzmq-26.2.1-cp313-cp313-macosx_10_15_universal2.whl", hash = "sha256:651726f37fcbce9f8dd2a6dab0f024807929780621890a4dc0c75432636871be"}, + {file = "pyzmq-26.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:57dd4d91b38fa4348e237a9388b4423b24ce9c1695bbd4ba5a3eada491e09399"}, + {file = "pyzmq-26.2.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d51a7bfe01a48e1064131f3416a5439872c533d756396be2b39e3977b41430f9"}, + {file = "pyzmq-26.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c7154d228502e18f30f150b7ce94f0789d6b689f75261b623f0fdc1eec642aab"}, + {file = "pyzmq-26.2.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:f1f31661a80cc46aba381bed475a9135b213ba23ca7ff6797251af31510920ce"}, + {file = "pyzmq-26.2.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:290c96f479504439b6129a94cefd67a174b68ace8a8e3f551b2239a64cfa131a"}, + {file = "pyzmq-26.2.1-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:f2c307fbe86e18ab3c885b7e01de942145f539165c3360e2af0f094dd440acd9"}, + {file = "pyzmq-26.2.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:b314268e716487bfb86fcd6f84ebbe3e5bec5fac75fdf42bc7d90fdb33f618ad"}, + {file = "pyzmq-26.2.1-cp313-cp313-win32.whl", hash = "sha256:edb550616f567cd5603b53bb52a5f842c0171b78852e6fc7e392b02c2a1504bb"}, + {file = "pyzmq-26.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:100a826a029c8ef3d77a1d4c97cbd6e867057b5806a7276f2bac1179f893d3bf"}, + {file = "pyzmq-26.2.1-cp313-cp313-win_arm64.whl", hash = "sha256:6991ee6c43e0480deb1b45d0c7c2bac124a6540cba7db4c36345e8e092da47ce"}, + {file = "pyzmq-26.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:25e720dba5b3a3bb2ad0ad5d33440babd1b03438a7a5220511d0c8fa677e102e"}, + {file = "pyzmq-26.2.1-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:9ec6abfb701437142ce9544bd6a236addaf803a32628d2260eb3dbd9a60e2891"}, + {file = "pyzmq-26.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e1eb9d2bfdf5b4e21165b553a81b2c3bd5be06eeddcc4e08e9692156d21f1f6"}, + {file = "pyzmq-26.2.1-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:90dc731d8e3e91bcd456aa7407d2eba7ac6f7860e89f3766baabb521f2c1de4a"}, + {file = "pyzmq-26.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b6a93d684278ad865fc0b9e89fe33f6ea72d36da0e842143891278ff7fd89c3"}, + {file = "pyzmq-26.2.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:c1bb37849e2294d519117dd99b613c5177934e5c04a5bb05dd573fa42026567e"}, + {file = "pyzmq-26.2.1-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:632a09c6d8af17b678d84df442e9c3ad8e4949c109e48a72f805b22506c4afa7"}, + {file = "pyzmq-26.2.1-cp313-cp313t-musllinux_1_1_i686.whl", hash = "sha256:fc409c18884eaf9ddde516d53af4f2db64a8bc7d81b1a0c274b8aa4e929958e8"}, + {file = "pyzmq-26.2.1-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:17f88622b848805d3f6427ce1ad5a2aa3cf61f12a97e684dab2979802024d460"}, + {file = "pyzmq-26.2.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3ef584f13820d2629326fe20cc04069c21c5557d84c26e277cfa6235e523b10f"}, + {file = "pyzmq-26.2.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:160194d1034902937359c26ccfa4e276abffc94937e73add99d9471e9f555dd6"}, + {file = "pyzmq-26.2.1-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:574b285150afdbf0a0424dddf7ef9a0d183988eb8d22feacb7160f7515e032cb"}, + {file = "pyzmq-26.2.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44dba28c34ce527cf687156c81f82bf1e51f047838d5964f6840fd87dfecf9fe"}, + {file = "pyzmq-26.2.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:9fbdb90b85c7624c304f72ec7854659a3bd901e1c0ffb2363163779181edeb68"}, + {file = "pyzmq-26.2.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:a7ad34a2921e8f76716dc7205c9bf46a53817e22b9eec2e8a3e08ee4f4a72468"}, + {file = "pyzmq-26.2.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:866c12b7c90dd3a86983df7855c6f12f9407c8684db6aa3890fc8027462bda82"}, + {file = "pyzmq-26.2.1-cp37-cp37m-win32.whl", hash = "sha256:eeb37f65350d5c5870517f02f8bbb2ac0fbec7b416c0f4875219fef305a89a45"}, + {file = "pyzmq-26.2.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4eb3197f694dfb0ee6af29ef14a35f30ae94ff67c02076eef8125e2d98963cd0"}, + {file = "pyzmq-26.2.1-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:36d4e7307db7c847fe37413f333027d31c11d5e6b3bacbb5022661ac635942ba"}, + {file = "pyzmq-26.2.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1c6ae0e95d0a4b0cfe30f648a18e764352d5415279bdf34424decb33e79935b8"}, + {file = "pyzmq-26.2.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5b4fc44f5360784cc02392f14235049665caaf7c0fe0b04d313e763d3338e463"}, + {file = "pyzmq-26.2.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:51431f6b2750eb9b9d2b2952d3cc9b15d0215e1b8f37b7a3239744d9b487325d"}, + {file = "pyzmq-26.2.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bdbc78ae2065042de48a65f1421b8af6b76a0386bb487b41955818c3c1ce7bed"}, + {file = "pyzmq-26.2.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:d14f50d61a89b0925e4d97a0beba6053eb98c426c5815d949a43544f05a0c7ec"}, + {file = "pyzmq-26.2.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:004837cb958988c75d8042f5dac19a881f3d9b3b75b2f574055e22573745f841"}, + {file = "pyzmq-26.2.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:0b2007f28ce1b8acebdf4812c1aab997a22e57d6a73b5f318b708ef9bcabbe95"}, + {file = "pyzmq-26.2.1-cp38-cp38-win32.whl", hash = "sha256:269c14904da971cb5f013100d1aaedb27c0a246728c341d5d61ddd03f463f2f3"}, + {file = "pyzmq-26.2.1-cp38-cp38-win_amd64.whl", hash = "sha256:31fff709fef3b991cfe7189d2cfe0c413a1d0e82800a182cfa0c2e3668cd450f"}, + {file = "pyzmq-26.2.1-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:a4bffcadfd40660f26d1b3315a6029fd4f8f5bf31a74160b151f5c577b2dc81b"}, + {file = "pyzmq-26.2.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e76ad4729c2f1cf74b6eb1bdd05f6aba6175999340bd51e6caee49a435a13bf5"}, + {file = "pyzmq-26.2.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8b0f5bab40a16e708e78a0c6ee2425d27e1a5d8135c7a203b4e977cee37eb4aa"}, + {file = "pyzmq-26.2.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:e8e47050412f0ad3a9b2287779758073cbf10e460d9f345002d4779e43bb0136"}, + {file = "pyzmq-26.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f18ce33f422d119b13c1363ed4cce245b342b2c5cbbb76753eabf6aa6f69c7d"}, + {file = "pyzmq-26.2.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ceb0d78b7ef106708a7e2c2914afe68efffc0051dc6a731b0dbacd8b4aee6d68"}, + {file = "pyzmq-26.2.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ebdd96bd637fd426d60e86a29ec14b8c1ab64b8d972f6a020baf08a30d1cf46"}, + {file = "pyzmq-26.2.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:03719e424150c6395b9513f53a5faadcc1ce4b92abdf68987f55900462ac7eec"}, + {file = "pyzmq-26.2.1-cp39-cp39-win32.whl", hash = "sha256:ef5479fac31df4b304e96400fc67ff08231873ee3537544aa08c30f9d22fce38"}, + {file = "pyzmq-26.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:f92a002462154c176dac63a8f1f6582ab56eb394ef4914d65a9417f5d9fde218"}, + {file = "pyzmq-26.2.1-cp39-cp39-win_arm64.whl", hash = "sha256:1fd4b3efc6f62199886440d5e27dd3ccbcb98dfddf330e7396f1ff421bfbb3c2"}, + {file = "pyzmq-26.2.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:380816d298aed32b1a97b4973a4865ef3be402a2e760204509b52b6de79d755d"}, + {file = "pyzmq-26.2.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:97cbb368fd0debdbeb6ba5966aa28e9a1ae3396c7386d15569a6ca4be4572b99"}, + {file = "pyzmq-26.2.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abf7b5942c6b0dafcc2823ddd9154f419147e24f8df5b41ca8ea40a6db90615c"}, + {file = "pyzmq-26.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3fe6e28a8856aea808715f7a4fc11f682b9d29cac5d6262dd8fe4f98edc12d53"}, + {file = "pyzmq-26.2.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:bd8fdee945b877aa3bffc6a5a8816deb048dab0544f9df3731ecd0e54d8c84c9"}, + {file = "pyzmq-26.2.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ee7152f32c88e0e1b5b17beb9f0e2b14454235795ef68c0c120b6d3d23d12833"}, + {file = "pyzmq-26.2.1-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:baa1da72aecf6a490b51fba7a51f1ce298a1e0e86d0daef8265c8f8f9848eb77"}, + {file = "pyzmq-26.2.1-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:49135bb327fca159262d8fd14aa1f4a919fe071b04ed08db4c7c37d2f0647162"}, + {file = "pyzmq-26.2.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8bacc1a10c150d58e8a9ee2b2037a70f8d903107e0f0b6e079bf494f2d09c091"}, + {file = "pyzmq-26.2.1-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:09dac387ce62d69bec3f06d51610ca1d660e7849eb45f68e38e7f5cf1f49cbcb"}, + {file = "pyzmq-26.2.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:70b3a46ecd9296e725ccafc17d732bfc3cdab850b54bd913f843a0a54dfb2c04"}, + {file = "pyzmq-26.2.1-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:59660e15c797a3b7a571c39f8e0b62a1f385f98ae277dfe95ca7eaf05b5a0f12"}, + {file = "pyzmq-26.2.1-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:0f50db737d688e96ad2a083ad2b453e22865e7e19c7f17d17df416e91ddf67eb"}, + {file = "pyzmq-26.2.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a003200b6cd64e89b5725ff7e284a93ab24fd54bbac8b4fa46b1ed57be693c27"}, + {file = "pyzmq-26.2.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:f9ba5def063243793dec6603ad1392f735255cbc7202a3a484c14f99ec290705"}, + {file = "pyzmq-26.2.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:1238c2448c58b9c8d6565579393148414a42488a5f916b3f322742e561f6ae0d"}, + {file = "pyzmq-26.2.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8eddb3784aed95d07065bcf94d07e8c04024fdb6b2386f08c197dfe6b3528fda"}, + {file = "pyzmq-26.2.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f0f19c2097fffb1d5b07893d75c9ee693e9cbc809235cf3f2267f0ef6b015f24"}, + {file = "pyzmq-26.2.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0995fd3530f2e89d6b69a2202e340bbada3191014352af978fa795cb7a446331"}, + {file = "pyzmq-26.2.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:7c6160fe513654e65665332740f63de29ce0d165e053c0c14a161fa60dd0da01"}, + {file = "pyzmq-26.2.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:8ec8e3aea6146b761d6c57fcf8f81fcb19f187afecc19bf1701a48db9617a217"}, + {file = "pyzmq-26.2.1.tar.gz", hash = "sha256:17d72a74e5e9ff3829deb72897a175333d3ef5b5413948cae3cf7ebf0b02ecca"}, +] + +[package.dependencies] +cffi = {version = "*", markers = "implementation_name == \"pypy\""} + +[[package]] +name = "ray" +version = "2.43.0" +description = "Ray provides a simple, universal API for building distributed applications." +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "ray-2.43.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:18626fff368451a37a76b33d52a70f05b20a211eb0867d860721c8e86cb6955a"}, + {file = "ray-2.43.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b7c4fdec59a14d6b2939d91fee6efc84b614a6722c3be0b27fa371e3f563255f"}, + {file = "ray-2.43.0-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:57381c54f200e6c0203d5f70ac6f882b13cc1a80faf336518787a39a6d6f65d0"}, + {file = "ray-2.43.0-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:1872983a285a85b776bf311c809d559f8482909a2d39ead5f2ac69cfe3aa8544"}, + {file = "ray-2.43.0-cp310-cp310-win_amd64.whl", hash = "sha256:f61b9a644197f7049cb8688e2ea9db49d486f0cbef433f7a7b7349bfbf8dec19"}, + {file = "ray-2.43.0-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:fde8a81280f07af983bc3769c9941db5db273ce10e92abb3348e41bed023d735"}, + {file = "ray-2.43.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e93c32ad0cb67f1f7da76fac409d87d5cd5ea3eb03b836830e9ef5cc810bc2c0"}, + {file = "ray-2.43.0-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:476ec3e1fa2464ddd5f049c0f2758ff9dfecc21fb8df4266f1df01b2780c6653"}, + {file = "ray-2.43.0-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:78c3bdbf182b4d019fa9a8aabd55c39bf705bb630aea064f768f305fc472d1eb"}, + {file = "ray-2.43.0-cp311-cp311-win_amd64.whl", hash = "sha256:e2b0fa0272ade67bad2e83d7de996795bfb4f10f4b895476b95fbfda6d3c3ed6"}, + {file = "ray-2.43.0-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:5121fdf4bcbcb0fda3b9b71164dd6c8fcc79a2e258022a2a3957e401018913fb"}, + {file = "ray-2.43.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7f26f7b72da04c3c4422269c31b067abd15cb38424b7012d812ddfb2c77462ea"}, + {file = "ray-2.43.0-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:73770d4c8a989730985ff2b4292129249e28c1e29e84589470c9ba1ae91ca832"}, + {file = "ray-2.43.0-cp312-cp312-manylinux2014_x86_64.whl", hash = "sha256:b45f478d29ce5df3fc19861df64fef9ed5c25f1e83fa10028d33fadefdeca095"}, + {file = "ray-2.43.0-cp312-cp312-win_amd64.whl", hash = "sha256:1c3a9880112a8d561280a34e8ef9471070f81ca467e08b669e5e77a85e173c9c"}, + {file = "ray-2.43.0-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:d0e26f9db91a5b3343f0858eb256255b35c7e97fc6bf97065f5744ad7e8cc297"}, + {file = "ray-2.43.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d8cfdec2bf61c48690f6cb4325f1673e0d1d00dea925b59b631196e67f426a0e"}, + {file = "ray-2.43.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:87e0cac85189dc519af1b6ef2abd654804c488c932caadd658b90caaa65f8dae"}, + {file = "ray-2.43.0-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:5edf3da18041e0b6170c62e08480ab050f0766361ff3f6e11257cc04ab46e592"}, + {file = "ray-2.43.0-cp39-cp39-win_amd64.whl", hash = "sha256:889964d09ae048f5bf56a54d2477779f44d780b35dfadaf927da20e4703a6f67"}, +] + +[package.dependencies] +aiohttp = {version = ">=3.7", optional = true, markers = "extra == \"default\""} +aiohttp-cors = {version = "*", optional = true, markers = "extra == \"default\""} +aiosignal = "*" +click = ">=7.0" +colorful = {version = "*", optional = true, markers = "extra == \"default\""} +filelock = "*" +frozenlist = "*" +grpcio = {version = ">=1.42.0", optional = true, markers = "python_version >= \"3.10\" and extra == \"default\""} +jsonschema = "*" +msgpack = ">=1.0.0,<2.0.0" +opencensus = {version = "*", optional = true, markers = "extra == \"default\""} +packaging = "*" +prometheus-client = {version = ">=0.7.1", optional = true, markers = "extra == \"default\""} +protobuf = ">=3.15.3,<3.19.5 || >3.19.5" +py-spy = {version = ">=0.2.0", optional = true, markers = "python_version < \"3.12\" and extra == \"default\""} +pydantic = {version = "<2.0.dev0 || >=2.5.dev0,<3", optional = true, markers = "extra == \"default\""} +pyyaml = "*" +requests = "*" +smart-open = {version = "*", optional = true, markers = "extra == \"default\""} +virtualenv = {version = ">=20.0.24,<20.21.1 || >20.21.1", optional = true, markers = "extra == \"default\""} + +[package.extras] +adag = ["cupy-cuda12x"] +air = ["aiohttp (>=3.7)", "aiohttp-cors", "colorful", "fastapi", "fsspec", "grpcio (>=1.32.0)", "grpcio (>=1.42.0)", "numpy (>=1.20)", "opencensus", "pandas", "pandas (>=1.3)", "prometheus-client (>=0.7.1)", "py-spy (>=0.2.0)", "py-spy (>=0.4.0)", "pyarrow (<18)", "pyarrow (>=9.0.0)", "pydantic (<2.0.dev0 || >=2.5.dev0,<3)", "requests", "smart-open", "starlette", "tensorboardX (>=1.9)", "uvicorn[standard]", "virtualenv (>=20.0.24,!=20.21.1)", "watchfiles"] +all = ["aiohttp (>=3.7)", "aiohttp-cors", "colorful", "cupy-cuda12x", "dm-tree", "fastapi", "fsspec", "grpcio", "grpcio (!=1.56.0)", "grpcio (>=1.32.0)", "grpcio (>=1.42.0)", "gymnasium (==1.0.0)", "lz4", "memray", "numpy (>=1.20)", "opencensus", "opentelemetry-api", "opentelemetry-exporter-otlp", "opentelemetry-sdk", "ormsgpack (==1.7.0)", "pandas", "pandas (>=1.3)", "prometheus-client (>=0.7.1)", "py-spy (>=0.2.0)", "py-spy (>=0.4.0)", "pyOpenSSL", "pyarrow (<18)", "pyarrow (>=9.0.0)", "pydantic (<2.0.dev0 || >=2.5.dev0,<3)", "pyyaml", "requests", "scipy", "smart-open", "starlette", "tensorboardX (>=1.9)", "uvicorn[standard]", "virtualenv (>=20.0.24,!=20.21.1)", "watchfiles"] +all-cpp = ["aiohttp (>=3.7)", "aiohttp-cors", "colorful", "cupy-cuda12x", "dm-tree", "fastapi", "fsspec", "grpcio", "grpcio (!=1.56.0)", "grpcio (>=1.32.0)", "grpcio (>=1.42.0)", "gymnasium (==1.0.0)", "lz4", "memray", "numpy (>=1.20)", "opencensus", "opentelemetry-api", "opentelemetry-exporter-otlp", "opentelemetry-sdk", "ormsgpack (==1.7.0)", "pandas", "pandas (>=1.3)", "prometheus-client (>=0.7.1)", "py-spy (>=0.2.0)", "py-spy (>=0.4.0)", "pyOpenSSL", "pyarrow (<18)", "pyarrow (>=9.0.0)", "pydantic (<2.0.dev0 || >=2.5.dev0,<3)", "pyyaml", "ray-cpp (==2.43.0)", "requests", "scipy", "smart-open", "starlette", "tensorboardX (>=1.9)", "uvicorn[standard]", "virtualenv (>=20.0.24,!=20.21.1)", "watchfiles"] +cgraph = ["cupy-cuda12x"] +client = ["grpcio", "grpcio (!=1.56.0)"] +cpp = ["ray-cpp (==2.43.0)"] +data = ["fsspec", "numpy (>=1.20)", "pandas (>=1.3)", "pyarrow (<18)", "pyarrow (>=9.0.0)"] +default = ["aiohttp (>=3.7)", "aiohttp-cors", "colorful", "grpcio (>=1.32.0)", "grpcio (>=1.42.0)", "opencensus", "prometheus-client (>=0.7.1)", "py-spy (>=0.2.0)", "py-spy (>=0.4.0)", "pydantic (<2.0.dev0 || >=2.5.dev0,<3)", "requests", "smart-open", "virtualenv (>=20.0.24,!=20.21.1)"] +llm = ["aiohttp (>=3.7)", "aiohttp-cors", "async-timeout", "asyncache (>=0.3.1)", "boto3", "colorful", "fastapi", "fsspec", "grpcio (>=1.32.0)", "grpcio (>=1.42.0)", "jsonref (>=1.1.0)", "numpy (>=1.20)", "opencensus", "pandas (>=1.3)", "prometheus-client (>=0.7.1)", "py-spy (>=0.2.0)", "py-spy (>=0.4.0)", "pyarrow (<18)", "pyarrow (>=9.0.0)", "pydantic (<2.0.dev0 || >=2.5.dev0,<3)", "requests", "smart-open", "starlette", "uvicorn[standard]", "virtualenv (>=20.0.24,!=20.21.1)", "vllm (>=0.7.2)", "watchfiles"] +observability = ["memray", "opentelemetry-api", "opentelemetry-exporter-otlp", "opentelemetry-sdk"] +rllib = ["dm-tree", "fsspec", "gymnasium (==1.0.0)", "lz4", "ormsgpack (==1.7.0)", "pandas", "pyarrow (<18)", "pyarrow (>=9.0.0)", "pyyaml", "requests", "scipy", "tensorboardX (>=1.9)"] +serve = ["aiohttp (>=3.7)", "aiohttp-cors", "colorful", "fastapi", "grpcio (>=1.32.0)", "grpcio (>=1.42.0)", "opencensus", "prometheus-client (>=0.7.1)", "py-spy (>=0.2.0)", "py-spy (>=0.4.0)", "pydantic (<2.0.dev0 || >=2.5.dev0,<3)", "requests", "smart-open", "starlette", "uvicorn[standard]", "virtualenv (>=20.0.24,!=20.21.1)", "watchfiles"] +serve-grpc = ["aiohttp (>=3.7)", "aiohttp-cors", "colorful", "fastapi", "grpcio (>=1.32.0)", "grpcio (>=1.42.0)", "opencensus", "prometheus-client (>=0.7.1)", "py-spy (>=0.2.0)", "py-spy (>=0.4.0)", "pyOpenSSL", "pydantic (<2.0.dev0 || >=2.5.dev0,<3)", "requests", "smart-open", "starlette", "uvicorn[standard]", "virtualenv (>=20.0.24,!=20.21.1)", "watchfiles"] +train = ["fsspec", "pandas", "pyarrow (<18)", "pyarrow (>=9.0.0)", "pydantic (<2.0.dev0 || >=2.5.dev0,<3)", "requests", "tensorboardX (>=1.9)"] +tune = ["fsspec", "pandas", "pyarrow (<18)", "pyarrow (>=9.0.0)", "requests", "tensorboardX (>=1.9)"] + +[[package]] +name = "referencing" +version = "0.36.2" +description = "JSON Referencing + Python" +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0"}, + {file = "referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa"}, +] + +[package.dependencies] +attrs = ">=22.2.0" +rpds-py = ">=0.7.0" +typing-extensions = {version = ">=4.4.0", markers = "python_version < \"3.13\""} + +[[package]] +name = "regex" +version = "2024.11.6" +description = "Alternative regular expression module, to replace re." +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "regex-2024.11.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff590880083d60acc0433f9c3f713c51f7ac6ebb9adf889c79a261ecf541aa91"}, + {file = "regex-2024.11.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:658f90550f38270639e83ce492f27d2c8d2cd63805c65a13a14d36ca126753f0"}, + {file = "regex-2024.11.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:164d8b7b3b4bcb2068b97428060b2a53be050085ef94eca7f240e7947f1b080e"}, + {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3660c82f209655a06b587d55e723f0b813d3a7db2e32e5e7dc64ac2a9e86fde"}, + {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d22326fcdef5e08c154280b71163ced384b428343ae16a5ab2b3354aed12436e"}, + {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1ac758ef6aebfc8943560194e9fd0fa18bcb34d89fd8bd2af18183afd8da3a2"}, + {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:997d6a487ff00807ba810e0f8332c18b4eb8d29463cfb7c820dc4b6e7562d0cf"}, + {file = "regex-2024.11.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:02a02d2bb04fec86ad61f3ea7f49c015a0681bf76abb9857f945d26159d2968c"}, + {file = "regex-2024.11.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f02f93b92358ee3f78660e43b4b0091229260c5d5c408d17d60bf26b6c900e86"}, + {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:06eb1be98df10e81ebaded73fcd51989dcf534e3c753466e4b60c4697a003b67"}, + {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:040df6fe1a5504eb0f04f048e6d09cd7c7110fef851d7c567a6b6e09942feb7d"}, + {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabbfc59f2c6edba2a6622c647b716e34e8e3867e0ab975412c5c2f79b82da2"}, + {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8447d2d39b5abe381419319f942de20b7ecd60ce86f16a23b0698f22e1b70008"}, + {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:da8f5fc57d1933de22a9e23eec290a0d8a5927a5370d24bda9a6abe50683fe62"}, + {file = "regex-2024.11.6-cp310-cp310-win32.whl", hash = "sha256:b489578720afb782f6ccf2840920f3a32e31ba28a4b162e13900c3e6bd3f930e"}, + {file = "regex-2024.11.6-cp310-cp310-win_amd64.whl", hash = "sha256:5071b2093e793357c9d8b2929dfc13ac5f0a6c650559503bb81189d0a3814519"}, + {file = "regex-2024.11.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5478c6962ad548b54a591778e93cd7c456a7a29f8eca9c49e4f9a806dcc5d638"}, + {file = "regex-2024.11.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c89a8cc122b25ce6945f0423dc1352cb9593c68abd19223eebbd4e56612c5b7"}, + {file = "regex-2024.11.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:94d87b689cdd831934fa3ce16cc15cd65748e6d689f5d2b8f4f4df2065c9fa20"}, + {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1062b39a0a2b75a9c694f7a08e7183a80c63c0d62b301418ffd9c35f55aaa114"}, + {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:167ed4852351d8a750da48712c3930b031f6efdaa0f22fa1933716bfcd6bf4a3"}, + {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d548dafee61f06ebdb584080621f3e0c23fff312f0de1afc776e2a2ba99a74f"}, + {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a19f302cd1ce5dd01a9099aaa19cae6173306d1302a43b627f62e21cf18ac0"}, + {file = "regex-2024.11.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bec9931dfb61ddd8ef2ebc05646293812cb6b16b60cf7c9511a832b6f1854b55"}, + {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9714398225f299aa85267fd222f7142fcb5c769e73d7733344efc46f2ef5cf89"}, + {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:202eb32e89f60fc147a41e55cb086db2a3f8cb82f9a9a88440dcfc5d37faae8d"}, + {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:4181b814e56078e9b00427ca358ec44333765f5ca1b45597ec7446d3a1ef6e34"}, + {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:068376da5a7e4da51968ce4c122a7cd31afaaec4fccc7856c92f63876e57b51d"}, + {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f2c4184420d881a3475fb2c6f4d95d53a8d50209a2500723d831036f7c45"}, + {file = "regex-2024.11.6-cp311-cp311-win32.whl", hash = "sha256:c36f9b6f5f8649bb251a5f3f66564438977b7ef8386a52460ae77e6070d309d9"}, + {file = "regex-2024.11.6-cp311-cp311-win_amd64.whl", hash = "sha256:02e28184be537f0e75c1f9b2f8847dc51e08e6e171c6bde130b2687e0c33cf60"}, + {file = "regex-2024.11.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:52fb28f528778f184f870b7cf8f225f5eef0a8f6e3778529bdd40c7b3920796a"}, + {file = "regex-2024.11.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdd6028445d2460f33136c55eeb1f601ab06d74cb3347132e1c24250187500d9"}, + {file = "regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805e6b60c54bf766b251e94526ebad60b7de0c70f70a4e6210ee2891acb70bf2"}, + {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b85c2530be953a890eaffde05485238f07029600e8f098cdf1848d414a8b45e4"}, + {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb26437975da7dc36b7efad18aa9dd4ea569d2357ae6b783bf1118dabd9ea577"}, + {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abfa5080c374a76a251ba60683242bc17eeb2c9818d0d30117b4486be10c59d3"}, + {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b7fa6606c2881c1db9479b0eaa11ed5dfa11c8d60a474ff0e095099f39d98e"}, + {file = "regex-2024.11.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c32f75920cf99fe6b6c539c399a4a128452eaf1af27f39bce8909c9a3fd8cbe"}, + {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:982e6d21414e78e1f51cf595d7f321dcd14de1f2881c5dc6a6e23bbbbd68435e"}, + {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a7c2155f790e2fb448faed6dd241386719802296ec588a8b9051c1f5c481bc29"}, + {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149f5008d286636e48cd0b1dd65018548944e495b0265b45e1bffecce1ef7f39"}, + {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e5364a4502efca094731680e80009632ad6624084aff9a23ce8c8c6820de3e51"}, + {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0a86e7eeca091c09e021db8eb72d54751e527fa47b8d5787caf96d9831bd02ad"}, + {file = "regex-2024.11.6-cp312-cp312-win32.whl", hash = "sha256:32f9a4c643baad4efa81d549c2aadefaeba12249b2adc5af541759237eee1c54"}, + {file = "regex-2024.11.6-cp312-cp312-win_amd64.whl", hash = "sha256:a93c194e2df18f7d264092dc8539b8ffb86b45b899ab976aa15d48214138e81b"}, + {file = "regex-2024.11.6-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a6ba92c0bcdf96cbf43a12c717eae4bc98325ca3730f6b130ffa2e3c3c723d84"}, + {file = "regex-2024.11.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:525eab0b789891ac3be914d36893bdf972d483fe66551f79d3e27146191a37d4"}, + {file = "regex-2024.11.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:086a27a0b4ca227941700e0b31425e7a28ef1ae8e5e05a33826e17e47fbfdba0"}, + {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bde01f35767c4a7899b7eb6e823b125a64de314a8ee9791367c9a34d56af18d0"}, + {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b583904576650166b3d920d2bcce13971f6f9e9a396c673187f49811b2769dc7"}, + {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c4de13f06a0d54fa0d5ab1b7138bfa0d883220965a29616e3ea61b35d5f5fc7"}, + {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cde6e9f2580eb1665965ce9bf17ff4952f34f5b126beb509fee8f4e994f143c"}, + {file = "regex-2024.11.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d7f453dca13f40a02b79636a339c5b62b670141e63efd511d3f8f73fba162b3"}, + {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:59dfe1ed21aea057a65c6b586afd2a945de04fc7db3de0a6e3ed5397ad491b07"}, + {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b97c1e0bd37c5cd7902e65f410779d39eeda155800b65fc4d04cc432efa9bc6e"}, + {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f9d1e379028e0fc2ae3654bac3cbbef81bf3fd571272a42d56c24007979bafb6"}, + {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:13291b39131e2d002a7940fb176e120bec5145f3aeb7621be6534e46251912c4"}, + {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f51f88c126370dcec4908576c5a627220da6c09d0bff31cfa89f2523843316d"}, + {file = "regex-2024.11.6-cp313-cp313-win32.whl", hash = "sha256:63b13cfd72e9601125027202cad74995ab26921d8cd935c25f09c630436348ff"}, + {file = "regex-2024.11.6-cp313-cp313-win_amd64.whl", hash = "sha256:2b3361af3198667e99927da8b84c1b010752fa4b1115ee30beaa332cabc3ef1a"}, + {file = "regex-2024.11.6-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:3a51ccc315653ba012774efca4f23d1d2a8a8f278a6072e29c7147eee7da446b"}, + {file = "regex-2024.11.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ad182d02e40de7459b73155deb8996bbd8e96852267879396fb274e8700190e3"}, + {file = "regex-2024.11.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ba9b72e5643641b7d41fa1f6d5abda2c9a263ae835b917348fc3c928182ad467"}, + {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40291b1b89ca6ad8d3f2b82782cc33807f1406cf68c8d440861da6304d8ffbbd"}, + {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cdf58d0e516ee426a48f7b2c03a332a4114420716d55769ff7108c37a09951bf"}, + {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a36fdf2af13c2b14738f6e973aba563623cb77d753bbbd8d414d18bfaa3105dd"}, + {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1cee317bfc014c2419a76bcc87f071405e3966da434e03e13beb45f8aced1a6"}, + {file = "regex-2024.11.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:50153825ee016b91549962f970d6a4442fa106832e14c918acd1c8e479916c4f"}, + {file = "regex-2024.11.6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ea1bfda2f7162605f6e8178223576856b3d791109f15ea99a9f95c16a7636fb5"}, + {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:df951c5f4a1b1910f1a99ff42c473ff60f8225baa1cdd3539fe2819d9543e9df"}, + {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:072623554418a9911446278f16ecb398fb3b540147a7828c06e2011fa531e773"}, + {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f654882311409afb1d780b940234208a252322c24a93b442ca714d119e68086c"}, + {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:89d75e7293d2b3e674db7d4d9b1bee7f8f3d1609428e293771d1a962617150cc"}, + {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:f65557897fc977a44ab205ea871b690adaef6b9da6afda4790a2484b04293a5f"}, + {file = "regex-2024.11.6-cp38-cp38-win32.whl", hash = "sha256:6f44ec28b1f858c98d3036ad5d7d0bfc568bdd7a74f9c24e25f41ef1ebfd81a4"}, + {file = "regex-2024.11.6-cp38-cp38-win_amd64.whl", hash = "sha256:bb8f74f2f10dbf13a0be8de623ba4f9491faf58c24064f32b65679b021ed0001"}, + {file = "regex-2024.11.6-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5704e174f8ccab2026bd2f1ab6c510345ae8eac818b613d7d73e785f1310f839"}, + {file = "regex-2024.11.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:220902c3c5cc6af55d4fe19ead504de80eb91f786dc102fbd74894b1551f095e"}, + {file = "regex-2024.11.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7e351589da0850c125f1600a4c4ba3c722efefe16b297de54300f08d734fbf"}, + {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5056b185ca113c88e18223183aa1a50e66507769c9640a6ff75859619d73957b"}, + {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2e34b51b650b23ed3354b5a07aab37034d9f923db2a40519139af34f485f77d0"}, + {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5670bce7b200273eee1840ef307bfa07cda90b38ae56e9a6ebcc9f50da9c469b"}, + {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:08986dce1339bc932923e7d1232ce9881499a0e02925f7402fb7c982515419ef"}, + {file = "regex-2024.11.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:93c0b12d3d3bc25af4ebbf38f9ee780a487e8bf6954c115b9f015822d3bb8e48"}, + {file = "regex-2024.11.6-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:764e71f22ab3b305e7f4c21f1a97e1526a25ebdd22513e251cf376760213da13"}, + {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f056bf21105c2515c32372bbc057f43eb02aae2fda61052e2f7622c801f0b4e2"}, + {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:69ab78f848845569401469da20df3e081e6b5a11cb086de3eed1d48f5ed57c95"}, + {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:86fddba590aad9208e2fa8b43b4c098bb0ec74f15718bb6a704e3c63e2cef3e9"}, + {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:684d7a212682996d21ca12ef3c17353c021fe9de6049e19ac8481ec35574a70f"}, + {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a03e02f48cd1abbd9f3b7e3586d97c8f7a9721c436f51a5245b3b9483044480b"}, + {file = "regex-2024.11.6-cp39-cp39-win32.whl", hash = "sha256:41758407fc32d5c3c5de163888068cfee69cb4c2be844e7ac517a52770f9af57"}, + {file = "regex-2024.11.6-cp39-cp39-win_amd64.whl", hash = "sha256:b2837718570f95dd41675328e111345f9b7095d821bac435aac173ac80b19983"}, + {file = "regex-2024.11.6.tar.gz", hash = "sha256:7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519"}, +] + +[[package]] +name = "requests" +version = "2.32.3" +description = "Python HTTP for Humans." +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +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 = "rich" +version = "13.9.4" +description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" +optional = false +python-versions = ">=3.8.0" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90"}, + {file = "rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098"}, +] + +[package.dependencies] +markdown-it-py = ">=2.2.0" +pygments = ">=2.13.0,<3.0.0" +typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.11\""} + +[package.extras] +jupyter = ["ipywidgets (>=7.5.1,<9)"] + +[[package]] +name = "rouge-score" +version = "0.1.2" +description = "Pure python implementation of ROUGE-1.5.5." +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "rouge_score-0.1.2.tar.gz", hash = "sha256:c7d4da2683e68c9abf0135ef915d63a46643666f848e558a1b9f7ead17ff0f04"}, +] + +[package.dependencies] +absl-py = "*" +nltk = "*" +numpy = "*" +six = ">=1.14.0" + +[[package]] +name = "rpds-py" +version = "0.23.1" +description = "Python bindings to Rust's persistent data structures (rpds)" +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "rpds_py-0.23.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2a54027554ce9b129fc3d633c92fa33b30de9f08bc61b32c053dc9b537266fed"}, + {file = "rpds_py-0.23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b5ef909a37e9738d146519657a1aab4584018746a18f71c692f2f22168ece40c"}, + {file = "rpds_py-0.23.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ee9d6f0b38efb22ad94c3b68ffebe4c47865cdf4b17f6806d6c674e1feb4246"}, + {file = "rpds_py-0.23.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f7356a6da0562190558c4fcc14f0281db191cdf4cb96e7604c06acfcee96df15"}, + {file = "rpds_py-0.23.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9441af1d25aed96901f97ad83d5c3e35e6cd21a25ca5e4916c82d7dd0490a4fa"}, + {file = "rpds_py-0.23.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d8abf7896a91fb97e7977d1aadfcc2c80415d6dc2f1d0fca5b8d0df247248f3"}, + {file = "rpds_py-0.23.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b08027489ba8fedde72ddd233a5ea411b85a6ed78175f40285bd401bde7466d"}, + {file = "rpds_py-0.23.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fee513135b5a58f3bb6d89e48326cd5aa308e4bcdf2f7d59f67c861ada482bf8"}, + {file = "rpds_py-0.23.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:35d5631ce0af26318dba0ae0ac941c534453e42f569011585cb323b7774502a5"}, + {file = "rpds_py-0.23.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:a20cb698c4a59c534c6701b1c24a968ff2768b18ea2991f886bd8985ce17a89f"}, + {file = "rpds_py-0.23.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5e9c206a1abc27e0588cf8b7c8246e51f1a16a103734f7750830a1ccb63f557a"}, + {file = "rpds_py-0.23.1-cp310-cp310-win32.whl", hash = "sha256:d9f75a06ecc68f159d5d7603b734e1ff6daa9497a929150f794013aa9f6e3f12"}, + {file = "rpds_py-0.23.1-cp310-cp310-win_amd64.whl", hash = "sha256:f35eff113ad430b5272bbfc18ba111c66ff525828f24898b4e146eb479a2cdda"}, + {file = "rpds_py-0.23.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:b79f5ced71efd70414a9a80bbbfaa7160da307723166f09b69773153bf17c590"}, + {file = "rpds_py-0.23.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c9e799dac1ffbe7b10c1fd42fe4cd51371a549c6e108249bde9cd1200e8f59b4"}, + {file = "rpds_py-0.23.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:721f9c4011b443b6e84505fc00cc7aadc9d1743f1c988e4c89353e19c4a968ee"}, + {file = "rpds_py-0.23.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f88626e3f5e57432e6191cd0c5d6d6b319b635e70b40be2ffba713053e5147dd"}, + {file = "rpds_py-0.23.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:285019078537949cecd0190f3690a0b0125ff743d6a53dfeb7a4e6787af154f5"}, + {file = "rpds_py-0.23.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b92f5654157de1379c509b15acec9d12ecf6e3bc1996571b6cb82a4302060447"}, + {file = "rpds_py-0.23.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e768267cbe051dd8d1c5305ba690bb153204a09bf2e3de3ae530de955f5b5580"}, + {file = "rpds_py-0.23.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c5334a71f7dc1160382d45997e29f2637c02f8a26af41073189d79b95d3321f1"}, + {file = "rpds_py-0.23.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d6adb81564af0cd428910f83fa7da46ce9ad47c56c0b22b50872bc4515d91966"}, + {file = "rpds_py-0.23.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:cafa48f2133d4daa028473ede7d81cd1b9f9e6925e9e4003ebdf77010ee02f35"}, + {file = "rpds_py-0.23.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0fced9fd4a07a1ded1bac7e961ddd9753dd5d8b755ba8e05acba54a21f5f1522"}, + {file = "rpds_py-0.23.1-cp311-cp311-win32.whl", hash = "sha256:243241c95174b5fb7204c04595852fe3943cc41f47aa14c3828bc18cd9d3b2d6"}, + {file = "rpds_py-0.23.1-cp311-cp311-win_amd64.whl", hash = "sha256:11dd60b2ffddba85715d8a66bb39b95ddbe389ad2cfcf42c833f1bcde0878eaf"}, + {file = "rpds_py-0.23.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:3902df19540e9af4cc0c3ae75974c65d2c156b9257e91f5101a51f99136d834c"}, + {file = "rpds_py-0.23.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:66f8d2a17e5838dd6fb9be6baaba8e75ae2f5fa6b6b755d597184bfcd3cb0eba"}, + {file = "rpds_py-0.23.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:112b8774b0b4ee22368fec42749b94366bd9b536f8f74c3d4175d4395f5cbd31"}, + {file = "rpds_py-0.23.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e0df046f2266e8586cf09d00588302a32923eb6386ced0ca5c9deade6af9a149"}, + {file = "rpds_py-0.23.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f3288930b947cbebe767f84cf618d2cbe0b13be476e749da0e6a009f986248c"}, + {file = "rpds_py-0.23.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ce473a2351c018b06dd8d30d5da8ab5a0831056cc53b2006e2a8028172c37ce5"}, + {file = "rpds_py-0.23.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d550d7e9e7d8676b183b37d65b5cd8de13676a738973d330b59dc8312df9c5dc"}, + {file = "rpds_py-0.23.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e14f86b871ea74c3fddc9a40e947d6a5d09def5adc2076ee61fb910a9014fb35"}, + {file = "rpds_py-0.23.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1bf5be5ba34e19be579ae873da515a2836a2166d8d7ee43be6ff909eda42b72b"}, + {file = "rpds_py-0.23.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:d7031d493c4465dbc8d40bd6cafefef4bd472b17db0ab94c53e7909ee781b9ef"}, + {file = "rpds_py-0.23.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:55ff4151cfd4bc635e51cfb1c59ac9f7196b256b12e3a57deb9e5742e65941ad"}, + {file = "rpds_py-0.23.1-cp312-cp312-win32.whl", hash = "sha256:a9d3b728f5a5873d84cba997b9d617c6090ca5721caaa691f3b1a78c60adc057"}, + {file = "rpds_py-0.23.1-cp312-cp312-win_amd64.whl", hash = "sha256:b03a8d50b137ee758e4c73638b10747b7c39988eb8e6cd11abb7084266455165"}, + {file = "rpds_py-0.23.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:4caafd1a22e5eaa3732acb7672a497123354bef79a9d7ceed43387d25025e935"}, + {file = "rpds_py-0.23.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:178f8a60fc24511c0eb756af741c476b87b610dba83270fce1e5a430204566a4"}, + {file = "rpds_py-0.23.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c632419c3870507ca20a37c8f8f5352317aca097639e524ad129f58c125c61c6"}, + {file = "rpds_py-0.23.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:698a79d295626ee292d1730bc2ef6e70a3ab135b1d79ada8fde3ed0047b65a10"}, + {file = "rpds_py-0.23.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:271fa2184cf28bdded86bb6217c8e08d3a169fe0bbe9be5e8d96e8476b707122"}, + {file = "rpds_py-0.23.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b91cceb5add79ee563bd1f70b30896bd63bc5f78a11c1f00a1e931729ca4f1f4"}, + {file = "rpds_py-0.23.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a6cb95074777f1ecda2ca4fa7717caa9ee6e534f42b7575a8f0d4cb0c24013"}, + {file = "rpds_py-0.23.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:50fb62f8d8364978478b12d5f03bf028c6bc2af04082479299139dc26edf4c64"}, + {file = "rpds_py-0.23.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c8f7e90b948dc9dcfff8003f1ea3af08b29c062f681c05fd798e36daa3f7e3e8"}, + {file = "rpds_py-0.23.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:5b98b6c953e5c2bda51ab4d5b4f172617d462eebc7f4bfdc7c7e6b423f6da957"}, + {file = "rpds_py-0.23.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2893d778d4671ee627bac4037a075168b2673c57186fb1a57e993465dbd79a93"}, + {file = "rpds_py-0.23.1-cp313-cp313-win32.whl", hash = "sha256:2cfa07c346a7ad07019c33fb9a63cf3acb1f5363c33bc73014e20d9fe8b01cdd"}, + {file = "rpds_py-0.23.1-cp313-cp313-win_amd64.whl", hash = "sha256:3aaf141d39f45322e44fc2c742e4b8b4098ead5317e5f884770c8df0c332da70"}, + {file = "rpds_py-0.23.1-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:759462b2d0aa5a04be5b3e37fb8183615f47014ae6b116e17036b131985cb731"}, + {file = "rpds_py-0.23.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3e9212f52074fc9d72cf242a84063787ab8e21e0950d4d6709886fb62bcb91d5"}, + {file = "rpds_py-0.23.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9e9f3a3ac919406bc0414bbbd76c6af99253c507150191ea79fab42fdb35982a"}, + {file = "rpds_py-0.23.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c04ca91dda8a61584165825907f5c967ca09e9c65fe8966ee753a3f2b019fe1e"}, + {file = "rpds_py-0.23.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4ab923167cfd945abb9b51a407407cf19f5bee35001221f2911dc85ffd35ff4f"}, + {file = "rpds_py-0.23.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ed6f011bedca8585787e5082cce081bac3d30f54520097b2411351b3574e1219"}, + {file = "rpds_py-0.23.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6959bb9928c5c999aba4a3f5a6799d571ddc2c59ff49917ecf55be2bbb4e3722"}, + {file = "rpds_py-0.23.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1ed7de3c86721b4e83ac440751329ec6a1102229aa18163f84c75b06b525ad7e"}, + {file = "rpds_py-0.23.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:5fb89edee2fa237584e532fbf78f0ddd1e49a47c7c8cfa153ab4849dc72a35e6"}, + {file = "rpds_py-0.23.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:7e5413d2e2d86025e73f05510ad23dad5950ab8417b7fc6beaad99be8077138b"}, + {file = "rpds_py-0.23.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:d31ed4987d72aabdf521eddfb6a72988703c091cfc0064330b9e5f8d6a042ff5"}, + {file = "rpds_py-0.23.1-cp313-cp313t-win32.whl", hash = "sha256:f3429fb8e15b20961efca8c8b21432623d85db2228cc73fe22756c6637aa39e7"}, + {file = "rpds_py-0.23.1-cp313-cp313t-win_amd64.whl", hash = "sha256:d6f6512a90bd5cd9030a6237f5346f046c6f0e40af98657568fa45695d4de59d"}, + {file = "rpds_py-0.23.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:09cd7dbcb673eb60518231e02874df66ec1296c01a4fcd733875755c02014b19"}, + {file = "rpds_py-0.23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c6760211eee3a76316cf328f5a8bd695b47b1626d21c8a27fb3b2473a884d597"}, + {file = "rpds_py-0.23.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:72e680c1518733b73c994361e4b06441b92e973ef7d9449feec72e8ee4f713da"}, + {file = "rpds_py-0.23.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ae28144c1daa61366205d32abd8c90372790ff79fc60c1a8ad7fd3c8553a600e"}, + {file = "rpds_py-0.23.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c698d123ce5d8f2d0cd17f73336615f6a2e3bdcedac07a1291bb4d8e7d82a05a"}, + {file = "rpds_py-0.23.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98b257ae1e83f81fb947a363a274c4eb66640212516becaff7bef09a5dceacaa"}, + {file = "rpds_py-0.23.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5c9ff044eb07c8468594d12602291c635da292308c8c619244e30698e7fc455a"}, + {file = "rpds_py-0.23.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7938c7b0599a05246d704b3f5e01be91a93b411d0d6cc62275f025293b8a11ce"}, + {file = "rpds_py-0.23.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:e9cb79ecedfc156c0692257ac7ed415243b6c35dd969baa461a6888fc79f2f07"}, + {file = "rpds_py-0.23.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:7b77e07233925bd33fc0022b8537774423e4c6680b6436316c5075e79b6384f4"}, + {file = "rpds_py-0.23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a970bfaf130c29a679b1d0a6e0f867483cea455ab1535fb427566a475078f27f"}, + {file = "rpds_py-0.23.1-cp39-cp39-win32.whl", hash = "sha256:4233df01a250b3984465faed12ad472f035b7cd5240ea3f7c76b7a7016084495"}, + {file = "rpds_py-0.23.1-cp39-cp39-win_amd64.whl", hash = "sha256:c617d7453a80e29d9973b926983b1e700a9377dbe021faa36041c78537d7b08c"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c1f8afa346ccd59e4e5630d5abb67aba6a9812fddf764fd7eb11f382a345f8cc"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:fad784a31869747df4ac968a351e070c06ca377549e4ace94775aaa3ab33ee06"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5a96fcac2f18e5a0a23a75cd27ce2656c66c11c127b0318e508aab436b77428"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3e77febf227a1dc3220159355dba68faa13f8dca9335d97504abf428469fb18b"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:26bb3e8de93443d55e2e748e9fd87deb5f8075ca7bc0502cfc8be8687d69a2ec"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:db7707dde9143a67b8812c7e66aeb2d843fe33cc8e374170f4d2c50bd8f2472d"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1eedaaccc9bb66581d4ae7c50e15856e335e57ef2734dbc5fd8ba3e2a4ab3cb6"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:28358c54fffadf0ae893f6c1050e8f8853e45df22483b7fff2f6ab6152f5d8bf"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:633462ef7e61d839171bf206551d5ab42b30b71cac8f10a64a662536e057fdef"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:a98f510d86f689fcb486dc59e6e363af04151e5260ad1bdddb5625c10f1e95f8"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:e0397dd0b3955c61ef9b22838144aa4bef6f0796ba5cc8edfc64d468b93798b4"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:75307599f0d25bf6937248e5ac4e3bde5ea72ae6618623b86146ccc7845ed00b"}, + {file = "rpds_py-0.23.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3614d280bf7aab0d3721b5ce0e73434acb90a2c993121b6e81a1c15c665298ac"}, + {file = "rpds_py-0.23.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:e5963ea87f88bddf7edd59644a35a0feecf75f8985430124c253612d4f7d27ae"}, + {file = "rpds_py-0.23.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad76f44f70aac3a54ceb1813ca630c53415da3a24fd93c570b2dfb4856591017"}, + {file = "rpds_py-0.23.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2c6ae11e6e93728d86aafc51ced98b1658a0080a7dd9417d24bfb955bb09c3c2"}, + {file = "rpds_py-0.23.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fc869af5cba24d45fb0399b0cfdbcefcf6910bf4dee5d74036a57cf5264b3ff4"}, + {file = "rpds_py-0.23.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c76b32eb2ab650a29e423525e84eb197c45504b1c1e6e17b6cc91fcfeb1a4b1d"}, + {file = "rpds_py-0.23.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4263320ed887ed843f85beba67f8b2d1483b5947f2dc73a8b068924558bfeace"}, + {file = "rpds_py-0.23.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7f9682a8f71acdf59fd554b82b1c12f517118ee72c0f3944eda461606dfe7eb9"}, + {file = "rpds_py-0.23.1-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:754fba3084b70162a6b91efceee8a3f06b19e43dac3f71841662053c0584209a"}, + {file = "rpds_py-0.23.1-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:a1c66e71ecfd2a4acf0e4bd75e7a3605afa8f9b28a3b497e4ba962719df2be57"}, + {file = "rpds_py-0.23.1-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:8d67beb6002441faef8251c45e24994de32c4c8686f7356a1f601ad7c466f7c3"}, + {file = "rpds_py-0.23.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a1e17d8dc8e57d8e0fd21f8f0f0a5211b3fa258b2e444c2053471ef93fe25a00"}, + {file = "rpds_py-0.23.1.tar.gz", hash = "sha256:7f3240dcfa14d198dba24b8b9cb3b108c06b68d45b7babd9eefc1038fdf7e707"}, +] + +[[package]] +name = "rsa" +version = "4.9" +description = "Pure-Python RSA implementation" +optional = false +python-versions = ">=3.6,<4" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "rsa-4.9-py3-none-any.whl", hash = "sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7"}, + {file = "rsa-4.9.tar.gz", hash = "sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21"}, +] + +[package.dependencies] +pyasn1 = ">=0.1.3" + +[[package]] +name = "ruff" +version = "0.9.10" +description = "An extremely fast Python linter and code formatter, written in Rust." +optional = false +python-versions = ">=3.7" +groups = ["dev"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "ruff-0.9.10-py3-none-linux_armv6l.whl", hash = "sha256:eb4d25532cfd9fe461acc83498361ec2e2252795b4f40b17e80692814329e42d"}, + {file = "ruff-0.9.10-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:188a6638dab1aa9bb6228a7302387b2c9954e455fb25d6b4470cb0641d16759d"}, + {file = "ruff-0.9.10-py3-none-macosx_11_0_arm64.whl", hash = "sha256:5284dcac6b9dbc2fcb71fdfc26a217b2ca4ede6ccd57476f52a587451ebe450d"}, + {file = "ruff-0.9.10-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:47678f39fa2a3da62724851107f438c8229a3470f533894b5568a39b40029c0c"}, + {file = "ruff-0.9.10-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:99713a6e2766b7a17147b309e8c915b32b07a25c9efd12ada79f217c9c778b3e"}, + {file = "ruff-0.9.10-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:524ee184d92f7c7304aa568e2db20f50c32d1d0caa235d8ddf10497566ea1a12"}, + {file = "ruff-0.9.10-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:df92aeac30af821f9acf819fc01b4afc3dfb829d2782884f8739fb52a8119a16"}, + {file = "ruff-0.9.10-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de42e4edc296f520bb84954eb992a07a0ec5a02fecb834498415908469854a52"}, + {file = "ruff-0.9.10-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d257f95b65806104b6b1ffca0ea53f4ef98454036df65b1eda3693534813ecd1"}, + {file = "ruff-0.9.10-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b60dec7201c0b10d6d11be00e8f2dbb6f40ef1828ee75ed739923799513db24c"}, + {file = "ruff-0.9.10-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:d838b60007da7a39c046fcdd317293d10b845001f38bcb55ba766c3875b01e43"}, + {file = "ruff-0.9.10-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:ccaf903108b899beb8e09a63ffae5869057ab649c1e9231c05ae354ebc62066c"}, + {file = "ruff-0.9.10-py3-none-musllinux_1_2_i686.whl", hash = "sha256:f9567d135265d46e59d62dc60c0bfad10e9a6822e231f5b24032dba5a55be6b5"}, + {file = "ruff-0.9.10-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:5f202f0d93738c28a89f8ed9eaba01b7be339e5d8d642c994347eaa81c6d75b8"}, + {file = "ruff-0.9.10-py3-none-win32.whl", hash = "sha256:bfb834e87c916521ce46b1788fbb8484966e5113c02df216680102e9eb960029"}, + {file = "ruff-0.9.10-py3-none-win_amd64.whl", hash = "sha256:f2160eeef3031bf4b17df74e307d4c5fb689a6f3a26a2de3f7ef4044e3c484f1"}, + {file = "ruff-0.9.10-py3-none-win_arm64.whl", hash = "sha256:5fd804c0327a5e5ea26615550e706942f348b197d5475ff34c19733aee4b2e69"}, + {file = "ruff-0.9.10.tar.gz", hash = "sha256:9bacb735d7bada9cfb0f2c227d3658fc443d90a727b47f206fb33f52f3c0eac7"}, +] + +[[package]] +name = "sacrebleu" +version = "2.5.1" +description = "Hassle-free computation of shareable, comparable, and reproducible BLEU, chrF, and TER scores" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "sacrebleu-2.5.1-py3-none-any.whl", hash = "sha256:7c9f7ee75bec3a5bf19dd87112dfd654952130e403ad30c48298fb7da3212d5d"}, + {file = "sacrebleu-2.5.1.tar.gz", hash = "sha256:1a088cc1c74ffaff0759c3191a85db09eecfa7a52e09be244e319d8d64e2fb11"}, +] + +[package.dependencies] +colorama = "*" +lxml = "*" +numpy = ">=1.17" +portalocker = "*" +regex = "*" +tabulate = ">=0.8.9" + +[package.extras] +dev = ["lxml-stubs", "mypy", "pytest", "setuptools", "types-tabulate", "wheel"] +ja = ["ipadic (>=1.0,<2.0)", "mecab-python3 (>=1.0.9,<2.0.0)"] +ko = ["mecab-ko (>=1.0.0,<=1.0.1)", "mecab-ko-dic (>=1.0,<2.0)"] + +[[package]] +name = "safetensors" +version = "0.5.3" +description = "" +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "safetensors-0.5.3-cp38-abi3-macosx_10_12_x86_64.whl", hash = "sha256:bd20eb133db8ed15b40110b7c00c6df51655a2998132193de2f75f72d99c7073"}, + {file = "safetensors-0.5.3-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:21d01c14ff6c415c485616b8b0bf961c46b3b343ca59110d38d744e577f9cce7"}, + {file = "safetensors-0.5.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:11bce6164887cd491ca75c2326a113ba934be596e22b28b1742ce27b1d076467"}, + {file = "safetensors-0.5.3-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4a243be3590bc3301c821da7a18d87224ef35cbd3e5f5727e4e0728b8172411e"}, + {file = "safetensors-0.5.3-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8bd84b12b1670a6f8e50f01e28156422a2bc07fb16fc4e98bded13039d688a0d"}, + {file = "safetensors-0.5.3-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:391ac8cab7c829452175f871fcaf414aa1e292b5448bd02620f675a7f3e7abb9"}, + {file = "safetensors-0.5.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cead1fa41fc54b1e61089fa57452e8834f798cb1dc7a09ba3524f1eb08e0317a"}, + {file = "safetensors-0.5.3-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1077f3e94182d72618357b04b5ced540ceb71c8a813d3319f1aba448e68a770d"}, + {file = "safetensors-0.5.3-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:799021e78287bac619c7b3f3606730a22da4cda27759ddf55d37c8db7511c74b"}, + {file = "safetensors-0.5.3-cp38-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:df26da01aaac504334644e1b7642fa000bfec820e7cef83aeac4e355e03195ff"}, + {file = "safetensors-0.5.3-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:32c3ef2d7af8b9f52ff685ed0bc43913cdcde135089ae322ee576de93eae5135"}, + {file = "safetensors-0.5.3-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:37f1521be045e56fc2b54c606d4455573e717b2d887c579ee1dbba5f868ece04"}, + {file = "safetensors-0.5.3-cp38-abi3-win32.whl", hash = "sha256:cfc0ec0846dcf6763b0ed3d1846ff36008c6e7290683b61616c4b040f6a54ace"}, + {file = "safetensors-0.5.3-cp38-abi3-win_amd64.whl", hash = "sha256:836cbbc320b47e80acd40e44c8682db0e8ad7123209f69b093def21ec7cafd11"}, + {file = "safetensors-0.5.3.tar.gz", hash = "sha256:b6b0d6ecacec39a4fdd99cc19f4576f5219ce858e6fd8dbe7609df0b8dc56965"}, +] + +[package.extras] +all = ["safetensors[jax]", "safetensors[numpy]", "safetensors[paddlepaddle]", "safetensors[pinned-tf]", "safetensors[quality]", "safetensors[testing]", "safetensors[torch]"] +dev = ["safetensors[all]"] +jax = ["flax (>=0.6.3)", "jax (>=0.3.25)", "jaxlib (>=0.3.25)", "safetensors[numpy]"] +mlx = ["mlx (>=0.0.9)"] +numpy = ["numpy (>=1.21.6)"] +paddlepaddle = ["paddlepaddle (>=2.4.1)", "safetensors[numpy]"] +pinned-tf = ["safetensors[numpy]", "tensorflow (==2.18.0)"] +quality = ["black (==22.3)", "click (==8.0.4)", "flake8 (>=3.8.3)", "isort (>=5.5.4)"] +tensorflow = ["safetensors[numpy]", "tensorflow (>=2.11.0)"] +testing = ["h5py (>=3.7.0)", "huggingface-hub (>=0.12.1)", "hypothesis (>=6.70.2)", "pytest (>=7.2.0)", "pytest-benchmark (>=4.0.0)", "safetensors[numpy]", "setuptools-rust (>=1.5.2)"] +torch = ["safetensors[numpy]", "torch (>=1.10)"] + +[[package]] +name = "scikit-learn" +version = "1.6.1" +description = "A set of python modules for machine learning and data mining" +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "scikit_learn-1.6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d056391530ccd1e501056160e3c9673b4da4805eb67eb2bdf4e983e1f9c9204e"}, + {file = "scikit_learn-1.6.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:0c8d036eb937dbb568c6242fa598d551d88fb4399c0344d95c001980ec1c7d36"}, + {file = "scikit_learn-1.6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8634c4bd21a2a813e0a7e3900464e6d593162a29dd35d25bdf0103b3fce60ed5"}, + {file = "scikit_learn-1.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:775da975a471c4f6f467725dff0ced5c7ac7bda5e9316b260225b48475279a1b"}, + {file = "scikit_learn-1.6.1-cp310-cp310-win_amd64.whl", hash = "sha256:8a600c31592bd7dab31e1c61b9bbd6dea1b3433e67d264d17ce1017dbdce8002"}, + {file = "scikit_learn-1.6.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:72abc587c75234935e97d09aa4913a82f7b03ee0b74111dcc2881cba3c5a7b33"}, + {file = "scikit_learn-1.6.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:b3b00cdc8f1317b5f33191df1386c0befd16625f49d979fe77a8d44cae82410d"}, + {file = "scikit_learn-1.6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dc4765af3386811c3ca21638f63b9cf5ecf66261cc4815c1db3f1e7dc7b79db2"}, + {file = "scikit_learn-1.6.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:25fc636bdaf1cc2f4a124a116312d837148b5e10872147bdaf4887926b8c03d8"}, + {file = "scikit_learn-1.6.1-cp311-cp311-win_amd64.whl", hash = "sha256:fa909b1a36e000a03c382aade0bd2063fd5680ff8b8e501660c0f59f021a6415"}, + {file = "scikit_learn-1.6.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:926f207c804104677af4857b2c609940b743d04c4c35ce0ddc8ff4f053cddc1b"}, + {file = "scikit_learn-1.6.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:2c2cae262064e6a9b77eee1c8e768fc46aa0b8338c6a8297b9b6759720ec0ff2"}, + {file = "scikit_learn-1.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1061b7c028a8663fb9a1a1baf9317b64a257fcb036dae5c8752b2abef31d136f"}, + {file = "scikit_learn-1.6.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2e69fab4ebfc9c9b580a7a80111b43d214ab06250f8a7ef590a4edf72464dd86"}, + {file = "scikit_learn-1.6.1-cp312-cp312-win_amd64.whl", hash = "sha256:70b1d7e85b1c96383f872a519b3375f92f14731e279a7b4c6cfd650cf5dffc52"}, + {file = "scikit_learn-1.6.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2ffa1e9e25b3d93990e74a4be2c2fc61ee5af85811562f1288d5d055880c4322"}, + {file = "scikit_learn-1.6.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:dc5cf3d68c5a20ad6d571584c0750ec641cc46aeef1c1507be51300e6003a7e1"}, + {file = "scikit_learn-1.6.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c06beb2e839ecc641366000ca84f3cf6fa9faa1777e29cf0c04be6e4d096a348"}, + {file = "scikit_learn-1.6.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e8ca8cb270fee8f1f76fa9bfd5c3507d60c6438bbee5687f81042e2bb98e5a97"}, + {file = "scikit_learn-1.6.1-cp313-cp313-win_amd64.whl", hash = "sha256:7a1c43c8ec9fde528d664d947dc4c0789be4077a3647f232869f41d9bf50e0fb"}, + {file = "scikit_learn-1.6.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a17c1dea1d56dcda2fac315712f3651a1fea86565b64b48fa1bc090249cbf236"}, + {file = "scikit_learn-1.6.1-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:6a7aa5f9908f0f28f4edaa6963c0a6183f1911e63a69aa03782f0d924c830a35"}, + {file = "scikit_learn-1.6.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0650e730afb87402baa88afbf31c07b84c98272622aaba002559b614600ca691"}, + {file = "scikit_learn-1.6.1-cp313-cp313t-win_amd64.whl", hash = "sha256:3f59fe08dc03ea158605170eb52b22a105f238a5d512c4470ddeca71feae8e5f"}, + {file = "scikit_learn-1.6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6849dd3234e87f55dce1db34c89a810b489ead832aaf4d4550b7ea85628be6c1"}, + {file = "scikit_learn-1.6.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:e7be3fa5d2eb9be7d77c3734ff1d599151bb523674be9b834e8da6abe132f44e"}, + {file = "scikit_learn-1.6.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44a17798172df1d3c1065e8fcf9019183f06c87609b49a124ebdf57ae6cb0107"}, + {file = "scikit_learn-1.6.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8b7a3b86e411e4bce21186e1c180d792f3d99223dcfa3b4f597ecc92fa1a422"}, + {file = "scikit_learn-1.6.1-cp39-cp39-win_amd64.whl", hash = "sha256:7a73d457070e3318e32bdb3aa79a8d990474f19035464dfd8bede2883ab5dc3b"}, + {file = "scikit_learn-1.6.1.tar.gz", hash = "sha256:b4fc2525eca2c69a59260f583c56a7557c6ccdf8deafdba6e060f94c1c59738e"}, +] + +[package.dependencies] +joblib = ">=1.2.0" +numpy = ">=1.19.5" +scipy = ">=1.6.0" +threadpoolctl = ">=3.1.0" + +[package.extras] +benchmark = ["matplotlib (>=3.3.4)", "memory_profiler (>=0.57.0)", "pandas (>=1.1.5)"] +build = ["cython (>=3.0.10)", "meson-python (>=0.16.0)", "numpy (>=1.19.5)", "scipy (>=1.6.0)"] +docs = ["Pillow (>=7.1.2)", "matplotlib (>=3.3.4)", "memory_profiler (>=0.57.0)", "numpydoc (>=1.2.0)", "pandas (>=1.1.5)", "plotly (>=5.14.0)", "polars (>=0.20.30)", "pooch (>=1.6.0)", "pydata-sphinx-theme (>=0.15.3)", "scikit-image (>=0.17.2)", "seaborn (>=0.9.0)", "sphinx (>=7.3.7)", "sphinx-copybutton (>=0.5.2)", "sphinx-design (>=0.5.0)", "sphinx-design (>=0.6.0)", "sphinx-gallery (>=0.17.1)", "sphinx-prompt (>=1.4.0)", "sphinx-remove-toctrees (>=1.0.0.post1)", "sphinxcontrib-sass (>=0.3.4)", "sphinxext-opengraph (>=0.9.1)", "towncrier (>=24.8.0)"] +examples = ["matplotlib (>=3.3.4)", "pandas (>=1.1.5)", "plotly (>=5.14.0)", "pooch (>=1.6.0)", "scikit-image (>=0.17.2)", "seaborn (>=0.9.0)"] +install = ["joblib (>=1.2.0)", "numpy (>=1.19.5)", "scipy (>=1.6.0)", "threadpoolctl (>=3.1.0)"] +maintenance = ["conda-lock (==2.5.6)"] +tests = ["black (>=24.3.0)", "matplotlib (>=3.3.4)", "mypy (>=1.9)", "numpydoc (>=1.2.0)", "pandas (>=1.1.5)", "polars (>=0.20.30)", "pooch (>=1.6.0)", "pyamg (>=4.0.0)", "pyarrow (>=12.0.0)", "pytest (>=7.1.2)", "pytest-cov (>=2.9.0)", "ruff (>=0.5.1)", "scikit-image (>=0.17.2)"] + +[[package]] +name = "scipy" +version = "1.15.2" +description = "Fundamental algorithms for scientific computing in Python" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "scipy-1.15.2-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:a2ec871edaa863e8213ea5df811cd600734f6400b4af272e1c011e69401218e9"}, + {file = "scipy-1.15.2-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:6f223753c6ea76983af380787611ae1291e3ceb23917393079dcc746ba60cfb5"}, + {file = "scipy-1.15.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:ecf797d2d798cf7c838c6d98321061eb3e72a74710e6c40540f0e8087e3b499e"}, + {file = "scipy-1.15.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:9b18aa747da280664642997e65aab1dd19d0c3d17068a04b3fe34e2559196cb9"}, + {file = "scipy-1.15.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:87994da02e73549dfecaed9e09a4f9d58a045a053865679aeb8d6d43747d4df3"}, + {file = "scipy-1.15.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69ea6e56d00977f355c0f84eba69877b6df084516c602d93a33812aa04d90a3d"}, + {file = "scipy-1.15.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:888307125ea0c4466287191e5606a2c910963405ce9671448ff9c81c53f85f58"}, + {file = "scipy-1.15.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9412f5e408b397ff5641080ed1e798623dbe1ec0d78e72c9eca8992976fa65aa"}, + {file = "scipy-1.15.2-cp310-cp310-win_amd64.whl", hash = "sha256:b5e025e903b4f166ea03b109bb241355b9c42c279ea694d8864d033727205e65"}, + {file = "scipy-1.15.2-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:92233b2df6938147be6fa8824b8136f29a18f016ecde986666be5f4d686a91a4"}, + {file = "scipy-1.15.2-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:62ca1ff3eb513e09ed17a5736929429189adf16d2d740f44e53270cc800ecff1"}, + {file = "scipy-1.15.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:4c6676490ad76d1c2894d77f976144b41bd1a4052107902238047fb6a473e971"}, + {file = "scipy-1.15.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:a8bf5cb4a25046ac61d38f8d3c3426ec11ebc350246a4642f2f315fe95bda655"}, + {file = "scipy-1.15.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a8e34cf4c188b6dd004654f88586d78f95639e48a25dfae9c5e34a6dc34547e"}, + {file = "scipy-1.15.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28a0d2c2075946346e4408b211240764759e0fabaeb08d871639b5f3b1aca8a0"}, + {file = "scipy-1.15.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:42dabaaa798e987c425ed76062794e93a243be8f0f20fff6e7a89f4d61cb3d40"}, + {file = "scipy-1.15.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6f5e296ec63c5da6ba6fa0343ea73fd51b8b3e1a300b0a8cae3ed4b1122c7462"}, + {file = "scipy-1.15.2-cp311-cp311-win_amd64.whl", hash = "sha256:597a0c7008b21c035831c39927406c6181bcf8f60a73f36219b69d010aa04737"}, + {file = "scipy-1.15.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c4697a10da8f8765bb7c83e24a470da5797e37041edfd77fd95ba3811a47c4fd"}, + {file = "scipy-1.15.2-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:869269b767d5ee7ea6991ed7e22b3ca1f22de73ab9a49c44bad338b725603301"}, + {file = "scipy-1.15.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:bad78d580270a4d32470563ea86c6590b465cb98f83d760ff5b0990cb5518a93"}, + {file = "scipy-1.15.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:b09ae80010f52efddb15551025f9016c910296cf70adbf03ce2a8704f3a5ad20"}, + {file = "scipy-1.15.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5a6fd6eac1ce74a9f77a7fc724080d507c5812d61e72bd5e4c489b042455865e"}, + {file = "scipy-1.15.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b871df1fe1a3ba85d90e22742b93584f8d2b8e6124f8372ab15c71b73e428b8"}, + {file = "scipy-1.15.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:03205d57a28e18dfd39f0377d5002725bf1f19a46f444108c29bdb246b6c8a11"}, + {file = "scipy-1.15.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:601881dfb761311045b03114c5fe718a12634e5608c3b403737ae463c9885d53"}, + {file = "scipy-1.15.2-cp312-cp312-win_amd64.whl", hash = "sha256:e7c68b6a43259ba0aab737237876e5c2c549a031ddb7abc28c7b47f22e202ded"}, + {file = "scipy-1.15.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:01edfac9f0798ad6b46d9c4c9ca0e0ad23dbf0b1eb70e96adb9fa7f525eff0bf"}, + {file = "scipy-1.15.2-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:08b57a9336b8e79b305a143c3655cc5bdbe6d5ece3378578888d2afbb51c4e37"}, + {file = "scipy-1.15.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:54c462098484e7466362a9f1672d20888f724911a74c22ae35b61f9c5919183d"}, + {file = "scipy-1.15.2-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:cf72ff559a53a6a6d77bd8eefd12a17995ffa44ad86c77a5df96f533d4e6c6bb"}, + {file = "scipy-1.15.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9de9d1416b3d9e7df9923ab23cd2fe714244af10b763975bea9e4f2e81cebd27"}, + {file = "scipy-1.15.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb530e4794fc8ea76a4a21ccb67dea33e5e0e60f07fc38a49e821e1eae3b71a0"}, + {file = "scipy-1.15.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5ea7ed46d437fc52350b028b1d44e002646e28f3e8ddc714011aaf87330f2f32"}, + {file = "scipy-1.15.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:11e7ad32cf184b74380f43d3c0a706f49358b904fa7d5345f16ddf993609184d"}, + {file = "scipy-1.15.2-cp313-cp313-win_amd64.whl", hash = "sha256:a5080a79dfb9b78b768cebf3c9dcbc7b665c5875793569f48bf0e2b1d7f68f6f"}, + {file = "scipy-1.15.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:447ce30cee6a9d5d1379087c9e474628dab3db4a67484be1b7dc3196bfb2fac9"}, + {file = "scipy-1.15.2-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:c90ebe8aaa4397eaefa8455a8182b164a6cc1d59ad53f79943f266d99f68687f"}, + {file = "scipy-1.15.2-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:def751dd08243934c884a3221156d63e15234a3155cf25978b0a668409d45eb6"}, + {file = "scipy-1.15.2-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:302093e7dfb120e55515936cb55618ee0b895f8bcaf18ff81eca086c17bd80af"}, + {file = "scipy-1.15.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7cd5b77413e1855351cdde594eca99c1f4a588c2d63711388b6a1f1c01f62274"}, + {file = "scipy-1.15.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d0194c37037707b2afa7a2f2a924cf7bac3dc292d51b6a925e5fcb89bc5c776"}, + {file = "scipy-1.15.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:bae43364d600fdc3ac327db99659dcb79e6e7ecd279a75fe1266669d9a652828"}, + {file = "scipy-1.15.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f031846580d9acccd0044efd1a90e6f4df3a6e12b4b6bd694a7bc03a89892b28"}, + {file = "scipy-1.15.2-cp313-cp313t-win_amd64.whl", hash = "sha256:fe8a9eb875d430d81755472c5ba75e84acc980e4a8f6204d402849234d3017db"}, + {file = "scipy-1.15.2.tar.gz", hash = "sha256:cd58a314d92838f7e6f755c8a2167ead4f27e1fd5c1251fd54289569ef3495ec"}, +] + +[package.dependencies] +numpy = ">=1.23.5,<2.5" + +[package.extras] +dev = ["cython-lint (>=0.12.2)", "doit (>=0.36.0)", "mypy (==1.10.0)", "pycodestyle", "pydevtool", "rich-click", "ruff (>=0.0.292)", "types-psutil", "typing_extensions"] +doc = ["intersphinx_registry", "jupyterlite-pyodide-kernel", "jupyterlite-sphinx (>=0.16.5)", "jupytext", "matplotlib (>=3.5)", "myst-nb", "numpydoc", "pooch", "pydata-sphinx-theme (>=0.15.2)", "sphinx (>=5.0.0,<8.0.0)", "sphinx-copybutton", "sphinx-design (>=0.4.0)"] +test = ["Cython", "array-api-strict (>=2.0,<2.1.1)", "asv", "gmpy2", "hypothesis (>=6.30)", "meson", "mpmath", "ninja", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"] + +[[package]] +name = "sentencepiece" +version = "0.2.0" +description = "SentencePiece python wrapper" +optional = false +python-versions = "*" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "sentencepiece-0.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:188779e1298a1c8b8253c7d3ad729cb0a9891e5cef5e5d07ce4592c54869e227"}, + {file = "sentencepiece-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bed9cf85b296fa2b76fc2547b9cbb691a523864cebaee86304c43a7b4cb1b452"}, + {file = "sentencepiece-0.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d7b67e724bead13f18db6e1d10b6bbdc454af574d70efbb36f27d90387be1ca3"}, + {file = "sentencepiece-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2fde4b08cfe237be4484c6c7c2e2c75fb862cfeab6bd5449ce4caeafd97b767a"}, + {file = "sentencepiece-0.2.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c378492056202d1c48a4979650981635fd97875a00eabb1f00c6a236b013b5e"}, + {file = "sentencepiece-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1380ce6540a368de2ef6d7e6ba14ba8f3258df650d39ba7d833b79ee68a52040"}, + {file = "sentencepiece-0.2.0-cp310-cp310-win32.whl", hash = "sha256:a1151d6a6dd4b43e552394aed0edfe9292820272f0194bd56c7c1660a0c06c3d"}, + {file = "sentencepiece-0.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:d490142b0521ef22bc1085f061d922a2a6666175bb6b42e588ff95c0db6819b2"}, + {file = "sentencepiece-0.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:17982700c4f6dbb55fa3594f3d7e5dd1c8659a274af3738e33c987d2a27c9d5c"}, + {file = "sentencepiece-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7c867012c0e8bcd5bdad0f791609101cb5c66acb303ab3270218d6debc68a65e"}, + {file = "sentencepiece-0.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7fd6071249c74f779c5b27183295b9202f8dedb68034e716784364443879eaa6"}, + {file = "sentencepiece-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27f90c55a65013cbb8f4d7aab0599bf925cde4adc67ae43a0d323677b5a1c6cb"}, + {file = "sentencepiece-0.2.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b293734059ef656dcd65be62ff771507bea8fed0a711b6733976e1ed3add4553"}, + {file = "sentencepiece-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e58b47f933aca74c6a60a79dcb21d5b9e47416256c795c2d58d55cec27f9551d"}, + {file = "sentencepiece-0.2.0-cp311-cp311-win32.whl", hash = "sha256:c581258cf346b327c62c4f1cebd32691826306f6a41d8c4bec43b010dee08e75"}, + {file = "sentencepiece-0.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:0993dbc665f4113017892f1b87c3904a44d0640eda510abcacdfb07f74286d36"}, + {file = "sentencepiece-0.2.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:ea5f536e32ea8ec96086ee00d7a4a131ce583a1b18d130711707c10e69601cb2"}, + {file = "sentencepiece-0.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d0cb51f53b6aae3c36bafe41e86167c71af8370a039f542c43b0cce5ef24a68c"}, + {file = "sentencepiece-0.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3212121805afc58d8b00ab4e7dd1f8f76c203ddb9dc94aa4079618a31cf5da0f"}, + {file = "sentencepiece-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2a3149e3066c2a75e0d68a43eb632d7ae728c7925b517f4c05c40f6f7280ce08"}, + {file = "sentencepiece-0.2.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:632f3594d3e7ac8b367bca204cb3fd05a01d5b21455acd097ea4c0e30e2f63d7"}, + {file = "sentencepiece-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f295105c6bdbb05bd5e1b0cafbd78ff95036f5d3641e7949455a3f4e5e7c3109"}, + {file = "sentencepiece-0.2.0-cp312-cp312-win32.whl", hash = "sha256:fb89f811e5efd18bab141afc3fea3de141c3f69f3fe9e898f710ae7fe3aab251"}, + {file = "sentencepiece-0.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:7a673a72aab81fef5ebe755c6e0cc60087d1f3a4700835d40537183c1703a45f"}, + {file = "sentencepiece-0.2.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:4547683f330289ec4f093027bfeb87f9ef023b2eb6f879fdc4a8187c7e0ffb90"}, + {file = "sentencepiece-0.2.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7cd6175f7eaec7142d2bf6f6597ce7db4c9ac89acf93fcdb17410c3a8b781eeb"}, + {file = "sentencepiece-0.2.0-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:859ba1acde782609a0910a26a60e16c191a82bf39b5621107552c0cd79fad00f"}, + {file = "sentencepiece-0.2.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bcbbef6cc277f8f18f36959e305f10b1c620442d75addc79c21d7073ae581b50"}, + {file = "sentencepiece-0.2.0-cp36-cp36m-win32.whl", hash = "sha256:536b934e244829e3fe6c4f198652cd82da48adb9aa145c9f00889542726dee3d"}, + {file = "sentencepiece-0.2.0-cp36-cp36m-win_amd64.whl", hash = "sha256:0a91aaa3c769b52440df56fafda683b3aa48e3f2169cf7ee5b8c8454a7f3ae9b"}, + {file = "sentencepiece-0.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:787e480ca4c1d08c9985a7eb1eae4345c107729c99e9b5a9a00f2575fc7d4b4b"}, + {file = "sentencepiece-0.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4d158189eb2ecffea3a51edf6d25e110b3678ec47f1a40f2d541eafbd8f6250"}, + {file = "sentencepiece-0.2.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d1e5ca43013e8935f25457a4fca47e315780172c3e821b4b13a890668911c792"}, + {file = "sentencepiece-0.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7140d9e5a74a0908493bb4a13f1f16a401297bd755ada4c707e842fbf6f0f5bf"}, + {file = "sentencepiece-0.2.0-cp37-cp37m-win32.whl", hash = "sha256:6cf333625234f247ab357b0bd9836638405ea9082e1543d5b8408f014979dcbf"}, + {file = "sentencepiece-0.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:ff88712338b01031910e8e61e7239aff3ce8869ee31a47df63cb38aadd591bea"}, + {file = "sentencepiece-0.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:20813a68d4c221b1849c62c30e1281ea81687894d894b8d4a0f4677d9311e0f5"}, + {file = "sentencepiece-0.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:926ef920ae2e8182db31d3f5d081ada57804e3e1d3a8c4ef8b117f9d9fb5a945"}, + {file = "sentencepiece-0.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:89f65f69636b7e9c015b79dff9c9985a9bc7d19ded6f79ef9f1ec920fdd73ecf"}, + {file = "sentencepiece-0.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f67eae0dbe6f2d7d6ba50a354623d787c99965f068b81e145d53240198021b0"}, + {file = "sentencepiece-0.2.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:98501e075f35dd1a1d5a20f65be26839fcb1938752ec61539af008a5aa6f510b"}, + {file = "sentencepiece-0.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3d1d2cc4882e8d6a1adf9d5927d7716f80617fc693385661caff21888972269"}, + {file = "sentencepiece-0.2.0-cp38-cp38-win32.whl", hash = "sha256:b99a308a2e5e569031ab164b74e6fab0b6f37dfb493c32f7816225f4d411a6dd"}, + {file = "sentencepiece-0.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:cdb701eec783d3ec86b7cd4c763adad8eaf6b46db37ee1c36e5e6c44b3fe1b5f"}, + {file = "sentencepiece-0.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:1e0f9c4d0a6b0af59b613175f019916e28ade076e21242fd5be24340d8a2f64a"}, + {file = "sentencepiece-0.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:298f21cc1366eb60311aedba3169d30f885c363ddbf44214b0a587d2908141ad"}, + {file = "sentencepiece-0.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3f1ec95aa1e5dab11f37ac7eff190493fd87770f7a8b81ebc9dd768d1a3c8704"}, + {file = "sentencepiece-0.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b06b70af54daa4b4904cbb90b4eb6d35c9f3252fdc86c9c32d5afd4d30118d8"}, + {file = "sentencepiece-0.2.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22e37bac44dd6603388cb598c64ff7a76e41ca774646f21c23aadfbf5a2228ab"}, + {file = "sentencepiece-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0461324897735512a32d222e3d886e24ad6a499761952b6bda2a9ee6e4313ea5"}, + {file = "sentencepiece-0.2.0-cp39-cp39-win32.whl", hash = "sha256:38aed822fb76435fa1f12185f10465a94ab9e51d5e8a9159e9a540ce926f0ffd"}, + {file = "sentencepiece-0.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:d8cf876516548b5a1d6ac4745d8b554f5c07891d55da557925e5c13ff0b4e6ad"}, + {file = "sentencepiece-0.2.0.tar.gz", hash = "sha256:a52c19171daaf2e697dc6cbe67684e0fa341b1248966f6aebb541de654d15843"}, +] + +[[package]] +name = "sentry-sdk" +version = "2.22.0" +description = "Python client for Sentry (https://sentry.io)" +optional = false +python-versions = ">=3.6" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "sentry_sdk-2.22.0-py2.py3-none-any.whl", hash = "sha256:3d791d631a6c97aad4da7074081a57073126c69487560c6f8bffcf586461de66"}, + {file = "sentry_sdk-2.22.0.tar.gz", hash = "sha256:b4bf43bb38f547c84b2eadcefbe389b36ef75f3f38253d7a74d6b928c07ae944"}, +] + +[package.dependencies] +certifi = "*" +urllib3 = ">=1.26.11" + +[package.extras] +aiohttp = ["aiohttp (>=3.5)"] +anthropic = ["anthropic (>=0.16)"] +arq = ["arq (>=0.23)"] +asyncpg = ["asyncpg (>=0.23)"] +beam = ["apache-beam (>=2.12)"] +bottle = ["bottle (>=0.12.13)"] +celery = ["celery (>=3)"] +celery-redbeat = ["celery-redbeat (>=2)"] +chalice = ["chalice (>=1.16.0)"] +clickhouse-driver = ["clickhouse-driver (>=0.2.0)"] +django = ["django (>=1.8)"] +falcon = ["falcon (>=1.4)"] +fastapi = ["fastapi (>=0.79.0)"] +flask = ["blinker (>=1.1)", "flask (>=0.11)", "markupsafe"] +grpcio = ["grpcio (>=1.21.1)", "protobuf (>=3.8.0)"] +http2 = ["httpcore[http2] (==1.*)"] +httpx = ["httpx (>=0.16.0)"] +huey = ["huey (>=2)"] +huggingface-hub = ["huggingface_hub (>=0.22)"] +langchain = ["langchain (>=0.0.210)"] +launchdarkly = ["launchdarkly-server-sdk (>=9.8.0)"] +litestar = ["litestar (>=2.0.0)"] +loguru = ["loguru (>=0.5)"] +openai = ["openai (>=1.0.0)", "tiktoken (>=0.3.0)"] +openfeature = ["openfeature-sdk (>=0.7.1)"] +opentelemetry = ["opentelemetry-distro (>=0.35b0)"] +opentelemetry-experimental = ["opentelemetry-distro"] +pure-eval = ["asttokens", "executing", "pure_eval"] +pymongo = ["pymongo (>=3.1)"] +pyspark = ["pyspark (>=2.4.4)"] +quart = ["blinker (>=1.1)", "quart (>=0.16.1)"] +rq = ["rq (>=0.6)"] +sanic = ["sanic (>=0.8)"] +sqlalchemy = ["sqlalchemy (>=1.2)"] +starlette = ["starlette (>=0.19.1)"] +starlite = ["starlite (>=1.48)"] +statsig = ["statsig (>=0.55.3)"] +tornado = ["tornado (>=6)"] +unleash = ["UnleashClient (>=6.0.1)"] + +[[package]] +name = "setproctitle" +version = "1.3.5" +description = "A Python module to customize the process title" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "setproctitle-1.3.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:02870e0cb0de7f68a7a8a5b23c2bc0ce63821cab3d9b126f9be80bb6cd674c80"}, + {file = "setproctitle-1.3.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:55b278135be742b8901067479626d909f6613bd2d2c4fd0de6bb46f80e07a919"}, + {file = "setproctitle-1.3.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:53fc971f7bf7a674f571a23cdec70f2f0ac88152c59c06aa0808d0be6d834046"}, + {file = "setproctitle-1.3.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fb0500e1bc6f00b8ba696c3743ddff14c8679e3c2ca9d292c008ac51488d17cf"}, + {file = "setproctitle-1.3.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:995b3ac1b5fe510f4e1d1c19ebf19f4bceb448f2d6e8d99ea23f33cb6f1a277e"}, + {file = "setproctitle-1.3.5-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5a05e2c3fdfbda32b9c9da72d0506398d1efb5bd2c5981b9e12d3622eb3d4f9"}, + {file = "setproctitle-1.3.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:310c7f4ca4c8476a9840b2cd4b22ee602a49a3c902fdcd2dd8284685abd10a9a"}, + {file = "setproctitle-1.3.5-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:867af4a5c3d85484fbcc50ea88bcd375acf709cff88a3259575361849c0da351"}, + {file = "setproctitle-1.3.5-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8ec0a7fe9f1ba90900144489bc93ce7dd4dec3f3df1e7f188c9e58364fe4a4c5"}, + {file = "setproctitle-1.3.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:aaee7acba2733a14a886488b7495bfec4a8d6407124c04a0946dbde1684230a3"}, + {file = "setproctitle-1.3.5-cp310-cp310-win32.whl", hash = "sha256:bd2cccd972e4282af4ce2c13cd9ebdf07be157eabafd8ce648fffdc8ae6fbe28"}, + {file = "setproctitle-1.3.5-cp310-cp310-win_amd64.whl", hash = "sha256:81f2328ac34c9584e1e5f87eea916c0bc48476a06606a07debae07acdd7ab5ea"}, + {file = "setproctitle-1.3.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1c8dcc250872385f2780a5ea58050b58cbc8b6a7e8444952a5a65c359886c593"}, + {file = "setproctitle-1.3.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ca82fae9eb4800231dd20229f06e8919787135a5581da245b8b05e864f34cc8b"}, + {file = "setproctitle-1.3.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0424e1d33232322541cb36fb279ea5242203cd6f20de7b4fb2a11973d8e8c2ce"}, + {file = "setproctitle-1.3.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fec8340ab543144d04a9d805d80a0aad73fdeb54bea6ff94e70d39a676ea4ec0"}, + {file = "setproctitle-1.3.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eab441c89f181271ab749077dcc94045a423e51f2fb0b120a1463ef9820a08d0"}, + {file = "setproctitle-1.3.5-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2c371550a2288901a0dcd84192691ebd3197a43c95f3e0b396ed6d1cedf5c6c"}, + {file = "setproctitle-1.3.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:78288ff5f9c415c56595b2257ad218936dd9fa726b36341b373b31ca958590fe"}, + {file = "setproctitle-1.3.5-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f1f13a25fc46731acab518602bb1149bfd8b5fabedf8290a7c0926d61414769d"}, + {file = "setproctitle-1.3.5-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:1534d6cd3854d035e40bf4c091984cbdd4d555d7579676d406c53c8f187c006f"}, + {file = "setproctitle-1.3.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:62a01c76708daac78b9688ffb95268c57cb57fa90b543043cda01358912fe2db"}, + {file = "setproctitle-1.3.5-cp311-cp311-win32.whl", hash = "sha256:ea07f29735d839eaed985990a0ec42c8aecefe8050da89fec35533d146a7826d"}, + {file = "setproctitle-1.3.5-cp311-cp311-win_amd64.whl", hash = "sha256:ab3ae11e10d13d514d4a5a15b4f619341142ba3e18da48c40e8614c5a1b5e3c3"}, + {file = "setproctitle-1.3.5-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:523424b9be4dea97d95b8a584b183f35c7bab2d0a3d995b01febf5b8a8de90e4"}, + {file = "setproctitle-1.3.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b6ec1d86c1b4d7b5f2bdceadf213310cf24696b82480a2a702194b8a0bfbcb47"}, + {file = "setproctitle-1.3.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea6c505264275a43e9b2acd2acfc11ac33caf52bc3167c9fced4418a810f6b1c"}, + {file = "setproctitle-1.3.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0b91e68e6685998e6353f296100ecabc313a6cb3e413d66a03d74b988b61f5ff"}, + {file = "setproctitle-1.3.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bc1fda208ae3a2285ad27aeab44c41daf2328abe58fa3270157a739866779199"}, + {file = "setproctitle-1.3.5-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:828727d220e46f048b82289018300a64547b46aaed96bf8810c05fe105426b41"}, + {file = "setproctitle-1.3.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:83b016221cf80028b2947be20630faa14e3e72a403e35f0ba29550b4e856767b"}, + {file = "setproctitle-1.3.5-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:6d8a411e752e794d052434139ca4234ffeceeb8d8d8ddc390a9051d7942b2726"}, + {file = "setproctitle-1.3.5-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:50cfbf86b9c63a2c2903f1231f0a58edeb775e651ae1af84eec8430b0571f29b"}, + {file = "setproctitle-1.3.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f3b5e2eacd572444770026c9dd3ddc7543ce427cdf452d40a408d1e95beefb30"}, + {file = "setproctitle-1.3.5-cp312-cp312-win32.whl", hash = "sha256:cf4e3ded98027de2596c6cc5bbd3302adfb3ca315c848f56516bb0b7e88de1e9"}, + {file = "setproctitle-1.3.5-cp312-cp312-win_amd64.whl", hash = "sha256:f7a8c01ffd013dda2bed6e7d5cb59fbb609e72f805abf3ee98360f38f7758d9b"}, + {file = "setproctitle-1.3.5-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:162fd76781f57f42ddf27c475e5fef6a8df4fdd69b28dd554e53e2eb2bfe0f95"}, + {file = "setproctitle-1.3.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4969d996bdfbe23bbd023cd0bae6c73a27371615c4ec5296a60cecce268659ef"}, + {file = "setproctitle-1.3.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd70c95a94473216e7c7a7a1f7d8ecbaca5b16d4ba93ddbfd32050fc485a8451"}, + {file = "setproctitle-1.3.5-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7a887582bfdb6dcbc482db0ef9e630ad23ca95875806ef2b444bf6fbd7b7d7ca"}, + {file = "setproctitle-1.3.5-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:755671c39a9e70834eeec6dc6b61e344399c49881d2e7ea3534a1c69669dd9cc"}, + {file = "setproctitle-1.3.5-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ab52b4c2ce056a1b60d439991a81ca90f019488d4b4f64b2779e6badd3677e6"}, + {file = "setproctitle-1.3.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:36178b944019ec7fc52bb967ffeee296a11d373734a7be276755bedb3db5c141"}, + {file = "setproctitle-1.3.5-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:269d41cd4f085b69821d1ee6599124f02dbbc79962b256e260b6c9021d037994"}, + {file = "setproctitle-1.3.5-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:d880630fd81d1b3bde121c352ca7ea2f2ff507ef40c3c011d0928ed491f912c9"}, + {file = "setproctitle-1.3.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8a7fed67ab49f60bd51f3b4cffff3f8d754d1bb0a40e42869911301ec6519b65"}, + {file = "setproctitle-1.3.5-cp313-cp313-win32.whl", hash = "sha256:e9c0d0cfcf715631b10d5950d04a9978f63bc46535724ef7c2eaf1dca9988642"}, + {file = "setproctitle-1.3.5-cp313-cp313-win_amd64.whl", hash = "sha256:e1d28eb98c91fbebd3e443a45c7da5d84974959851ef304c330eabd654a386f1"}, + {file = "setproctitle-1.3.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:8995a1217b52d11d92bafd069961a47c5e13d8751ca976a32b3ecbbd471eaf9b"}, + {file = "setproctitle-1.3.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ae2ce64ea87837c4e3e65a7a232ff80cf09aa7d916e74cb34a245c47fcd87981"}, + {file = "setproctitle-1.3.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20b84de1780bbb0adc67560a113a0ea57e6ecfce2325680de8efe6c2a2f781ac"}, + {file = "setproctitle-1.3.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1b1d2628ac9868f960d7e87b3a9b2bb337104c3644b699e52e01efd7e106e4fe"}, + {file = "setproctitle-1.3.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fa912c4d08c66afda30dd5af8f2e9c59065dfc36a51edbd5419c3a7c962875aa"}, + {file = "setproctitle-1.3.5-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc4f783e100f8b451cd92fcabd3b831edfb1f7cb02be4a79b972f138e0001885"}, + {file = "setproctitle-1.3.5-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8ca56e39d10b6758046694a84950e5c5570a034c409ef3337595f64fc2cfa94d"}, + {file = "setproctitle-1.3.5-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:8915d69260ba6a6aaf9a48f6b53dbf9f8e4dc0cb4ae25bc5edb16a1666b6e47c"}, + {file = "setproctitle-1.3.5-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:7edd4fbb9fd17ed0e5a7f8bde9fa61c3987a34372084c45bab4eab6a2e554762"}, + {file = "setproctitle-1.3.5-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:d0b19fd76d46b8096a463724739c3b09cf5ce38317f559f56f424f6ce7158de3"}, + {file = "setproctitle-1.3.5-cp38-cp38-win32.whl", hash = "sha256:53ce572cdbd43a0bed2aa24299cd823ebf233a7fa720cc7f8634728c213679c0"}, + {file = "setproctitle-1.3.5-cp38-cp38-win_amd64.whl", hash = "sha256:a58f00f35d6038ce1e8a9e5f87cb5ecce13ce118c5977a603566ad1fccc8d2cb"}, + {file = "setproctitle-1.3.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c4b299b5bbadf00034978b8d741c85af25173146747eb9dab22596ec805a52d6"}, + {file = "setproctitle-1.3.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d57e7626329d4fb138da5ce15270b08a91326969956fb19c7a8fec2639066704"}, + {file = "setproctitle-1.3.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4272295721cf1fd2acf960b674d6dc09bec87f2a1e48995817b4ec4a3d483faf"}, + {file = "setproctitle-1.3.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f8305b6e6c203222c61318f338f1de08269ec66c247bf251593c215ff1fbeaf9"}, + {file = "setproctitle-1.3.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:becc9f3f605936506d2bd63d9cf817b7ee66b10d204184c4a633064dbed579d6"}, + {file = "setproctitle-1.3.5-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4629de80c47155a26e8d87a0a92d9428aa8d79ccfe2c20fd18888580619704e1"}, + {file = "setproctitle-1.3.5-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f1af1d310b5b6cda692da52bd862a9833086c0a3f8380fa92505dd23857dcf60"}, + {file = "setproctitle-1.3.5-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3bb6ea3d6e690677619508050bc681d86223723bdf67e4e8a8dffc3d04ca3044"}, + {file = "setproctitle-1.3.5-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:322067ef1ffe70d297b00bee8a3862fed96021aa4318e3bce2d7c3bfa7a8d1e7"}, + {file = "setproctitle-1.3.5-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1b58d49c32a46c48dcc2812635a89e6bee31139b03818da49a0bbaeaf01edef9"}, + {file = "setproctitle-1.3.5-cp39-cp39-win32.whl", hash = "sha256:707c23d4a88f5e66f1005d93558bf84eb45fc0fb0c4f33480a0c7d0895e8e848"}, + {file = "setproctitle-1.3.5-cp39-cp39-win_amd64.whl", hash = "sha256:c64199a73d442a06d372b5286942229a43e86fa41bf36f317dcc60c036aff0bb"}, + {file = "setproctitle-1.3.5-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:dc66b84beb0d5eb03abf0c3140c6d2cbe3d67ae9f0824a09dfa8c6ff164319a6"}, + {file = "setproctitle-1.3.5-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:31dc9b330e7cac7685bdef790747c07914081c11ee1066eb0c597303dfb52010"}, + {file = "setproctitle-1.3.5-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4028639b511f5e641d116b3b54ad70c637ebd1b4baac0948283daf11b104119f"}, + {file = "setproctitle-1.3.5-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:6bddef4e27d0ed74e44b58bf050bc3108591bf17d20d461fc59cd141282f849c"}, + {file = "setproctitle-1.3.5-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:9996be1d1df399c3cdc6d72ce0064e46bc74fc6e29fe16a328511a303dd4d418"}, + {file = "setproctitle-1.3.5-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5cefc2dbdc48121022c3c05644cd3706f08e0b3c0ce07814d3c04daba0617936"}, + {file = "setproctitle-1.3.5-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cef63879c79a570aabf7c158f453bf8d1285f0fda4b6b9b7a52d64b49c084d40"}, + {file = "setproctitle-1.3.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:a863296a31fb578726c570314cb78ff3a3fddb65963dc01ea33731760f20a92c"}, + {file = "setproctitle-1.3.5-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:b63bda3cb4b6526720dc7c6940b891c593f41771d119aeb8763875801ce2296d"}, + {file = "setproctitle-1.3.5-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:95913af603da5b4c7635bf1fb67ecc5df7c18360b6cfb6740fd743bb150a6e17"}, + {file = "setproctitle-1.3.5-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36b130cf8fe76dc05ad1d48cc9ff3699eb1f0d8edbf6f46a3ce46a7041e49d7b"}, + {file = "setproctitle-1.3.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:fe3bfd5e51c24349d022e062a96c316a1b8862ea9a0cf5ea2a8b2ae008b77cec"}, + {file = "setproctitle-1.3.5.tar.gz", hash = "sha256:1e6eaeaf8a734d428a95d8c104643b39af7d247d604f40a7bebcf3960a853c5e"}, +] + +[package.extras] +test = ["pytest"] + +[[package]] +name = "setuptools" +version = "76.0.0" +description = "Easily download, build, install, upgrade, and uninstall Python packages" +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "setuptools-76.0.0-py3-none-any.whl", hash = "sha256:199466a166ff664970d0ee145839f5582cb9bca7a0a3a2e795b6a9cb2308e9c6"}, + {file = "setuptools-76.0.0.tar.gz", hash = "sha256:43b4ee60e10b0d0ee98ad11918e114c70701bc6051662a9a675a0496c1a158f4"}, +] + +[package.extras] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.8.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.7.2)", "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.14.*)", "pytest-mypy"] + +[[package]] +name = "six" +version = "1.17.0" +description = "Python 2 and 3 compatibility utilities" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"}, + {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, +] + +[[package]] +name = "smart-open" +version = "6.4.0" +description = "Utils for streaming large files (S3, HDFS, GCS, Azure Blob Storage, gzip, bz2...)" +optional = false +python-versions = ">=3.6,<4.0" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "smart_open-6.4.0-py3-none-any.whl", hash = "sha256:8d3ef7e6997e8e42dd55c74166ed21e6ac70664caa32dd940b26d54a8f6b4142"}, + {file = "smart_open-6.4.0.tar.gz", hash = "sha256:be3c92c246fbe80ebce8fbacb180494a481a77fcdcb7c1aadb2ea5b9c2bee8b9"}, +] + +[package.extras] +all = ["azure-common", "azure-core", "azure-storage-blob", "boto3", "google-cloud-storage (>=2.6.0)", "paramiko", "requests"] +azure = ["azure-common", "azure-core", "azure-storage-blob"] +gcs = ["google-cloud-storage (>=2.6.0)"] +http = ["requests"] +s3 = ["boto3"] +ssh = ["paramiko"] +test = ["azure-common", "azure-core", "azure-storage-blob", "boto3", "google-cloud-storage (>=2.6.0)", "moto[server]", "paramiko", "pytest", "pytest-rerunfailures", "requests", "responses"] +webhdfs = ["requests"] + +[[package]] +name = "smmap" +version = "5.0.2" +description = "A pure Python implementation of a sliding window memory map manager" +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "smmap-5.0.2-py3-none-any.whl", hash = "sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e"}, + {file = "smmap-5.0.2.tar.gz", hash = "sha256:26ea65a03958fa0c8a1c7e8c7a58fdc77221b8910f6be2131affade476898ad5"}, +] + +[[package]] +name = "sniffio" +version = "1.3.1" +description = "Sniff out which async library your code is running under" +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +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 = "spacy" +version = "3.7.2" +description = "Industrial-strength Natural Language Processing (NLP) in Python" +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "spacy-3.7.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b4e285366d36c85f784d606a2d966912a18f4d24d47330c1c6acbdd9f19ee373"}, + {file = "spacy-3.7.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f132c05368781be5d3be3d706afce7e7a9a0c9edc0dbb7c616162c37bc386561"}, + {file = "spacy-3.7.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e3767b2cabbe337d62779ae4fdc4d57a39755c17dfc499de3ad2bae622caa43"}, + {file = "spacy-3.7.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a748ade269bdbea9baaa49ec00882404e7e921163cdc14f5612320d0a957dfd"}, + {file = "spacy-3.7.2-cp310-cp310-win_amd64.whl", hash = "sha256:66467128e494bfa4dc9c3996e4cbb26bac4741bca4cdd8dd83a6e71182148945"}, + {file = "spacy-3.7.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5af30aea578e7414fb0eb4dbad0ff0fa0a7d8e833c3e733eceb2617534714c7d"}, + {file = "spacy-3.7.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7293de33b1e9ede151555070ad0fee3bac98aefcaac9e615eeeb4296846bd479"}, + {file = "spacy-3.7.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26940681cf20c8831c558e2c3d345ff20b5bc3c5e6d41c66172d0c5136042f0b"}, + {file = "spacy-3.7.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a334667625153f7aaf188c20af7e82c886e41a88483a056accba5a7d51095c6"}, + {file = "spacy-3.7.2-cp311-cp311-win_amd64.whl", hash = "sha256:43e6147d3583b62a2d3af0cd913ac025068196d587345751e198391ff0b8c1e9"}, + {file = "spacy-3.7.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:2558df8c11905a0f77a2a3639a12ef8a522d171bcd88eaec039bedf6c60d7e01"}, + {file = "spacy-3.7.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:df1b9c4bbadc89bad10dba226d52c113e231ea6ad35c8a916ab138b31f69fa24"}, + {file = "spacy-3.7.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bbbe055d2170ac7505a9f580bbdcd2146d0701bdbd6cea2333e18b0db655b97a"}, + {file = "spacy-3.7.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d35129b16ae2ca4212bf22a5c88b67b1e019e434fc48b69d3b95f80bc9e14e42"}, + {file = "spacy-3.7.2-cp312-cp312-win_amd64.whl", hash = "sha256:a7419682aba99624cc4df7df66764b6ec62ff415f32c3682c1af2a37bd11a913"}, + {file = "spacy-3.7.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b12ab9c4923ffd38da84baf09464982da44e8275d680fb3c5da2051d7dd7bd2d"}, + {file = "spacy-3.7.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09c5c9db529dc1caa908813c58ba1643e929d2c811768596a2b64e2e01a882b1"}, + {file = "spacy-3.7.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bcaad95e3e7d0ea8f381f3e2d9e80b7f346ecb6566de9bd55361736fa563fc22"}, + {file = "spacy-3.7.2-cp37-cp37m-win_amd64.whl", hash = "sha256:5d9b12284871ca5daa7774604a964486957567a86f1af898da0260e94b815e0d"}, + {file = "spacy-3.7.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2bd89770f61d5980e788ef382297322cceb7dcc4b848d68cb1da8af7d80d6eb6"}, + {file = "spacy-3.7.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:d42f9151a2f01b34227ed31c8db8b7c67889ebcc637eae390faec8093ea1fb12"}, + {file = "spacy-3.7.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c3d25d2f22ba1d2dd46d103e4a54826582de2b853b6f95dfb97b005563b38838"}, + {file = "spacy-3.7.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:730f23340dd157817d2da6df21f69966791b0bdbd6ea108845a65f3e1c0e981c"}, + {file = "spacy-3.7.2-cp38-cp38-win_amd64.whl", hash = "sha256:9c2f3f04b4b894a6c42ee93cec2f2b158f246f344927e65d9d19b72c5a6493ea"}, + {file = "spacy-3.7.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b22e0e8dac76740d55556fa13ebb9e1c829779ea0b7ec7a9e04f32efc66f74b9"}, + {file = "spacy-3.7.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ad7f378350104ca1f9e81180485d8b094aad7acb9b4bce84f1387b905cf230a2"}, + {file = "spacy-3.7.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ccbffb7825c08c0586ef7384d0aa23196f9ac106b5c7b3c551907316930f94f"}, + {file = "spacy-3.7.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:111955d7f4786b952672e9c5cfd9f8b74d81e64b62d479f71efe9cfc2a027a1d"}, + {file = "spacy-3.7.2-cp39-cp39-win_amd64.whl", hash = "sha256:e8a7291e7e1cfcb6041b26f96d0a66b603725c1beff4e0391c3d9226fae16e04"}, + {file = "spacy-3.7.2.tar.gz", hash = "sha256:cedf4927bf0d3fec773a6ce48d5d2c91bdb02fed3c7d5ec07bdb873f1126f1a0"}, +] + +[package.dependencies] +catalogue = ">=2.0.6,<2.1.0" +cymem = ">=2.0.2,<2.1.0" +jinja2 = "*" +langcodes = ">=3.2.0,<4.0.0" +murmurhash = ">=0.28.0,<1.1.0" +numpy = {version = ">=1.19.0", markers = "python_version >= \"3.9\""} +packaging = ">=20.0" +preshed = ">=3.0.2,<3.1.0" +pydantic = ">=1.7.4,<1.8 || >1.8,<1.8.1 || >1.8.1,<3.0.0" +requests = ">=2.13.0,<3.0.0" +setuptools = "*" +smart-open = ">=5.2.1,<7.0.0" +spacy-legacy = ">=3.0.11,<3.1.0" +spacy-loggers = ">=1.0.0,<2.0.0" +srsly = ">=2.4.3,<3.0.0" +thinc = ">=8.1.8,<8.3.0" +tqdm = ">=4.38.0,<5.0.0" +typer = ">=0.3.0,<0.10.0" +wasabi = ">=0.9.1,<1.2.0" +weasel = ">=0.1.0,<0.4.0" + +[package.extras] +apple = ["thinc-apple-ops (>=0.1.0.dev0,<1.0.0)"] +cuda = ["cupy (>=5.0.0b4,<13.0.0)"] +cuda-autodetect = ["cupy-wheel (>=11.0.0,<13.0.0)"] +cuda100 = ["cupy-cuda100 (>=5.0.0b4,<13.0.0)"] +cuda101 = ["cupy-cuda101 (>=5.0.0b4,<13.0.0)"] +cuda102 = ["cupy-cuda102 (>=5.0.0b4,<13.0.0)"] +cuda110 = ["cupy-cuda110 (>=5.0.0b4,<13.0.0)"] +cuda111 = ["cupy-cuda111 (>=5.0.0b4,<13.0.0)"] +cuda112 = ["cupy-cuda112 (>=5.0.0b4,<13.0.0)"] +cuda113 = ["cupy-cuda113 (>=5.0.0b4,<13.0.0)"] +cuda114 = ["cupy-cuda114 (>=5.0.0b4,<13.0.0)"] +cuda115 = ["cupy-cuda115 (>=5.0.0b4,<13.0.0)"] +cuda116 = ["cupy-cuda116 (>=5.0.0b4,<13.0.0)"] +cuda117 = ["cupy-cuda117 (>=5.0.0b4,<13.0.0)"] +cuda11x = ["cupy-cuda11x (>=11.0.0,<13.0.0)"] +cuda12x = ["cupy-cuda12x (>=11.5.0,<13.0.0)"] +cuda80 = ["cupy-cuda80 (>=5.0.0b4,<13.0.0)"] +cuda90 = ["cupy-cuda90 (>=5.0.0b4,<13.0.0)"] +cuda91 = ["cupy-cuda91 (>=5.0.0b4,<13.0.0)"] +cuda92 = ["cupy-cuda92 (>=5.0.0b4,<13.0.0)"] +ja = ["sudachidict-core (>=20211220)", "sudachipy (>=0.5.2,!=0.6.1)"] +ko = ["natto-py (>=0.9.0)"] +lookups = ["spacy-lookups-data (>=1.0.3,<1.1.0)"] +th = ["pythainlp (>=2.0)"] +transformers = ["spacy-transformers (>=1.1.2,<1.4.0)"] + +[[package]] +name = "spacy-legacy" +version = "3.0.12" +description = "Legacy registered functions for spaCy backwards compatibility" +optional = false +python-versions = ">=3.6" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "spacy-legacy-3.0.12.tar.gz", hash = "sha256:b37d6e0c9b6e1d7ca1cf5bc7152ab64a4c4671f59c85adaf7a3fcb870357a774"}, + {file = "spacy_legacy-3.0.12-py2.py3-none-any.whl", hash = "sha256:476e3bd0d05f8c339ed60f40986c07387c0a71479245d6d0f4298dbd52cda55f"}, +] + +[[package]] +name = "spacy-loggers" +version = "1.0.5" +description = "Logging utilities for SpaCy" +optional = false +python-versions = ">=3.6" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "spacy-loggers-1.0.5.tar.gz", hash = "sha256:d60b0bdbf915a60e516cc2e653baeff946f0cfc461b452d11a4d5458c6fe5f24"}, + {file = "spacy_loggers-1.0.5-py3-none-any.whl", hash = "sha256:196284c9c446cc0cdb944005384270d775fdeaf4f494d8e269466cfa497ef645"}, +] + +[[package]] +name = "srsly" +version = "2.5.1" +description = "Modern high-performance serialization utilities for Python" +optional = false +python-versions = "<3.14,>=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "srsly-2.5.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d0cda6f65cc0dd1daf47e856b0d6c5d51db8a9343c5007723ca06903dcfe367d"}, + {file = "srsly-2.5.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cf643e6f45c266cfacea54997a1f9cfe0113fadac1ac21a1ec5b200cfe477ba0"}, + {file = "srsly-2.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:467ed25ddab09ca9404fda92519a317c803b5ea0849f846e74ba8b7843557df5"}, + {file = "srsly-2.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5f8113d202664b7d31025bdbe40b9d3536e8d7154d09520b6a1955818fa6d622"}, + {file = "srsly-2.5.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:794d39fccd2b333d24f1b445acc78daf90f3f37d3c0f6f0167f25c56961804e7"}, + {file = "srsly-2.5.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:df7fd77457c4d6c630f700b1019a8ad173e411e7cf7cfdea70e5ed86b608083b"}, + {file = "srsly-2.5.1-cp310-cp310-win_amd64.whl", hash = "sha256:1a4dddb2edb8f7974c9aa5ec46dc687a75215b3bbdc815ce3fc9ea68fe1e94b5"}, + {file = "srsly-2.5.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:58f0736794ce00a71d62a39cbba1d62ea8d5be4751df956e802d147da20ecad7"}, + {file = "srsly-2.5.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7a8269c40859806d71920396d185f4f38dc985cdb6a28d3a326a701e29a5f629"}, + {file = "srsly-2.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:889905900401fefc1032e22b73aecbed8b4251aa363f632b2d1f86fc16f1ad8e"}, + {file = "srsly-2.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf454755f22589df49c25dc799d8af7b47dce3d861dded35baf0f0b6ceab4422"}, + {file = "srsly-2.5.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cc0607c8a59013a51dde5c1b4e465558728e9e0a35dcfa73c7cbefa91a0aad50"}, + {file = "srsly-2.5.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d5421ba3ab3c790e8b41939c51a1d0f44326bfc052d7a0508860fb79a47aee7f"}, + {file = "srsly-2.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:b96ea5a9a0d0379a79c46d255464a372fb14c30f59a8bc113e4316d131a530ab"}, + {file = "srsly-2.5.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:683b54ed63d7dfee03bc2abc4b4a5f2152f81ec217bbadbac01ef1aaf2a75790"}, + {file = "srsly-2.5.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:459d987130e57e83ce9e160899afbeb871d975f811e6958158763dd9a8a20f23"}, + {file = "srsly-2.5.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:184e3c98389aab68ff04aab9095bd5f1a8e5a72cc5edcba9d733bac928f5cf9f"}, + {file = "srsly-2.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00c2a3e4856e63b7efd47591d049aaee8e5a250e098917f50d93ea68853fab78"}, + {file = "srsly-2.5.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:366b4708933cd8d6025c13c2cea3331f079c7bb5c25ec76fca392b6fc09818a0"}, + {file = "srsly-2.5.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c8a0b03c64eb6e150d772c5149befbadd981cc734ab13184b0561c17c8cef9b1"}, + {file = "srsly-2.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:7952538f6bba91b9d8bf31a642ac9e8b9ccc0ccbb309feb88518bfb84bb0dc0d"}, + {file = "srsly-2.5.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:84b372f7ef1604b4a5b3cee1571993931f845a5b58652ac01bcb32c52586d2a8"}, + {file = "srsly-2.5.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6ac3944c112acb3347a39bfdc2ebfc9e2d4bace20fe1c0b764374ac5b83519f2"}, + {file = "srsly-2.5.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6118f9c4b221cde0a990d06a42c8a4845218d55b425d8550746fe790acf267e9"}, + {file = "srsly-2.5.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7481460110d9986781d9e4ac0f5f991f1d6839284a80ad268625f9a23f686950"}, + {file = "srsly-2.5.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6e57b8138082f09e35db60f99757e16652489e9e3692471d8e0c39aa95180688"}, + {file = "srsly-2.5.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:bab90b85a63a1fe0bbc74d373c8bb9bb0499ddfa89075e0ebe8d670f12d04691"}, + {file = "srsly-2.5.1-cp313-cp313-win_amd64.whl", hash = "sha256:e73712be1634b5e1de6f81c273a7d47fe091ad3c79dc779c03d3416a5c117cee"}, + {file = "srsly-2.5.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7d3b846ece78ec02aee637c1028cbbc6f0756faf8b01af190e9bbc8705321fc0"}, + {file = "srsly-2.5.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1529f5beb25a736ba1177f55532a942c786a8b4fe544bf9e9fbbebc5c63f4224"}, + {file = "srsly-2.5.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3c689a9f8dfa25c56533a3f145693b20ddc56415e25035e526ff7a7251a8c11"}, + {file = "srsly-2.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5982d01c7ddd62dbdb778a8bd176513d4d093cc56ef925fa2b0e13f71ed1809a"}, + {file = "srsly-2.5.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:196d3a2cc74758b2284e45f192e0df55d032b70be8481e207affc03216ddb464"}, + {file = "srsly-2.5.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:de756942e08ac3d8e8f5ae4595855932d7e4357f63adac6925b516c168f24711"}, + {file = "srsly-2.5.1-cp39-cp39-win_amd64.whl", hash = "sha256:08b4045506cd4b63d2bb0da523156ab3ee67719aac3ca8cb591d6ed7ee55080e"}, + {file = "srsly-2.5.1.tar.gz", hash = "sha256:ab1b4bf6cf3e29da23dae0493dd1517fb787075206512351421b89b4fc27c77e"}, +] + +[package.dependencies] +catalogue = ">=2.0.3,<2.1.0" + +[[package]] +name = "starlette" +version = "0.46.1" +description = "The little ASGI library that shines." +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "starlette-0.46.1-py3-none-any.whl", hash = "sha256:77c74ed9d2720138b25875133f3a2dae6d854af2ec37dceb56aef370c1d8a227"}, + {file = "starlette-0.46.1.tar.gz", hash = "sha256:3c88d58ee4bd1bb807c0d1acb381838afc7752f9ddaec81bbe4383611d833230"}, +] + +[package.dependencies] +anyio = ">=3.6.2,<5" + +[package.extras] +full = ["httpx (>=0.27.0,<0.29.0)", "itsdangerous", "jinja2", "python-multipart (>=0.0.18)", "pyyaml"] + +[[package]] +name = "sympy" +version = "1.13.1" +description = "Computer algebra system (CAS) in Python" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "sympy-1.13.1-py3-none-any.whl", hash = "sha256:db36cdc64bf61b9b24578b6f7bab1ecdd2452cf008f34faa33776680c26d66f8"}, + {file = "sympy-1.13.1.tar.gz", hash = "sha256:9cebf7e04ff162015ce31c9c6c9144daa34a93bd082f54fd8f12deca4f47515f"}, +] + +[package.dependencies] +mpmath = ">=1.1.0,<1.4" + +[package.extras] +dev = ["hypothesis (>=6.70.0)", "pytest (>=7.1.0)"] + +[[package]] +name = "tabledata" +version = "1.3.4" +description = "tabledata is a Python library to represent tabular data. Used for pytablewriter/pytablereader/SimpleSQLite/etc." +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "tabledata-1.3.4-py3-none-any.whl", hash = "sha256:1f56e433bfdeb89f4487abfa48c4603a3b07c5d3a3c7e05ff73dd018c24bd0d4"}, + {file = "tabledata-1.3.4.tar.gz", hash = "sha256:e9649cab129d718f3bff4150083b77f8a78c30f6634a30caf692b10fdc60cb97"}, +] + +[package.dependencies] +DataProperty = ">=1.0.1,<2" +typepy = ">=1.2.0,<2" + +[package.extras] +logging = ["loguru (>=0.4.1,<1)"] +test = ["pytablewriter (>=0.46)", "pytest"] + +[[package]] +name = "tabulate" +version = "0.9.0" +description = "Pretty-print tabular data" +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "tabulate-0.9.0-py3-none-any.whl", hash = "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f"}, + {file = "tabulate-0.9.0.tar.gz", hash = "sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c"}, +] + +[package.extras] +widechars = ["wcwidth"] + +[[package]] +name = "tblib" +version = "3.0.0" +description = "Traceback serialization library." +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "tblib-3.0.0-py3-none-any.whl", hash = "sha256:80a6c77e59b55e83911e1e607c649836a69c103963c5f28a46cbeef44acf8129"}, + {file = "tblib-3.0.0.tar.gz", hash = "sha256:93622790a0a29e04f0346458face1e144dc4d32f493714c6c3dff82a4adb77e6"}, +] + +[[package]] +name = "tcolorpy" +version = "0.1.7" +description = "tcolopy is a Python library to apply true color for terminal text." +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "tcolorpy-0.1.7-py3-none-any.whl", hash = "sha256:26a59d52027e175a37e0aba72efc99dda43f074db71f55b316d3de37d3251378"}, + {file = "tcolorpy-0.1.7.tar.gz", hash = "sha256:0fbf6bf238890bbc2e32662aa25736769a29bf6d880328f310c910a327632614"}, +] + +[package.extras] +test = ["pytest (>=6.0.1)", "pytest-md-report (>=0.6.2)"] + +[[package]] +name = "termcolor" +version = "2.3.0" +description = "ANSI color formatting for output in terminal" +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "termcolor-2.3.0-py3-none-any.whl", hash = "sha256:3afb05607b89aed0ffe25202399ee0867ad4d3cb4180d98aaf8eefa6a5f7d475"}, + {file = "termcolor-2.3.0.tar.gz", hash = "sha256:b5b08f68937f138fe92f6c089b99f1e2da0ae56c52b78bf7075fd95420fd9a5a"}, +] + +[package.extras] +tests = ["pytest", "pytest-cov"] + +[[package]] +name = "thinc" +version = "8.2.5" +description = "A refreshing functional take on deep learning, compatible with your favorite libraries" +optional = false +python-versions = ">=3.6" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "thinc-8.2.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dc267f6aad80a681a85f50383afe91da9e2bec56fefdda86bfa2e4f529bef191"}, + {file = "thinc-8.2.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d80f1e497971c9fa0938f5cc8fe607bbe87356b405fb7bbc3ff9f32fb4eed3bb"}, + {file = "thinc-8.2.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0933adbd3e65e30d3bef903e77a368bc8a41bed34b0d18df6d4fc0536908e21f"}, + {file = "thinc-8.2.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:54bac2ba23b208fdaf267cd6113d26a5ecbb3b0e0c6015dff784ae6a9c5e78ca"}, + {file = "thinc-8.2.5-cp310-cp310-win_amd64.whl", hash = "sha256:399260197ef3f8d9600315fc5b5a1d5940400fceb0361de642e9fe3506d82385"}, + {file = "thinc-8.2.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a75c0de3340afed594beda293661de145f3842873df56d9989bc338148f13fab"}, + {file = "thinc-8.2.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6b166d1a22003ee03bc236370fff2884744c1fb758a6209a2512d305773d07d7"}, + {file = "thinc-8.2.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:34db8a023b9f70645fdf06c510584ba6d8b97ec53c1e094f42d95652bf8c875f"}, + {file = "thinc-8.2.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8901b30db1071ea8d5e4437429c8632535bf5ed87938ce3bb5057bed9f15aed8"}, + {file = "thinc-8.2.5-cp311-cp311-win_amd64.whl", hash = "sha256:8ef5d46d62e31f2450224ab22391a606cf427b13e20cfc570f70422e2f333872"}, + {file = "thinc-8.2.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:9fc26697e2358c71a5fe243d52e98ae67ee1a3b314eead5031845b6d1c0d121c"}, + {file = "thinc-8.2.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8e299d4dc41107385d6d14d8604a060825798a031cabe2b894b22f9d75d9eaad"}, + {file = "thinc-8.2.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8a8f2f249f2be9a5ce2a81a6efe7503b68be7b57e47ad54ab28204e1f0c723b"}, + {file = "thinc-8.2.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87e729f33c76ec6df9b375989743252ab880d79f3a2b4175169b21dece90f102"}, + {file = "thinc-8.2.5-cp312-cp312-win_amd64.whl", hash = "sha256:c5f750ea2dd32ca6d46947025dacfc0f6037340c4e5f7adb9af84c75f65aa7d8"}, + {file = "thinc-8.2.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bb97e2f699a3df16112ef5460cbfb0c9189a5fbc0e76bcf170ed7d995bdce367"}, + {file = "thinc-8.2.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5c78fb218273894168d1ca2dd3a20f28dba5a7fa698c4f2a2fc425eda2086cfc"}, + {file = "thinc-8.2.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cdc27da534807a2addd1c3d2a3d19f99e3eb67fdbce81c21f4e4c8bfa94ac15b"}, + {file = "thinc-8.2.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5b884e56eaeb9e5c7bfeb1c8810a3cbad19a599b33b9f3152b90b67f468471ac"}, + {file = "thinc-8.2.5-cp39-cp39-win_amd64.whl", hash = "sha256:df2138cf379061017ecb8bf609a8857e7904709ef0a9a2252783c16f67a2b749"}, + {file = "thinc-8.2.5.tar.gz", hash = "sha256:c2963791c934cc7fbd8f9b942d571cac79892ad11630bfca690a868c32752b75"}, +] + +[package.dependencies] +blis = ">=0.7.8,<0.8.0" +catalogue = ">=2.0.4,<2.1.0" +confection = ">=0.0.1,<1.0.0" +cymem = ">=2.0.2,<2.1.0" +murmurhash = ">=1.0.2,<1.1.0" +numpy = {version = ">=1.19.0,<2.0.0", markers = "python_version >= \"3.9\""} +packaging = ">=20.0" +preshed = ">=3.0.2,<3.1.0" +pydantic = ">=1.7.4,<1.8 || >1.8,<1.8.1 || >1.8.1,<3.0.0" +setuptools = "*" +srsly = ">=2.4.0,<3.0.0" +wasabi = ">=0.8.1,<1.2.0" + +[package.extras] +cuda = ["cupy (>=5.0.0b4)"] +cuda-autodetect = ["cupy-wheel (>=11.0.0)"] +cuda100 = ["cupy-cuda100 (>=5.0.0b4)"] +cuda101 = ["cupy-cuda101 (>=5.0.0b4)"] +cuda102 = ["cupy-cuda102 (>=5.0.0b4)"] +cuda110 = ["cupy-cuda110 (>=5.0.0b4)"] +cuda111 = ["cupy-cuda111 (>=5.0.0b4)"] +cuda112 = ["cupy-cuda112 (>=5.0.0b4)"] +cuda113 = ["cupy-cuda113 (>=5.0.0b4)"] +cuda114 = ["cupy-cuda114 (>=5.0.0b4)"] +cuda115 = ["cupy-cuda115 (>=5.0.0b4)"] +cuda116 = ["cupy-cuda116 (>=5.0.0b4)"] +cuda117 = ["cupy-cuda117 (>=5.0.0b4)"] +cuda11x = ["cupy-cuda11x (>=11.0.0)"] +cuda12x = ["cupy-cuda12x (>=11.5.0)"] +cuda80 = ["cupy-cuda80 (>=5.0.0b4)"] +cuda90 = ["cupy-cuda90 (>=5.0.0b4)"] +cuda91 = ["cupy-cuda91 (>=5.0.0b4)"] +cuda92 = ["cupy-cuda92 (>=5.0.0b4)"] +datasets = ["ml-datasets (>=0.2.0,<0.3.0)"] +mxnet = ["mxnet (>=1.5.1,<1.6.0)"] +tensorflow = ["tensorflow (>=2.0.0,<2.6.0)"] +torch = ["torch (>=1.6.0)"] + +[[package]] +name = "threadpoolctl" +version = "3.5.0" +description = "threadpoolctl" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "threadpoolctl-3.5.0-py3-none-any.whl", hash = "sha256:56c1e26c150397e58c4926da8eeee87533b1e32bef131bd4bf6a2f45f3185467"}, + {file = "threadpoolctl-3.5.0.tar.gz", hash = "sha256:082433502dd922bf738de0d8bcc4fdcbf0979ff44c42bd40f5af8a282f6fa107"}, +] + +[[package]] +name = "tiktoken" +version = "0.9.0" +description = "tiktoken is a fast BPE tokeniser for use with OpenAI's models" +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "tiktoken-0.9.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:586c16358138b96ea804c034b8acf3f5d3f0258bd2bc3b0227af4af5d622e382"}, + {file = "tiktoken-0.9.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d9c59ccc528c6c5dd51820b3474402f69d9a9e1d656226848ad68a8d5b2e5108"}, + {file = "tiktoken-0.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0968d5beeafbca2a72c595e8385a1a1f8af58feaebb02b227229b69ca5357fd"}, + {file = "tiktoken-0.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:92a5fb085a6a3b7350b8fc838baf493317ca0e17bd95e8642f95fc69ecfed1de"}, + {file = "tiktoken-0.9.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:15a2752dea63d93b0332fb0ddb05dd909371ededa145fe6a3242f46724fa7990"}, + {file = "tiktoken-0.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:26113fec3bd7a352e4b33dbaf1bd8948de2507e30bd95a44e2b1156647bc01b4"}, + {file = "tiktoken-0.9.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:f32cc56168eac4851109e9b5d327637f15fd662aa30dd79f964b7c39fbadd26e"}, + {file = "tiktoken-0.9.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:45556bc41241e5294063508caf901bf92ba52d8ef9222023f83d2483a3055348"}, + {file = "tiktoken-0.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:03935988a91d6d3216e2ec7c645afbb3d870b37bcb67ada1943ec48678e7ee33"}, + {file = "tiktoken-0.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8b3d80aad8d2c6b9238fc1a5524542087c52b860b10cbf952429ffb714bc1136"}, + {file = "tiktoken-0.9.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b2a21133be05dc116b1d0372af051cd2c6aa1d2188250c9b553f9fa49301b336"}, + {file = "tiktoken-0.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:11a20e67fdf58b0e2dea7b8654a288e481bb4fc0289d3ad21291f8d0849915fb"}, + {file = "tiktoken-0.9.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:e88f121c1c22b726649ce67c089b90ddda8b9662545a8aeb03cfef15967ddd03"}, + {file = "tiktoken-0.9.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a6600660f2f72369acb13a57fb3e212434ed38b045fd8cc6cdd74947b4b5d210"}, + {file = "tiktoken-0.9.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95e811743b5dfa74f4b227927ed86cbc57cad4df859cb3b643be797914e41794"}, + {file = "tiktoken-0.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99376e1370d59bcf6935c933cb9ba64adc29033b7e73f5f7569f3aad86552b22"}, + {file = "tiktoken-0.9.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:badb947c32739fb6ddde173e14885fb3de4d32ab9d8c591cbd013c22b4c31dd2"}, + {file = "tiktoken-0.9.0-cp312-cp312-win_amd64.whl", hash = "sha256:5a62d7a25225bafed786a524c1b9f0910a1128f4232615bf3f8257a73aaa3b16"}, + {file = "tiktoken-0.9.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2b0e8e05a26eda1249e824156d537015480af7ae222ccb798e5234ae0285dbdb"}, + {file = "tiktoken-0.9.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:27d457f096f87685195eea0165a1807fae87b97b2161fe8c9b1df5bd74ca6f63"}, + {file = "tiktoken-0.9.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cf8ded49cddf825390e36dd1ad35cd49589e8161fdcb52aa25f0583e90a3e01"}, + {file = "tiktoken-0.9.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc156cb314119a8bb9748257a2eaebd5cc0753b6cb491d26694ed42fc7cb3139"}, + {file = "tiktoken-0.9.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:cd69372e8c9dd761f0ab873112aba55a0e3e506332dd9f7522ca466e817b1b7a"}, + {file = "tiktoken-0.9.0-cp313-cp313-win_amd64.whl", hash = "sha256:5ea0edb6f83dc56d794723286215918c1cde03712cbbafa0348b33448faf5b95"}, + {file = "tiktoken-0.9.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:c6386ca815e7d96ef5b4ac61e0048cd32ca5a92d5781255e13b31381d28667dc"}, + {file = "tiktoken-0.9.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:75f6d5db5bc2c6274b674ceab1615c1778e6416b14705827d19b40e6355f03e0"}, + {file = "tiktoken-0.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e15b16f61e6f4625a57a36496d28dd182a8a60ec20a534c5343ba3cafa156ac7"}, + {file = "tiktoken-0.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ebcec91babf21297022882344c3f7d9eed855931466c3311b1ad6b64befb3df"}, + {file = "tiktoken-0.9.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:e5fd49e7799579240f03913447c0cdfa1129625ebd5ac440787afc4345990427"}, + {file = "tiktoken-0.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:26242ca9dc8b58e875ff4ca078b9a94d2f0813e6a535dcd2205df5d49d927cc7"}, + {file = "tiktoken-0.9.0.tar.gz", hash = "sha256:d02a5ca6a938e0490e1ff957bc48c8b078c88cb83977be1625b1fd8aac792c5d"}, +] + +[package.dependencies] +regex = ">=2022.1.18" +requests = ">=2.26.0" + +[package.extras] +blobfile = ["blobfile (>=2)"] + +[[package]] +name = "tokenizers" +version = "0.21.0" +description = "" +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "tokenizers-0.21.0-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:3c4c93eae637e7d2aaae3d376f06085164e1660f89304c0ab2b1d08a406636b2"}, + {file = "tokenizers-0.21.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:f53ea537c925422a2e0e92a24cce96f6bc5046bbef24a1652a5edc8ba975f62e"}, + {file = "tokenizers-0.21.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b177fb54c4702ef611de0c069d9169f0004233890e0c4c5bd5508ae05abf193"}, + {file = "tokenizers-0.21.0-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6b43779a269f4629bebb114e19c3fca0223296ae9fea8bb9a7a6c6fb0657ff8e"}, + {file = "tokenizers-0.21.0-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9aeb255802be90acfd363626753fda0064a8df06031012fe7d52fd9a905eb00e"}, + {file = "tokenizers-0.21.0-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d8b09dbeb7a8d73ee204a70f94fc06ea0f17dcf0844f16102b9f414f0b7463ba"}, + {file = "tokenizers-0.21.0-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:400832c0904f77ce87c40f1a8a27493071282f785724ae62144324f171377273"}, + {file = "tokenizers-0.21.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e84ca973b3a96894d1707e189c14a774b701596d579ffc7e69debfc036a61a04"}, + {file = "tokenizers-0.21.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:eb7202d231b273c34ec67767378cd04c767e967fda12d4a9e36208a34e2f137e"}, + {file = "tokenizers-0.21.0-cp39-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:089d56db6782a73a27fd8abf3ba21779f5b85d4a9f35e3b493c7bbcbbf0d539b"}, + {file = "tokenizers-0.21.0-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:c87ca3dc48b9b1222d984b6b7490355a6fdb411a2d810f6f05977258400ddb74"}, + {file = "tokenizers-0.21.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:4145505a973116f91bc3ac45988a92e618a6f83eb458f49ea0790df94ee243ff"}, + {file = "tokenizers-0.21.0-cp39-abi3-win32.whl", hash = "sha256:eb1702c2f27d25d9dd5b389cc1f2f51813e99f8ca30d9e25348db6585a97e24a"}, + {file = "tokenizers-0.21.0-cp39-abi3-win_amd64.whl", hash = "sha256:87841da5a25a3a5f70c102de371db120f41873b854ba65e52bccd57df5a3780c"}, + {file = "tokenizers-0.21.0.tar.gz", hash = "sha256:ee0894bf311b75b0c03079f33859ae4b2334d675d4e93f5a4132e1eae2834fe4"}, +] + +[package.dependencies] +huggingface-hub = ">=0.16.4,<1.0" + +[package.extras] +dev = ["tokenizers[testing]"] +docs = ["setuptools-rust", "sphinx", "sphinx-rtd-theme"] +testing = ["black (==22.3)", "datasets", "numpy", "pytest", "requests", "ruff"] + +[[package]] +name = "tomli" +version = "2.2.1" +description = "A lil' TOML parser" +optional = false +python-versions = ">=3.8" +groups = ["test"] +markers = "python_version < \"3.11\"" +files = [ + {file = "tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249"}, + {file = "tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6"}, + {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a"}, + {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee"}, + {file = "tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e"}, + {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4"}, + {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106"}, + {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8"}, + {file = "tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff"}, + {file = "tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b"}, + {file = "tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea"}, + {file = "tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8"}, + {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192"}, + {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222"}, + {file = "tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77"}, + {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6"}, + {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd"}, + {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e"}, + {file = "tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98"}, + {file = "tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4"}, + {file = "tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7"}, + {file = "tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c"}, + {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13"}, + {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281"}, + {file = "tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272"}, + {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140"}, + {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2"}, + {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744"}, + {file = "tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec"}, + {file = "tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69"}, + {file = "tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc"}, + {file = "tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff"}, +] + +[[package]] +name = "torch" +version = "2.5.1" +description = "Tensors and Dynamic neural networks in Python with strong GPU acceleration" +optional = false +python-versions = ">=3.8.0" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "torch-2.5.1-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:71328e1bbe39d213b8721678f9dcac30dfc452a46d586f1d514a6aa0a99d4744"}, + {file = "torch-2.5.1-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:34bfa1a852e5714cbfa17f27c49d8ce35e1b7af5608c4bc6e81392c352dbc601"}, + {file = "torch-2.5.1-cp310-cp310-win_amd64.whl", hash = "sha256:32a037bd98a241df6c93e4c789b683335da76a2ac142c0973675b715102dc5fa"}, + {file = "torch-2.5.1-cp310-none-macosx_11_0_arm64.whl", hash = "sha256:23d062bf70776a3d04dbe74db950db2a5245e1ba4f27208a87f0d743b0d06e86"}, + {file = "torch-2.5.1-cp311-cp311-manylinux1_x86_64.whl", hash = "sha256:de5b7d6740c4b636ef4db92be922f0edc425b65ed78c5076c43c42d362a45457"}, + {file = "torch-2.5.1-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:340ce0432cad0d37f5a31be666896e16788f1adf8ad7be481196b503dad675b9"}, + {file = "torch-2.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:603c52d2fe06433c18b747d25f5c333f9c1d58615620578c326d66f258686f9a"}, + {file = "torch-2.5.1-cp311-none-macosx_11_0_arm64.whl", hash = "sha256:31f8c39660962f9ae4eeec995e3049b5492eb7360dd4f07377658ef4d728fa4c"}, + {file = "torch-2.5.1-cp312-cp312-manylinux1_x86_64.whl", hash = "sha256:ed231a4b3a5952177fafb661213d690a72caaad97d5824dd4fc17ab9e15cec03"}, + {file = "torch-2.5.1-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:3f4b7f10a247e0dcd7ea97dc2d3bfbfc90302ed36d7f3952b0008d0df264e697"}, + {file = "torch-2.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:73e58e78f7d220917c5dbfad1a40e09df9929d3b95d25e57d9f8558f84c9a11c"}, + {file = "torch-2.5.1-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:8c712df61101964eb11910a846514011f0b6f5920c55dbf567bff8a34163d5b1"}, + {file = "torch-2.5.1-cp313-cp313-manylinux1_x86_64.whl", hash = "sha256:9b61edf3b4f6e3b0e0adda8b3960266b9009d02b37555971f4d1c8f7a05afed7"}, + {file = "torch-2.5.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:1f3b7fb3cf7ab97fae52161423f81be8c6b8afac8d9760823fd623994581e1a3"}, + {file = "torch-2.5.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:7974e3dce28b5a21fb554b73e1bc9072c25dde873fa00d54280861e7a009d7dc"}, + {file = "torch-2.5.1-cp39-cp39-win_amd64.whl", hash = "sha256:46c817d3ea33696ad3b9df5e774dba2257e9a4cd3c4a3afbf92f6bb13ac5ce2d"}, + {file = "torch-2.5.1-cp39-none-macosx_11_0_arm64.whl", hash = "sha256:8046768b7f6d35b85d101b4b38cba8aa2f3cd51952bc4c06a49580f2ce682291"}, +] + +[package.dependencies] +filelock = "*" +fsspec = "*" +jinja2 = "*" +networkx = "*" +nvidia-cublas-cu12 = {version = "12.4.5.8", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-cuda-cupti-cu12 = {version = "12.4.127", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-cuda-nvrtc-cu12 = {version = "12.4.127", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-cuda-runtime-cu12 = {version = "12.4.127", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-cudnn-cu12 = {version = "9.1.0.70", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-cufft-cu12 = {version = "11.2.1.3", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-curand-cu12 = {version = "10.3.5.147", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-cusolver-cu12 = {version = "11.6.1.9", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-cusparse-cu12 = {version = "12.3.1.170", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-nccl-cu12 = {version = "2.21.5", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-nvjitlink-cu12 = {version = "12.4.127", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-nvtx-cu12 = {version = "12.4.127", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +sympy = {version = "1.13.1", markers = "python_version >= \"3.9\""} +triton = {version = "3.1.0", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\" and python_version < \"3.13\""} +typing-extensions = ">=4.8.0" + +[package.extras] +opt-einsum = ["opt-einsum (>=3.3)"] +optree = ["optree (>=0.12.0)"] + +[[package]] +name = "torchaudio" +version = "2.5.1" +description = "An audio package for PyTorch" +optional = false +python-versions = "*" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "torchaudio-2.5.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:901291d770aeeb1f51920bb5aa73ff82e9b7f26354a3c7b90d80ff0b4e9a5044"}, + {file = "torchaudio-2.5.1-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:abacbec3b6d695cf99ada8b1db55db933181c8ff7d283e246e2bbefdde674235"}, + {file = "torchaudio-2.5.1-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:9b3872c5dd5080be6322908d62365581a1dd9250e3dd6d47bab3f5b0854a5d1f"}, + {file = "torchaudio-2.5.1-cp310-cp310-win_amd64.whl", hash = "sha256:4aead2d6b32426d0e657e243f6f5146f8d400bc8db9fe8a8000254baeec1202d"}, + {file = "torchaudio-2.5.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7005354aa7dda9ef908e13c2566ee1fe0bd6d7f5bae0583b5e53016cd229fc34"}, + {file = "torchaudio-2.5.1-cp311-cp311-manylinux1_x86_64.whl", hash = "sha256:7af3f7f92fd33bc9f036a60cdeda4cbeb6bccebd18eae89776dd1e8ed042672e"}, + {file = "torchaudio-2.5.1-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:4ba24769a72bd686903feaf1040c895d710af2ffbcd25ee7a9794ee285561b26"}, + {file = "torchaudio-2.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:cba8ccab1bff0496ccdc71ebbdcd31d0f7bf97ff3c46276425ff86460f6f8967"}, + {file = "torchaudio-2.5.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f1cbfdfd1bbdfbe7289d47a74f36ff6c5d87c3205606202fef5a7fb693f61cf0"}, + {file = "torchaudio-2.5.1-cp312-cp312-manylinux1_x86_64.whl", hash = "sha256:9c8fb06fbd8d2016e7b7caf15a3231867c792a2e3b0f2f8f9013633e9c2ce412"}, + {file = "torchaudio-2.5.1-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:6bb65416405f40e00b20701257c16e7493bfdd7188e02e87cc5b389c31c10c2c"}, + {file = "torchaudio-2.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:ec8f12d6be12aed248a0d65a76c7bb341ee5eef969fe2e9dc3154c7cfba1bdf4"}, + {file = "torchaudio-2.5.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a40a0e4b238564a19bf138c64d593c7b52d97c8737843d85d6ca09216241ae66"}, + {file = "torchaudio-2.5.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:f2f0a4fa19137cad247087dcf4b85c56860f924c3ca4a89679299cf0e002ee33"}, + {file = "torchaudio-2.5.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:d29349944955eb061e774fe4d9eea4681c5bc9ff42ea39a877f8f14de1e4ed00"}, + {file = "torchaudio-2.5.1-cp39-cp39-win_amd64.whl", hash = "sha256:0be6d6f5127b17f9f1ac33fb02c8f1127bfea955de630c5cab6eb9daaef4db6d"}, +] + +[package.dependencies] +torch = "2.5.1" + +[[package]] +name = "torchvision" +version = "0.20.1" +description = "image and video datasets and models for torch deep learning" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "torchvision-0.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4878fefb96ef293d06c27210918adc83c399d9faaf34cda5a63e129f772328f1"}, + {file = "torchvision-0.20.1-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:8ffbdf8bf5b30eade22d459f5a313329eeadb20dc75efa142987b53c007098c3"}, + {file = "torchvision-0.20.1-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:75f8a4d51a593c4bab6c9bf7d75bdd88691b00a53b07656678bc55a3a753dd73"}, + {file = "torchvision-0.20.1-cp310-cp310-win_amd64.whl", hash = "sha256:22c2fa44e20eb404b85e42b22b453863a14b0927d25e550fd4f84eea97fa5b39"}, + {file = "torchvision-0.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:344b339e15e6bbb59ee0700772616d0afefd209920c762b1604368d8c3458322"}, + {file = "torchvision-0.20.1-cp311-cp311-manylinux1_x86_64.whl", hash = "sha256:86f6523dee420000fe14c3527f6c8e0175139fda7d995b187f54a0b0ebec7eb6"}, + {file = "torchvision-0.20.1-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:a40d766345927639da322c693934e5f91b1ba2218846c7104b868dea2314ce8e"}, + {file = "torchvision-0.20.1-cp311-cp311-win_amd64.whl", hash = "sha256:5b501d5c04b034d2ecda96a31ed050e383cf8201352e4c9276ca249cbecfded0"}, + {file = "torchvision-0.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1a31256ff945d64f006bb306813a7c95a531fe16bfb2535c837dd4c104533d7a"}, + {file = "torchvision-0.20.1-cp312-cp312-manylinux1_x86_64.whl", hash = "sha256:17cd78adddf81dac57d7dccc9277a4d686425b1c55715f308769770cb26cad5c"}, + {file = "torchvision-0.20.1-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:9f853ba4497ac4691815ad41b523ee23cf5ba4f87b1ce869d704052e233ca8b7"}, + {file = "torchvision-0.20.1-cp312-cp312-win_amd64.whl", hash = "sha256:4a330422c36dbfc946d3a6c1caec3489db07ecdf3675d83369adb2e5a0ca17c4"}, + {file = "torchvision-0.20.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2cd58406978b813188cf4e9135b218775b57e0bb86d4a88f0339874b8a224819"}, + {file = "torchvision-0.20.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:408766b2f0ada9e1bc880d12346cec9638535af5df6459ba9ac4ce5c46402f91"}, + {file = "torchvision-0.20.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:abcb8005de8dc393dbd1310ecb669dc68ab664b9107af6d698a6341d1d3f2c3c"}, + {file = "torchvision-0.20.1-cp39-cp39-win_amd64.whl", hash = "sha256:ea9678163bbf19568f4f959d927f3751eeb833cc8eac949de507edde38c1fc9f"}, +] + +[package.dependencies] +numpy = "*" +pillow = ">=5.3.0,<8.3.dev0 || >=8.4.dev0" +torch = "2.5.1" + +[package.extras] +gdown = ["gdown (>=4.7.3)"] +scipy = ["scipy"] + +[[package]] +name = "tqdm" +version = "4.67.1" +description = "Fast, Extensible Progress Meter" +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2"}, + {file = "tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[package.extras] +dev = ["nbval", "pytest (>=6)", "pytest-asyncio (>=0.24)", "pytest-cov", "pytest-timeout"] +discord = ["requests"] +notebook = ["ipywidgets (>=6)"] +slack = ["slack-sdk"] +telegram = ["requests"] + +[[package]] +name = "transformers" +version = "4.49.0" +description = "State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow" +optional = false +python-versions = ">=3.9.0" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "transformers-4.49.0-py3-none-any.whl", hash = "sha256:6b4fded1c5fee04d384b1014495b4235a2b53c87503d7d592423c06128cbbe03"}, + {file = "transformers-4.49.0.tar.gz", hash = "sha256:7e40e640b5b8dc3f48743f5f5adbdce3660c82baafbd3afdfc04143cdbd2089e"}, +] + +[package.dependencies] +filelock = "*" +huggingface-hub = ">=0.26.0,<1.0" +numpy = ">=1.17" +packaging = ">=20.0" +pyyaml = ">=5.1" +regex = "!=2019.12.17" +requests = "*" +safetensors = ">=0.4.1" +tokenizers = ">=0.21,<0.22" +tqdm = ">=4.27" + +[package.extras] +accelerate = ["accelerate (>=0.26.0)"] +agents = ["Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.26.0)", "datasets (!=2.5.0)", "diffusers", "opencv-python", "sentencepiece (>=0.1.91,!=0.1.92)", "torch (>=2.0)"] +all = ["Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.26.0)", "av", "codecarbon (>=2.8.1)", "flax (>=0.4.1,<=0.7.0)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "kenlm", "keras-nlp (>=0.3.1,<0.14.0)", "librosa", "onnxconverter-common", "optax (>=0.0.8,<=0.1.4)", "optuna", "phonemizer", "protobuf", "pyctcdecode (>=0.4.0)", "ray[tune] (>=2.7.0)", "scipy (<1.13.0)", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "tensorflow (>2.9,<2.16)", "tensorflow-text (<2.16)", "tf2onnx", "timm (<=1.0.11)", "tokenizers (>=0.21,<0.22)", "torch (>=2.0)", "torchaudio", "torchvision"] +audio = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)"] +benchmark = ["optimum-benchmark (>=0.3.0)"] +codecarbon = ["codecarbon (>=2.8.1)"] +deepspeed = ["accelerate (>=0.26.0)", "deepspeed (>=0.9.3)"] +deepspeed-testing = ["GitPython (<3.1.19)", "accelerate (>=0.26.0)", "beautifulsoup4", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "deepspeed (>=0.9.3)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "nltk (<=3.8.1)", "optuna", "parameterized", "protobuf", "psutil", "pydantic", "pytest (>=7.2.0,<8.0.0)", "pytest-asyncio", "pytest-rich", "pytest-timeout", "pytest-xdist", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.5.1)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "sentencepiece (>=0.1.91,!=0.1.92)", "tensorboard", "timeout-decorator"] +dev = ["GitPython (<3.1.19)", "Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.26.0)", "av", "beautifulsoup4", "codecarbon (>=2.8.1)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "flax (>=0.4.1,<=0.7.0)", "fugashi (>=1.0)", "ipadic (>=1.0.0,<2.0)", "isort (>=5.5.4)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "kenlm", "keras-nlp (>=0.3.1,<0.14.0)", "libcst", "librosa", "nltk (<=3.8.1)", "onnxconverter-common", "optax (>=0.0.8,<=0.1.4)", "optuna", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pydantic", "pytest (>=7.2.0,<8.0.0)", "pytest-asyncio", "pytest-rich", "pytest-timeout", "pytest-xdist", "ray[tune] (>=2.7.0)", "rhoknp (>=1.1.0,<1.3.1)", "rich", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.5.1)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "scipy (<1.13.0)", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "sudachidict-core (>=20220729)", "sudachipy (>=0.6.6)", "tensorboard", "tensorflow (>2.9,<2.16)", "tensorflow-text (<2.16)", "tf2onnx", "timeout-decorator", "timm (<=1.0.11)", "tokenizers (>=0.21,<0.22)", "torch (>=2.0)", "torchaudio", "torchvision", "unidic (>=1.0.2)", "unidic-lite (>=1.0.7)", "urllib3 (<2.0.0)"] +dev-tensorflow = ["GitPython (<3.1.19)", "Pillow (>=10.0.1,<=15.0)", "beautifulsoup4", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "isort (>=5.5.4)", "kenlm", "keras-nlp (>=0.3.1,<0.14.0)", "libcst", "librosa", "nltk (<=3.8.1)", "onnxconverter-common", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pydantic", "pytest (>=7.2.0,<8.0.0)", "pytest-asyncio", "pytest-rich", "pytest-timeout", "pytest-xdist", "rich", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.5.1)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "sentencepiece (>=0.1.91,!=0.1.92)", "tensorboard", "tensorflow (>2.9,<2.16)", "tensorflow-text (<2.16)", "tf2onnx", "timeout-decorator", "tokenizers (>=0.21,<0.22)", "urllib3 (<2.0.0)"] +dev-torch = ["GitPython (<3.1.19)", "Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.26.0)", "beautifulsoup4", "codecarbon (>=2.8.1)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "fugashi (>=1.0)", "ipadic (>=1.0.0,<2.0)", "isort (>=5.5.4)", "kenlm", "libcst", "librosa", "nltk (<=3.8.1)", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "optuna", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pydantic", "pytest (>=7.2.0,<8.0.0)", "pytest-asyncio", "pytest-rich", "pytest-timeout", "pytest-xdist", "ray[tune] (>=2.7.0)", "rhoknp (>=1.1.0,<1.3.1)", "rich", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.5.1)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "sudachidict-core (>=20220729)", "sudachipy (>=0.6.6)", "tensorboard", "timeout-decorator", "timm (<=1.0.11)", "tokenizers (>=0.21,<0.22)", "torch (>=2.0)", "torchaudio", "torchvision", "unidic (>=1.0.2)", "unidic-lite (>=1.0.7)", "urllib3 (<2.0.0)"] +flax = ["flax (>=0.4.1,<=0.7.0)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "optax (>=0.0.8,<=0.1.4)", "scipy (<1.13.0)"] +flax-speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)"] +ftfy = ["ftfy"] +integrations = ["optuna", "ray[tune] (>=2.7.0)", "sigopt"] +ja = ["fugashi (>=1.0)", "ipadic (>=1.0.0,<2.0)", "rhoknp (>=1.1.0,<1.3.1)", "sudachidict-core (>=20220729)", "sudachipy (>=0.6.6)", "unidic (>=1.0.2)", "unidic-lite (>=1.0.7)"] +modelcreation = ["cookiecutter (==1.7.3)"] +natten = ["natten (>=0.14.6,<0.15.0)"] +onnx = ["onnxconverter-common", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "tf2onnx"] +onnxruntime = ["onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)"] +optuna = ["optuna"] +quality = ["GitPython (<3.1.19)", "datasets (!=2.5.0)", "isort (>=5.5.4)", "libcst", "rich", "ruff (==0.5.1)", "urllib3 (<2.0.0)"] +ray = ["ray[tune] (>=2.7.0)"] +retrieval = ["datasets (!=2.5.0)", "faiss-cpu"] +ruff = ["ruff (==0.5.1)"] +sagemaker = ["sagemaker (>=2.31.0)"] +sentencepiece = ["protobuf", "sentencepiece (>=0.1.91,!=0.1.92)"] +serving = ["fastapi", "pydantic", "starlette", "uvicorn"] +sigopt = ["sigopt"] +sklearn = ["scikit-learn"] +speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)", "torchaudio"] +testing = ["GitPython (<3.1.19)", "beautifulsoup4", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "nltk (<=3.8.1)", "parameterized", "psutil", "pydantic", "pytest (>=7.2.0,<8.0.0)", "pytest-asyncio", "pytest-rich", "pytest-timeout", "pytest-xdist", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.5.1)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "sentencepiece (>=0.1.91,!=0.1.92)", "tensorboard", "timeout-decorator"] +tf = ["keras-nlp (>=0.3.1,<0.14.0)", "onnxconverter-common", "tensorflow (>2.9,<2.16)", "tensorflow-text (<2.16)", "tf2onnx"] +tf-cpu = ["keras (>2.9,<2.16)", "keras-nlp (>=0.3.1,<0.14.0)", "onnxconverter-common", "tensorflow-cpu (>2.9,<2.16)", "tensorflow-probability (<0.24)", "tensorflow-text (<2.16)", "tf2onnx"] +tf-speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)"] +tiktoken = ["blobfile", "tiktoken"] +timm = ["timm (<=1.0.11)"] +tokenizers = ["tokenizers (>=0.21,<0.22)"] +torch = ["accelerate (>=0.26.0)", "torch (>=2.0)"] +torch-speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)", "torchaudio"] +torch-vision = ["Pillow (>=10.0.1,<=15.0)", "torchvision"] +torchhub = ["filelock", "huggingface-hub (>=0.26.0,<1.0)", "importlib-metadata", "numpy (>=1.17)", "packaging (>=20.0)", "protobuf", "regex (!=2019.12.17)", "requests", "sentencepiece (>=0.1.91,!=0.1.92)", "tokenizers (>=0.21,<0.22)", "torch (>=2.0)", "tqdm (>=4.27)"] +video = ["av"] +vision = ["Pillow (>=10.0.1,<=15.0)"] + +[[package]] +name = "triton" +version = "3.1.0" +description = "A language and compiler for custom Deep Learning operations" +optional = false +python-versions = "*" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "triton-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b0dd10a925263abbe9fa37dcde67a5e9b2383fc269fdf59f5657cac38c5d1d8"}, + {file = "triton-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f34f6e7885d1bf0eaaf7ba875a5f0ce6f3c13ba98f9503651c1e6dc6757ed5c"}, + {file = "triton-3.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c8182f42fd8080a7d39d666814fa36c5e30cc00ea7eeeb1a2983dbb4c99a0fdc"}, + {file = "triton-3.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6dadaca7fc24de34e180271b5cf864c16755702e9f63a16f62df714a8099126a"}, + {file = "triton-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aafa9a20cd0d9fee523cd4504aa7131807a864cd77dcf6efe7e981f18b8c6c11"}, +] + +[package.dependencies] +filelock = "*" + +[package.extras] +build = ["cmake (>=3.20)", "lit"] +tests = ["autopep8", "flake8", "isort", "llnl-hatchet", "numpy", "pytest", "scipy (>=1.7.1)"] +tutorials = ["matplotlib", "pandas", "tabulate"] + +[[package]] +name = "trl" +version = "0.16.0.dev0" +description = "Train transformer language models with reinforcement learning." +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [] +develop = false + +[package.dependencies] +accelerate = ">=0.34.0" +datasets = ">=2.21.0" +rich = "*" +transformers = ">=4.46.0" + +[package.extras] +deepspeed = ["deepspeed (>=0.14.4)"] +dev = ["Pillow", "Pillow", "bitsandbytes", "bitsandbytes", "deepspeed (>=0.14.4)", "deepspeed (>=0.14.4)", "diffusers (>=0.18.0)", "diffusers (>=0.18.0)", "liger-kernel (==0.5.3)", "liger-kernel (==0.5.3)", "llm-blender (>=0.0.2)", "llm-blender (>=0.0.2)", "mergekit (>=0.0.5.1)", "mergekit (>=0.0.5.1)", "openai (>=1.23.2)", "openai (>=1.23.2)", "parameterized", "parameterized", "peft (>=0.8.0)", "peft (>=0.8.0)", "pytest", "pytest", "pytest-cov", "pytest-cov", "pytest-rerunfailures", "pytest-rerunfailures", "pytest-xdist", "pytest-xdist", "scikit-learn", "scikit-learn", "vllm (==0.7.2)", "vllm (==0.7.2)"] +diffusers = ["diffusers (>=0.18.0)"] +judges = ["llm-blender (>=0.0.2)", "openai (>=1.23.2)"] +liger = ["liger-kernel (==0.5.3)"] +mergekit = ["mergekit (>=0.0.5.1)"] +peft = ["peft (>=0.8.0)"] +quantization = ["bitsandbytes"] +scikit = ["scikit-learn"] +test = ["parameterized", "pytest", "pytest-cov", "pytest-rerunfailures", "pytest-xdist"] +vllm = ["vllm (==0.7.2)"] +vlm = ["Pillow"] + +[package.source] +type = "git" +url = "https://github.com/huggingface/trl.git" +reference = "69ad852e5654a77f1695eb4c608906fe0c7e8624" +resolved_reference = "69ad852e5654a77f1695eb4c608906fe0c7e8624" + +[[package]] +name = "typepy" +version = "1.3.4" +description = "typepy is a Python library for variable type checker/validator/converter at a run time." +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "typepy-1.3.4-py3-none-any.whl", hash = "sha256:d5ed3e0c7f49521bff0603dd08cf8d453371cf68d65a29d3d0038552ccc46e2e"}, + {file = "typepy-1.3.4.tar.gz", hash = "sha256:89c1f66de6c6133209c43a94d23431d320ba03ef5db18f241091ea594035d9de"}, +] + +[package.dependencies] +mbstrdecoder = ">=1.0.0,<2" +packaging = {version = "*", optional = true, markers = "extra == \"datetime\""} +python-dateutil = {version = ">=2.8.0,<3.0.0", optional = true, markers = "extra == \"datetime\""} +pytz = {version = ">=2018.9", optional = true, markers = "extra == \"datetime\""} + +[package.extras] +datetime = ["packaging", "python-dateutil (>=2.8.0,<3.0.0)", "pytz (>=2018.9)"] +test = ["packaging", "pytest (>=6.0.1)", "python-dateutil (>=2.8.0,<3.0.0)", "pytz (>=2018.9)", "tcolorpy"] + +[[package]] +name = "typer" +version = "0.9.4" +description = "Typer, build great CLIs. Easy to code. Based on Python type hints." +optional = false +python-versions = ">=3.6" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "typer-0.9.4-py3-none-any.whl", hash = "sha256:aa6c4a4e2329d868b80ecbaf16f807f2b54e192209d7ac9dd42691d63f7a54eb"}, + {file = "typer-0.9.4.tar.gz", hash = "sha256:f714c2d90afae3a7929fcd72a3abb08df305e1ff61719381384211c4070af57f"}, +] + +[package.dependencies] +click = ">=7.1.1,<9.0.0" +typing-extensions = ">=3.7.4.3" + +[package.extras] +all = ["colorama (>=0.4.3,<0.5.0)", "rich (>=10.11.0,<14.0.0)", "shellingham (>=1.3.0,<2.0.0)"] +dev = ["autoflake (>=1.3.1,<2.0.0)", "flake8 (>=3.8.3,<4.0.0)", "pre-commit (>=2.17.0,<3.0.0)"] +doc = ["cairosvg (>=2.5.2,<3.0.0)", "mdx-include (>=1.4.1,<2.0.0)", "mkdocs (>=1.1.2,<2.0.0)", "mkdocs-material (>=8.1.4,<9.0.0)", "pillow (>=9.3.0,<10.0.0)"] +test = ["black (>=22.3.0,<23.0.0)", "coverage (>=6.2,<7.0)", "isort (>=5.0.6,<6.0.0)", "mypy (==0.971)", "pytest (>=4.4.0,<8.0.0)", "pytest-cov (>=2.10.0,<5.0.0)", "pytest-sugar (>=0.9.4,<0.10.0)", "pytest-xdist (>=1.32.0,<4.0.0)", "rich (>=10.11.0,<14.0.0)", "shellingham (>=1.3.0,<2.0.0)"] + +[[package]] +name = "typing-extensions" +version = "4.12.2" +description = "Backported and Experimental Type Hints for Python 3.8+" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, + {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, +] + +[[package]] +name = "tzdata" +version = "2025.1" +description = "Provider of IANA time zone data" +optional = false +python-versions = ">=2" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "tzdata-2025.1-py2.py3-none-any.whl", hash = "sha256:7e127113816800496f027041c570f50bcd464a020098a3b6b199517772303639"}, + {file = "tzdata-2025.1.tar.gz", hash = "sha256:24894909e88cdb28bd1636c6887801df64cb485bd593f2fd83ef29075a81d694"}, +] + +[[package]] +name = "universal-pathlib" +version = "0.2.6" +description = "pathlib api extended to use fsspec backends" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "universal_pathlib-0.2.6-py3-none-any.whl", hash = "sha256:700dec2b58ef34b87998513de6d2ae153b22f083197dfafb8544744edabd1b18"}, + {file = "universal_pathlib-0.2.6.tar.gz", hash = "sha256:50817aaeaa9f4163cb1e76f5bdf84207fa05ce728b23fd779479b3462e5430ac"}, +] + +[package.dependencies] +fsspec = ">=2022.1.0,<2024.3.1 || >2024.3.1" + +[package.extras] +dev = ["adlfs", "aiohttp", "cheroot", "gcsfs", "moto[s3,server]", "paramiko", "pydantic", "pydantic-settings", "requests", "s3fs", "smbprotocol", "typing_extensions", "webdav4[fsspec]", "wsgidav"] +tests = ["mypy (>=1.10.0)", "packaging", "pylint (>=2.17.4)", "pytest (>=8)", "pytest-cov (>=4.1.0)", "pytest-mock (>=3.12.0)", "pytest-mypy-plugins (>=3.1.2)", "pytest-sugar (>=0.9.7)"] + +[[package]] +name = "urllib3" +version = "2.3.0" +description = "HTTP library with thread-safe connection pooling, file post, and more." +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "urllib3-2.3.0-py3-none-any.whl", hash = "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df"}, + {file = "urllib3-2.3.0.tar.gz", hash = "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d"}, +] + +[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 = "uvicorn" +version = "0.34.0" +description = "The lightning-fast ASGI server." +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "uvicorn-0.34.0-py3-none-any.whl", hash = "sha256:023dc038422502fa28a09c7a30bf2b6991512da7dcdb8fd35fe57cfc154126f4"}, + {file = "uvicorn-0.34.0.tar.gz", hash = "sha256:404051050cd7e905de2c9a7e61790943440b3416f49cb409f965d9dcd0fa73e9"}, +] + +[package.dependencies] +click = ">=7.0" +colorama = {version = ">=0.4", optional = true, markers = "sys_platform == \"win32\" and extra == \"standard\""} +h11 = ">=0.8" +httptools = {version = ">=0.6.3", optional = true, markers = "extra == \"standard\""} +python-dotenv = {version = ">=0.13", optional = true, markers = "extra == \"standard\""} +pyyaml = {version = ">=5.1", optional = true, markers = "extra == \"standard\""} +typing-extensions = {version = ">=4.0", markers = "python_version < \"3.11\""} +uvloop = {version = ">=0.14.0,<0.15.0 || >0.15.0,<0.15.1 || >0.15.1", optional = true, markers = "(sys_platform != \"win32\" and sys_platform != \"cygwin\") and platform_python_implementation != \"PyPy\" and extra == \"standard\""} +watchfiles = {version = ">=0.13", optional = true, markers = "extra == \"standard\""} +websockets = {version = ">=10.4", optional = true, markers = "extra == \"standard\""} + +[package.extras] +standard = ["colorama (>=0.4)", "httptools (>=0.6.3)", "python-dotenv (>=0.13)", "pyyaml (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "watchfiles (>=0.13)", "websockets (>=10.4)"] + +[[package]] +name = "uvloop" +version = "0.21.0" +description = "Fast implementation of asyncio event loop on top of libuv" +optional = false +python-versions = ">=3.8.0" +groups = ["main"] +markers = "platform_python_implementation != \"PyPy\" and (sys_platform != \"win32\" and sys_platform != \"cygwin\") and python_version <= \"3.11\"" +files = [ + {file = "uvloop-0.21.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ec7e6b09a6fdded42403182ab6b832b71f4edaf7f37a9a0e371a01db5f0cb45f"}, + {file = "uvloop-0.21.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:196274f2adb9689a289ad7d65700d37df0c0930fd8e4e743fa4834e850d7719d"}, + {file = "uvloop-0.21.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f38b2e090258d051d68a5b14d1da7203a3c3677321cf32a95a6f4db4dd8b6f26"}, + {file = "uvloop-0.21.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87c43e0f13022b998eb9b973b5e97200c8b90823454d4bc06ab33829e09fb9bb"}, + {file = "uvloop-0.21.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:10d66943def5fcb6e7b37310eb6b5639fd2ccbc38df1177262b0640c3ca68c1f"}, + {file = "uvloop-0.21.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:67dd654b8ca23aed0a8e99010b4c34aca62f4b7fce88f39d452ed7622c94845c"}, + {file = "uvloop-0.21.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c0f3fa6200b3108919f8bdabb9a7f87f20e7097ea3c543754cabc7d717d95cf8"}, + {file = "uvloop-0.21.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0878c2640cf341b269b7e128b1a5fed890adc4455513ca710d77d5e93aa6d6a0"}, + {file = "uvloop-0.21.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9fb766bb57b7388745d8bcc53a359b116b8a04c83a2288069809d2b3466c37e"}, + {file = "uvloop-0.21.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a375441696e2eda1c43c44ccb66e04d61ceeffcd76e4929e527b7fa401b90fb"}, + {file = "uvloop-0.21.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:baa0e6291d91649c6ba4ed4b2f982f9fa165b5bbd50a9e203c416a2797bab3c6"}, + {file = "uvloop-0.21.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4509360fcc4c3bd2c70d87573ad472de40c13387f5fda8cb58350a1d7475e58d"}, + {file = "uvloop-0.21.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:359ec2c888397b9e592a889c4d72ba3d6befba8b2bb01743f72fffbde663b59c"}, + {file = "uvloop-0.21.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f7089d2dc73179ce5ac255bdf37c236a9f914b264825fdaacaded6990a7fb4c2"}, + {file = "uvloop-0.21.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:baa4dcdbd9ae0a372f2167a207cd98c9f9a1ea1188a8a526431eef2f8116cc8d"}, + {file = "uvloop-0.21.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86975dca1c773a2c9864f4c52c5a55631038e387b47eaf56210f873887b6c8dc"}, + {file = "uvloop-0.21.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:461d9ae6660fbbafedd07559c6a2e57cd553b34b0065b6550685f6653a98c1cb"}, + {file = "uvloop-0.21.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:183aef7c8730e54c9a3ee3227464daed66e37ba13040bb3f350bc2ddc040f22f"}, + {file = "uvloop-0.21.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:bfd55dfcc2a512316e65f16e503e9e450cab148ef11df4e4e679b5e8253a5281"}, + {file = "uvloop-0.21.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:787ae31ad8a2856fc4e7c095341cccc7209bd657d0e71ad0dc2ea83c4a6fa8af"}, + {file = "uvloop-0.21.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ee4d4ef48036ff6e5cfffb09dd192c7a5027153948d85b8da7ff705065bacc6"}, + {file = "uvloop-0.21.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3df876acd7ec037a3d005b3ab85a7e4110422e4d9c1571d4fc89b0fc41b6816"}, + {file = "uvloop-0.21.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd53ecc9a0f3d87ab847503c2e1552b690362e005ab54e8a48ba97da3924c0dc"}, + {file = "uvloop-0.21.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a5c39f217ab3c663dc699c04cbd50c13813e31d917642d459fdcec07555cc553"}, + {file = "uvloop-0.21.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:17df489689befc72c39a08359efac29bbee8eee5209650d4b9f34df73d22e414"}, + {file = "uvloop-0.21.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bc09f0ff191e61c2d592a752423c767b4ebb2986daa9ed62908e2b1b9a9ae206"}, + {file = "uvloop-0.21.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0ce1b49560b1d2d8a2977e3ba4afb2414fb46b86a1b64056bc4ab929efdafbe"}, + {file = "uvloop-0.21.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e678ad6fe52af2c58d2ae3c73dc85524ba8abe637f134bf3564ed07f555c5e79"}, + {file = "uvloop-0.21.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:460def4412e473896ef179a1671b40c039c7012184b627898eea5072ef6f017a"}, + {file = "uvloop-0.21.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:10da8046cc4a8f12c91a1c39d1dd1585c41162a15caaef165c2174db9ef18bdc"}, + {file = "uvloop-0.21.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c097078b8031190c934ed0ebfee8cc5f9ba9642e6eb88322b9958b649750f72b"}, + {file = "uvloop-0.21.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:46923b0b5ee7fc0020bef24afe7836cb068f5050ca04caf6b487c513dc1a20b2"}, + {file = "uvloop-0.21.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:53e420a3afe22cdcf2a0f4846e377d16e718bc70103d7088a4f7623567ba5fb0"}, + {file = "uvloop-0.21.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88cb67cdbc0e483da00af0b2c3cdad4b7c61ceb1ee0f33fe00e09c81e3a6cb75"}, + {file = "uvloop-0.21.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:221f4f2a1f46032b403bf3be628011caf75428ee3cc204a22addf96f586b19fd"}, + {file = "uvloop-0.21.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:2d1f581393673ce119355d56da84fe1dd9d2bb8b3d13ce792524e1607139feff"}, + {file = "uvloop-0.21.0.tar.gz", hash = "sha256:3bf12b0fda68447806a7ad847bfa591613177275d35b6724b1ee573faa3704e3"}, +] + +[package.extras] +dev = ["Cython (>=3.0,<4.0)", "setuptools (>=60)"] +docs = ["Sphinx (>=4.1.2,<4.2.0)", "sphinx-rtd-theme (>=0.5.2,<0.6.0)", "sphinxcontrib-asyncio (>=0.3.0,<0.4.0)"] +test = ["aiohttp (>=3.10.5)", "flake8 (>=5.0,<6.0)", "mypy (>=0.800)", "psutil", "pyOpenSSL (>=23.0.0,<23.1.0)", "pycodestyle (>=2.9.0,<2.10.0)"] + +[[package]] +name = "virtualenv" +version = "20.29.3" +description = "Virtual Python Environment builder" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "virtualenv-20.29.3-py3-none-any.whl", hash = "sha256:3e3d00f5807e83b234dfb6122bf37cfadf4be216c53a49ac059d02414f819170"}, + {file = "virtualenv-20.29.3.tar.gz", hash = "sha256:95e39403fcf3940ac45bc717597dba16110b74506131845d9b687d5e73d947ac"}, +] + +[package.dependencies] +distlib = ">=0.3.7,<1" +filelock = ">=3.12.2,<4" +platformdirs = ">=3.9.1,<5" + +[package.extras] +docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.2,!=7.3)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"] +test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.4)", "pytest-env (>=0.8.2)", "pytest-freezer (>=0.4.8)", "pytest-mock (>=3.11.1)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=68)", "time-machine (>=2.10)"] + +[[package]] +name = "vllm" +version = "0.7.2" +description = "A high-throughput and memory-efficient inference and serving engine for LLMs" +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "vllm-0.7.2-cp38-abi3-manylinux1_x86_64.whl", hash = "sha256:51fcb7d60149f75ec85d457fab6ccd88a2b1a6344c28aad46b0f8776b29e9d47"}, + {file = "vllm-0.7.2.tar.gz", hash = "sha256:bdeeda5624182e6a93895cbb7e20b6e88b04d22b8272d8a255741b28b36ae941"}, +] + +[package.dependencies] +aiohttp = "*" +blake3 = "*" +cloudpickle = "*" +compressed-tensors = "0.9.1" +depyf = "0.18.0" +einops = "*" +fastapi = {version = ">=0.107.0,<0.113.dev0 || >0.114.0", markers = "python_version >= \"3.9\""} +filelock = ">=3.16.1" +gguf = "0.10.0" +importlib_metadata = "*" +lark = "1.2.2" +lm-format-enforcer = ">=0.10.9,<0.11" +mistral_common = {version = ">=1.5.0", extras = ["opencv"]} +msgspec = "*" +numpy = "<2.0.0" +nvidia-ml-py = ">=12.560.30" +openai = ">=1.52.0" +outlines = "0.1.11" +partial-json-parser = "*" +pillow = "*" +prometheus_client = ">=0.18.0" +prometheus-fastapi-instrumentator = ">=7.0.0" +protobuf = "*" +psutil = "*" +py-cpuinfo = "*" +pydantic = ">=2.9" +pyyaml = "*" +pyzmq = "*" +ray = {version = ">=2.9", extras = ["default"]} +requests = ">=2.26.0" +sentencepiece = "*" +tiktoken = ">=0.6.0" +tokenizers = ">=0.19.1" +torch = "2.5.1" +torchaudio = "2.5.1" +torchvision = "0.20.1" +tqdm = "*" +transformers = ">=4.48.2" +typing_extensions = ">=4.10" +uvicorn = {version = "*", extras = ["standard"]} +xformers = {version = "0.0.28.post3", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +xgrammar = {version = ">=0.1.6", markers = "platform_machine == \"x86_64\""} + +[package.extras] +audio = ["librosa", "soundfile"] +runai = ["boto3", "runai-model-streamer", "runai-model-streamer-s3"] +tensorizer = ["tensorizer (>=2.9.0)"] +video = ["decord"] + +[[package]] +name = "wandb" +version = "0.19.8" +description = "A CLI and library for interacting with the Weights & Biases API." +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "wandb-0.19.8-py3-none-any.whl", hash = "sha256:75dea834d579f38e0e1f857e644020e22c851f9b920e9c6c6345bacb98c3f3fc"}, + {file = "wandb-0.19.8-py3-none-macosx_10_14_x86_64.whl", hash = "sha256:6556147ba33b7ff4a0111bb6bf5ea485e4974c22f520f1e2a5eaad670a058c80"}, + {file = "wandb-0.19.8-py3-none-macosx_11_0_arm64.whl", hash = "sha256:f68517c2059d12912a90ae32ce95a2711e39f6c157c759eb191527739a12db8b"}, + {file = "wandb-0.19.8-py3-none-macosx_11_0_x86_64.whl", hash = "sha256:96cb534b19c2d301ac4fb0e7cfbc32198a704e29e87337133d6b71fdad33cf2f"}, + {file = "wandb-0.19.8-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1781b36434d494d6b34e2149201bae8cab960cb31571f11b981c4a62462d5af8"}, + {file = "wandb-0.19.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c25f0e40025b838b7a424b51837a2a5fd071686c59e1c46d73f04e760d305f79"}, + {file = "wandb-0.19.8-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:068eb0154f80be973ab291346d831e9cc80a9de1b8752bdeb48a997c3506fec4"}, + {file = "wandb-0.19.8-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:82a956150e53df0b4c193933b3e62c3e8255dc8b43bb187270939ef35b03fda3"}, + {file = "wandb-0.19.8-py3-none-win32.whl", hash = "sha256:9d71f153cb9330e307b1b054be01971a1bd164fb9bd4190d7f57989c2d6b86e8"}, + {file = "wandb-0.19.8-py3-none-win_amd64.whl", hash = "sha256:f7da8e6fc6693014c72fb7db3ecd5e1116066198d2aca96f6eb7220cea03081c"}, + {file = "wandb-0.19.8.tar.gz", hash = "sha256:3a4844bb38758657b94b090e72ee355fe5b926e3a048232f0ca4248f801d8d80"}, +] + +[package.dependencies] +click = ">=7.1,<8.0.0 || >8.0.0" +docker-pycreds = ">=0.4.0" +gitpython = ">=1.0.0,<3.1.29 || >3.1.29" +platformdirs = "*" +protobuf = {version = ">=3.19.0,<4.21.0 || >4.21.0,<5.28.0 || >5.28.0,<6", markers = "python_version > \"3.9\" or sys_platform != \"linux\""} +psutil = ">=5.0.0" +pydantic = ">=2.6,<3" +pyyaml = "*" +requests = ">=2.0.0,<3" +sentry-sdk = ">=2.0.0" +setproctitle = "*" +setuptools = "*" +typing-extensions = {version = ">=4.4,<5", markers = "python_version < \"3.12\""} + +[package.extras] +aws = ["boto3", "botocore (>=1.5.76)"] +azure = ["azure-identity", "azure-storage-blob"] +gcp = ["google-cloud-storage"] +importers = ["filelock", "mlflow", "polars (<=1.2.1)", "rich", "tenacity"] +kubeflow = ["google-cloud-storage", "kubernetes", "minio", "sh"] +launch = ["awscli", "azure-containerregistry", "azure-identity", "azure-storage-blob", "boto3", "botocore (>=1.5.76)", "chardet", "google-auth", "google-cloud-aiplatform", "google-cloud-artifact-registry", "google-cloud-compute", "google-cloud-storage", "iso8601", "jsonschema", "kubernetes", "kubernetes-asyncio", "nbconvert", "nbformat", "optuna", "pydantic", "pyyaml (>=6.0.0)", "tomli", "typing-extensions"] +media = ["bokeh", "imageio", "moviepy (>=1.0.0)", "numpy", "pillow", "plotly (>=5.18.0)", "rdkit", "soundfile"] +models = ["cloudpickle"] +perf = ["orjson"] +sweeps = ["sweeps (>=0.2.0)"] +workspaces = ["wandb-workspaces"] + +[[package]] +name = "wasabi" +version = "1.1.3" +description = "A lightweight console printing and formatting toolkit" +optional = false +python-versions = ">=3.6" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "wasabi-1.1.3-py3-none-any.whl", hash = "sha256:f76e16e8f7e79f8c4c8be49b4024ac725713ab10cd7f19350ad18a8e3f71728c"}, + {file = "wasabi-1.1.3.tar.gz", hash = "sha256:4bb3008f003809db0c3e28b4daf20906ea871a2bb43f9914197d540f4f2e0878"}, +] + +[package.dependencies] +colorama = {version = ">=0.4.6", markers = "sys_platform == \"win32\" and python_version >= \"3.7\""} + +[[package]] +name = "watchfiles" +version = "1.0.4" +description = "Simple, modern and high performance file watching and code reload in python." +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "watchfiles-1.0.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:ba5bb3073d9db37c64520681dd2650f8bd40902d991e7b4cfaeece3e32561d08"}, + {file = "watchfiles-1.0.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9f25d0ba0fe2b6d2c921cf587b2bf4c451860086534f40c384329fb96e2044d1"}, + {file = "watchfiles-1.0.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:47eb32ef8c729dbc4f4273baece89398a4d4b5d21a1493efea77a17059f4df8a"}, + {file = "watchfiles-1.0.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:076f293100db3b0b634514aa0d294b941daa85fc777f9c698adb1009e5aca0b1"}, + {file = "watchfiles-1.0.4-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1eacd91daeb5158c598fe22d7ce66d60878b6294a86477a4715154990394c9b3"}, + {file = "watchfiles-1.0.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:13c2ce7b72026cfbca120d652f02c7750f33b4c9395d79c9790b27f014c8a5a2"}, + {file = "watchfiles-1.0.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:90192cdc15ab7254caa7765a98132a5a41471cf739513cc9bcf7d2ffcc0ec7b2"}, + {file = "watchfiles-1.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:278aaa395f405972e9f523bd786ed59dfb61e4b827856be46a42130605fd0899"}, + {file = "watchfiles-1.0.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:a462490e75e466edbb9fc4cd679b62187153b3ba804868452ef0577ec958f5ff"}, + {file = "watchfiles-1.0.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8d0d0630930f5cd5af929040e0778cf676a46775753e442a3f60511f2409f48f"}, + {file = "watchfiles-1.0.4-cp310-cp310-win32.whl", hash = "sha256:cc27a65069bcabac4552f34fd2dce923ce3fcde0721a16e4fb1b466d63ec831f"}, + {file = "watchfiles-1.0.4-cp310-cp310-win_amd64.whl", hash = "sha256:8b1f135238e75d075359cf506b27bf3f4ca12029c47d3e769d8593a2024ce161"}, + {file = "watchfiles-1.0.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:2a9f93f8439639dc244c4d2902abe35b0279102bca7bbcf119af964f51d53c19"}, + {file = "watchfiles-1.0.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9eea33ad8c418847dd296e61eb683cae1c63329b6d854aefcd412e12d94ee235"}, + {file = "watchfiles-1.0.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:31f1a379c9dcbb3f09cf6be1b7e83b67c0e9faabed0471556d9438a4a4e14202"}, + {file = "watchfiles-1.0.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ab594e75644421ae0a2484554832ca5895f8cab5ab62de30a1a57db460ce06c6"}, + {file = "watchfiles-1.0.4-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fc2eb5d14a8e0d5df7b36288979176fbb39672d45184fc4b1c004d7c3ce29317"}, + {file = "watchfiles-1.0.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3f68d8e9d5a321163ddacebe97091000955a1b74cd43724e346056030b0bacee"}, + {file = "watchfiles-1.0.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f9ce064e81fe79faa925ff03b9f4c1a98b0bbb4a1b8c1b015afa93030cb21a49"}, + {file = "watchfiles-1.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b77d5622ac5cc91d21ae9c2b284b5d5c51085a0bdb7b518dba263d0af006132c"}, + {file = "watchfiles-1.0.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1941b4e39de9b38b868a69b911df5e89dc43767feeda667b40ae032522b9b5f1"}, + {file = "watchfiles-1.0.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4f8c4998506241dedf59613082d1c18b836e26ef2a4caecad0ec41e2a15e4226"}, + {file = "watchfiles-1.0.4-cp311-cp311-win32.whl", hash = "sha256:4ebbeca9360c830766b9f0df3640b791be569d988f4be6c06d6fae41f187f105"}, + {file = "watchfiles-1.0.4-cp311-cp311-win_amd64.whl", hash = "sha256:05d341c71f3d7098920f8551d4df47f7b57ac5b8dad56558064c3431bdfc0b74"}, + {file = "watchfiles-1.0.4-cp311-cp311-win_arm64.whl", hash = "sha256:32b026a6ab64245b584acf4931fe21842374da82372d5c039cba6bf99ef722f3"}, + {file = "watchfiles-1.0.4-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:229e6ec880eca20e0ba2f7e2249c85bae1999d330161f45c78d160832e026ee2"}, + {file = "watchfiles-1.0.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5717021b199e8353782dce03bd8a8f64438832b84e2885c4a645f9723bf656d9"}, + {file = "watchfiles-1.0.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0799ae68dfa95136dde7c472525700bd48777875a4abb2ee454e3ab18e9fc712"}, + {file = "watchfiles-1.0.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:43b168bba889886b62edb0397cab5b6490ffb656ee2fcb22dec8bfeb371a9e12"}, + {file = "watchfiles-1.0.4-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fb2c46e275fbb9f0c92e7654b231543c7bbfa1df07cdc4b99fa73bedfde5c844"}, + {file = "watchfiles-1.0.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:857f5fc3aa027ff5e57047da93f96e908a35fe602d24f5e5d8ce64bf1f2fc733"}, + {file = "watchfiles-1.0.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55ccfd27c497b228581e2838d4386301227fc0cb47f5a12923ec2fe4f97b95af"}, + {file = "watchfiles-1.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5c11ea22304d17d4385067588123658e9f23159225a27b983f343fcffc3e796a"}, + {file = "watchfiles-1.0.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:74cb3ca19a740be4caa18f238298b9d472c850f7b2ed89f396c00a4c97e2d9ff"}, + {file = "watchfiles-1.0.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:c7cce76c138a91e720d1df54014a047e680b652336e1b73b8e3ff3158e05061e"}, + {file = "watchfiles-1.0.4-cp312-cp312-win32.whl", hash = "sha256:b045c800d55bc7e2cadd47f45a97c7b29f70f08a7c2fa13241905010a5493f94"}, + {file = "watchfiles-1.0.4-cp312-cp312-win_amd64.whl", hash = "sha256:c2acfa49dd0ad0bf2a9c0bb9a985af02e89345a7189be1efc6baa085e0f72d7c"}, + {file = "watchfiles-1.0.4-cp312-cp312-win_arm64.whl", hash = "sha256:22bb55a7c9e564e763ea06c7acea24fc5d2ee5dfc5dafc5cfbedfe58505e9f90"}, + {file = "watchfiles-1.0.4-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:8012bd820c380c3d3db8435e8cf7592260257b378b649154a7948a663b5f84e9"}, + {file = "watchfiles-1.0.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:aa216f87594f951c17511efe5912808dfcc4befa464ab17c98d387830ce07b60"}, + {file = "watchfiles-1.0.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62c9953cf85529c05b24705639ffa390f78c26449e15ec34d5339e8108c7c407"}, + {file = "watchfiles-1.0.4-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7cf684aa9bba4cd95ecb62c822a56de54e3ae0598c1a7f2065d51e24637a3c5d"}, + {file = "watchfiles-1.0.4-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f44a39aee3cbb9b825285ff979ab887a25c5d336e5ec3574f1506a4671556a8d"}, + {file = "watchfiles-1.0.4-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a38320582736922be8c865d46520c043bff350956dfc9fbaee3b2df4e1740a4b"}, + {file = "watchfiles-1.0.4-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:39f4914548b818540ef21fd22447a63e7be6e24b43a70f7642d21f1e73371590"}, + {file = "watchfiles-1.0.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f12969a3765909cf5dc1e50b2436eb2c0e676a3c75773ab8cc3aa6175c16e902"}, + {file = "watchfiles-1.0.4-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:0986902677a1a5e6212d0c49b319aad9cc48da4bd967f86a11bde96ad9676ca1"}, + {file = "watchfiles-1.0.4-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:308ac265c56f936636e3b0e3f59e059a40003c655228c131e1ad439957592303"}, + {file = "watchfiles-1.0.4-cp313-cp313-win32.whl", hash = "sha256:aee397456a29b492c20fda2d8961e1ffb266223625346ace14e4b6d861ba9c80"}, + {file = "watchfiles-1.0.4-cp313-cp313-win_amd64.whl", hash = "sha256:d6097538b0ae5c1b88c3b55afa245a66793a8fec7ada6755322e465fb1a0e8cc"}, + {file = "watchfiles-1.0.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:d3452c1ec703aa1c61e15dfe9d482543e4145e7c45a6b8566978fbb044265a21"}, + {file = "watchfiles-1.0.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7b75fee5a16826cf5c46fe1c63116e4a156924d668c38b013e6276f2582230f0"}, + {file = "watchfiles-1.0.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e997802d78cdb02623b5941830ab06f8860038faf344f0d288d325cc9c5d2ff"}, + {file = "watchfiles-1.0.4-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e0611d244ce94d83f5b9aff441ad196c6e21b55f77f3c47608dcf651efe54c4a"}, + {file = "watchfiles-1.0.4-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9745a4210b59e218ce64c91deb599ae8775c8a9da4e95fb2ee6fe745fc87d01a"}, + {file = "watchfiles-1.0.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4810ea2ae622add560f4aa50c92fef975e475f7ac4900ce5ff5547b2434642d8"}, + {file = "watchfiles-1.0.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:740d103cd01458f22462dedeb5a3382b7f2c57d07ff033fbc9465919e5e1d0f3"}, + {file = "watchfiles-1.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdbd912a61543a36aef85e34f212e5d2486e7c53ebfdb70d1e0b060cc50dd0bf"}, + {file = "watchfiles-1.0.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0bc80d91ddaf95f70258cf78c471246846c1986bcc5fd33ccc4a1a67fcb40f9a"}, + {file = "watchfiles-1.0.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ab0311bb2ffcd9f74b6c9de2dda1612c13c84b996d032cd74799adb656af4e8b"}, + {file = "watchfiles-1.0.4-cp39-cp39-win32.whl", hash = "sha256:02a526ee5b5a09e8168314c905fc545c9bc46509896ed282aeb5a8ba9bd6ca27"}, + {file = "watchfiles-1.0.4-cp39-cp39-win_amd64.whl", hash = "sha256:a5ae5706058b27c74bac987d615105da17724172d5aaacc6c362a40599b6de43"}, + {file = "watchfiles-1.0.4-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:cdcc92daeae268de1acf5b7befcd6cfffd9a047098199056c72e4623f531de18"}, + {file = "watchfiles-1.0.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d8d3d9203705b5797f0af7e7e5baa17c8588030aaadb7f6a86107b7247303817"}, + {file = "watchfiles-1.0.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bdef5a1be32d0b07dcea3318a0be95d42c98ece24177820226b56276e06b63b0"}, + {file = "watchfiles-1.0.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:342622287b5604ddf0ed2d085f3a589099c9ae8b7331df3ae9845571586c4f3d"}, + {file = "watchfiles-1.0.4-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:9fe37a2de80aa785d340f2980276b17ef697ab8db6019b07ee4fd28a8359d2f3"}, + {file = "watchfiles-1.0.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:9d1ef56b56ed7e8f312c934436dea93bfa3e7368adfcf3df4c0da6d4de959a1e"}, + {file = "watchfiles-1.0.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95b42cac65beae3a362629950c444077d1b44f1790ea2772beaea95451c086bb"}, + {file = "watchfiles-1.0.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e0227b8ed9074c6172cf55d85b5670199c99ab11fd27d2c473aa30aec67ee42"}, + {file = "watchfiles-1.0.4.tar.gz", hash = "sha256:6ba473efd11062d73e4f00c2b730255f9c1bdd73cd5f9fe5b5da8dbd4a717205"}, +] + +[package.dependencies] +anyio = ">=3.0.0" + +[[package]] +name = "wcwidth" +version = "0.2.13" +description = "Measures the displayed width of unicode strings in a terminal" +optional = false +python-versions = "*" +groups = ["main"] +markers = "python_version <= \"3.11\"" +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 = "weasel" +version = "0.3.4" +description = "Weasel: A small and easy workflow system" +optional = false +python-versions = ">=3.6" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "weasel-0.3.4-py3-none-any.whl", hash = "sha256:ee48a944f051d007201c2ea1661d0c41035028c5d5a8bcb29a0b10f1100206ae"}, + {file = "weasel-0.3.4.tar.gz", hash = "sha256:eb16f92dc9f1a3ffa89c165e3a9acd28018ebb656e0da4da02c0d7d8ae3f6178"}, +] + +[package.dependencies] +cloudpathlib = ">=0.7.0,<0.17.0" +confection = ">=0.0.4,<0.2.0" +packaging = ">=20.0" +pydantic = ">=1.7.4,<1.8 || >1.8,<1.8.1 || >1.8.1,<3.0.0" +requests = ">=2.13.0,<3.0.0" +smart-open = ">=5.2.1,<7.0.0" +srsly = ">=2.4.3,<3.0.0" +typer = ">=0.3.0,<0.10.0" +wasabi = ">=0.9.1,<1.2.0" + +[[package]] +name = "websockets" +version = "15.0.1" +description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)" +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "websockets-15.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d63efaa0cd96cf0c5fe4d581521d9fa87744540d4bc999ae6e08595a1014b45b"}, + {file = "websockets-15.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ac60e3b188ec7574cb761b08d50fcedf9d77f1530352db4eef1707fe9dee7205"}, + {file = "websockets-15.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5756779642579d902eed757b21b0164cd6fe338506a8083eb58af5c372e39d9a"}, + {file = "websockets-15.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0fdfe3e2a29e4db3659dbd5bbf04560cea53dd9610273917799f1cde46aa725e"}, + {file = "websockets-15.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c2529b320eb9e35af0fa3016c187dffb84a3ecc572bcee7c3ce302bfeba52bf"}, + {file = "websockets-15.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac1e5c9054fe23226fb11e05a6e630837f074174c4c2f0fe442996112a6de4fb"}, + {file = "websockets-15.0.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5df592cd503496351d6dc14f7cdad49f268d8e618f80dce0cd5a36b93c3fc08d"}, + {file = "websockets-15.0.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0a34631031a8f05657e8e90903e656959234f3a04552259458aac0b0f9ae6fd9"}, + {file = "websockets-15.0.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3d00075aa65772e7ce9e990cab3ff1de702aa09be3940d1dc88d5abf1ab8a09c"}, + {file = "websockets-15.0.1-cp310-cp310-win32.whl", hash = "sha256:1234d4ef35db82f5446dca8e35a7da7964d02c127b095e172e54397fb6a6c256"}, + {file = "websockets-15.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:39c1fec2c11dc8d89bba6b2bf1556af381611a173ac2b511cf7231622058af41"}, + {file = "websockets-15.0.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:823c248b690b2fd9303ba00c4f66cd5e2d8c3ba4aa968b2779be9532a4dad431"}, + {file = "websockets-15.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678999709e68425ae2593acf2e3ebcbcf2e69885a5ee78f9eb80e6e371f1bf57"}, + {file = "websockets-15.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d50fd1ee42388dcfb2b3676132c78116490976f1300da28eb629272d5d93e905"}, + {file = "websockets-15.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d99e5546bf73dbad5bf3547174cd6cb8ba7273062a23808ffea025ecb1cf8562"}, + {file = "websockets-15.0.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:66dd88c918e3287efc22409d426c8f729688d89a0c587c88971a0faa2c2f3792"}, + {file = "websockets-15.0.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8dd8327c795b3e3f219760fa603dcae1dcc148172290a8ab15158cf85a953413"}, + {file = "websockets-15.0.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8fdc51055e6ff4adeb88d58a11042ec9a5eae317a0a53d12c062c8a8865909e8"}, + {file = "websockets-15.0.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:693f0192126df6c2327cce3baa7c06f2a117575e32ab2308f7f8216c29d9e2e3"}, + {file = "websockets-15.0.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:54479983bd5fb469c38f2f5c7e3a24f9a4e70594cd68cd1fa6b9340dadaff7cf"}, + {file = "websockets-15.0.1-cp311-cp311-win32.whl", hash = "sha256:16b6c1b3e57799b9d38427dda63edcbe4926352c47cf88588c0be4ace18dac85"}, + {file = "websockets-15.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:27ccee0071a0e75d22cb35849b1db43f2ecd3e161041ac1ee9d2352ddf72f065"}, + {file = "websockets-15.0.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:3e90baa811a5d73f3ca0bcbf32064d663ed81318ab225ee4f427ad4e26e5aff3"}, + {file = "websockets-15.0.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:592f1a9fe869c778694f0aa806ba0374e97648ab57936f092fd9d87f8bc03665"}, + {file = "websockets-15.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0701bc3cfcb9164d04a14b149fd74be7347a530ad3bbf15ab2c678a2cd3dd9a2"}, + {file = "websockets-15.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8b56bdcdb4505c8078cb6c7157d9811a85790f2f2b3632c7d1462ab5783d215"}, + {file = "websockets-15.0.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0af68c55afbd5f07986df82831c7bff04846928ea8d1fd7f30052638788bc9b5"}, + {file = "websockets-15.0.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64dee438fed052b52e4f98f76c5790513235efaa1ef7f3f2192c392cd7c91b65"}, + {file = "websockets-15.0.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d5f6b181bb38171a8ad1d6aa58a67a6aa9d4b38d0f8c5f496b9e42561dfc62fe"}, + {file = "websockets-15.0.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:5d54b09eba2bada6011aea5375542a157637b91029687eb4fdb2dab11059c1b4"}, + {file = "websockets-15.0.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3be571a8b5afed347da347bfcf27ba12b069d9d7f42cb8c7028b5e98bbb12597"}, + {file = "websockets-15.0.1-cp312-cp312-win32.whl", hash = "sha256:c338ffa0520bdb12fbc527265235639fb76e7bc7faafbb93f6ba80d9c06578a9"}, + {file = "websockets-15.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:fcd5cf9e305d7b8338754470cf69cf81f420459dbae8a3b40cee57417f4614a7"}, + {file = "websockets-15.0.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ee443ef070bb3b6ed74514f5efaa37a252af57c90eb33b956d35c8e9c10a1931"}, + {file = "websockets-15.0.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5a939de6b7b4e18ca683218320fc67ea886038265fd1ed30173f5ce3f8e85675"}, + {file = "websockets-15.0.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:746ee8dba912cd6fc889a8147168991d50ed70447bf18bcda7039f7d2e3d9151"}, + {file = "websockets-15.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:595b6c3969023ecf9041b2936ac3827e4623bfa3ccf007575f04c5a6aa318c22"}, + {file = "websockets-15.0.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3c714d2fc58b5ca3e285461a4cc0c9a66bd0e24c5da9911e30158286c9b5be7f"}, + {file = "websockets-15.0.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f3c1e2ab208db911594ae5b4f79addeb3501604a165019dd221c0bdcabe4db8"}, + {file = "websockets-15.0.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:229cf1d3ca6c1804400b0a9790dc66528e08a6a1feec0d5040e8b9eb14422375"}, + {file = "websockets-15.0.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:756c56e867a90fb00177d530dca4b097dd753cde348448a1012ed6c5131f8b7d"}, + {file = "websockets-15.0.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:558d023b3df0bffe50a04e710bc87742de35060580a293c2a984299ed83bc4e4"}, + {file = "websockets-15.0.1-cp313-cp313-win32.whl", hash = "sha256:ba9e56e8ceeeedb2e080147ba85ffcd5cd0711b89576b83784d8605a7df455fa"}, + {file = "websockets-15.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:e09473f095a819042ecb2ab9465aee615bd9c2028e4ef7d933600a8401c79561"}, + {file = "websockets-15.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5f4c04ead5aed67c8a1a20491d54cdfba5884507a48dd798ecaf13c74c4489f5"}, + {file = "websockets-15.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:abdc0c6c8c648b4805c5eacd131910d2a7f6455dfd3becab248ef108e89ab16a"}, + {file = "websockets-15.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a625e06551975f4b7ea7102bc43895b90742746797e2e14b70ed61c43a90f09b"}, + {file = "websockets-15.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d591f8de75824cbb7acad4e05d2d710484f15f29d4a915092675ad3456f11770"}, + {file = "websockets-15.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:47819cea040f31d670cc8d324bb6435c6f133b8c7a19ec3d61634e62f8d8f9eb"}, + {file = "websockets-15.0.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac017dd64572e5c3bd01939121e4d16cf30e5d7e110a119399cf3133b63ad054"}, + {file = "websockets-15.0.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:4a9fac8e469d04ce6c25bb2610dc535235bd4aa14996b4e6dbebf5e007eba5ee"}, + {file = "websockets-15.0.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:363c6f671b761efcb30608d24925a382497c12c506b51661883c3e22337265ed"}, + {file = "websockets-15.0.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:2034693ad3097d5355bfdacfffcbd3ef5694f9718ab7f29c29689a9eae841880"}, + {file = "websockets-15.0.1-cp39-cp39-win32.whl", hash = "sha256:3b1ac0d3e594bf121308112697cf4b32be538fb1444468fb0a6ae4feebc83411"}, + {file = "websockets-15.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:b7643a03db5c95c799b89b31c036d5f27eeb4d259c798e878d6937d71832b1e4"}, + {file = "websockets-15.0.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0c9e74d766f2818bb95f84c25be4dea09841ac0f734d1966f415e4edfc4ef1c3"}, + {file = "websockets-15.0.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:1009ee0c7739c08a0cd59de430d6de452a55e42d6b522de7aa15e6f67db0b8e1"}, + {file = "websockets-15.0.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76d1f20b1c7a2fa82367e04982e708723ba0e7b8d43aa643d3dcd404d74f1475"}, + {file = "websockets-15.0.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f29d80eb9a9263b8d109135351caf568cc3f80b9928bccde535c235de55c22d9"}, + {file = "websockets-15.0.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b359ed09954d7c18bbc1680f380c7301f92c60bf924171629c5db97febb12f04"}, + {file = "websockets-15.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:cad21560da69f4ce7658ca2cb83138fb4cf695a2ba3e475e0559e05991aa8122"}, + {file = "websockets-15.0.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7f493881579c90fc262d9cdbaa05a6b54b3811c2f300766748db79f098db9940"}, + {file = "websockets-15.0.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:47b099e1f4fbc95b701b6e85768e1fcdaf1630f3cbe4765fa216596f12310e2e"}, + {file = "websockets-15.0.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:67f2b6de947f8c757db2db9c71527933ad0019737ec374a8a6be9a956786aaf9"}, + {file = "websockets-15.0.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d08eb4c2b7d6c41da6ca0600c077e93f5adcfd979cd777d747e9ee624556da4b"}, + {file = "websockets-15.0.1-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b826973a4a2ae47ba357e4e82fa44a463b8f168e1ca775ac64521442b19e87f"}, + {file = "websockets-15.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:21c1fa28a6a7e3cbdc171c694398b6df4744613ce9b36b1a498e816787e28123"}, + {file = "websockets-15.0.1-py3-none-any.whl", hash = "sha256:f7a866fbc1e97b5c617ee4116daaa09b722101d4a3c170c787450ba409f9736f"}, + {file = "websockets-15.0.1.tar.gz", hash = "sha256:82544de02076bafba038ce055ee6412d68da13ab47f0c60cab827346de828dee"}, +] + +[[package]] +name = "xformers" +version = "0.0.28.post3" +description = "XFormers: A collection of composable Transformer building blocks." +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "platform_machine == \"x86_64\" and platform_system == \"Linux\" and python_version <= \"3.11\"" +files = [ + {file = "xformers-0.0.28.post3-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:648483325366fb3c6a42246f99646101d3cfd678725b3ffc50a4708a222ae973"}, + {file = "xformers-0.0.28.post3-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:825563e129f6b22885c2a91e464ff617382f4d78876cc92d96ff618e875aaee3"}, + {file = "xformers-0.0.28.post3-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:c550f72bb4e55b67bd847e9272b7f41d27ac82b6b99f35a710a1292f2f218a3a"}, + {file = "xformers-0.0.28.post3-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:e5ae1269ceea51c0d3a0a03ebe729aaae8e29dc4ca5e0f5a3bcd482045905811"}, + {file = "xformers-0.0.28.post3.tar.gz", hash = "sha256:c7a2392c874dfd8f38b73e14492baf048a4f50f77ddf522bfcf6ebf5ee84d567"}, +] + +[package.dependencies] +numpy = "*" +torch = "2.5.1" + +[[package]] +name = "xgrammar" +version = "0.1.15" +description = "Efficient, Flexible and Portable Structured Generation" +optional = false +python-versions = "<4,>=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\" and platform_machine == \"x86_64\"" +files = [ + {file = "xgrammar-0.1.15-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:a85019afdbb81497c911ff3d702a5c245a1a5e51ba400599ec39ab921e3cb75d"}, + {file = "xgrammar-0.1.15-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:567dfc97165ca63d2c81eb6c1b2354bdf98b7f43b869cb3f12ba128eb1494d44"}, + {file = "xgrammar-0.1.15-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:211402d22abeae922a69c4ddfde7e9d6fff62e57f96755ca9cc458f25bcb1899"}, + {file = "xgrammar-0.1.15-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff16a8404923fce5e6c3fc72ea393a1c610fbe43b7a9c1f7db1420187b9cb2cd"}, + {file = "xgrammar-0.1.15-cp310-cp310-win_amd64.whl", hash = "sha256:11c7dfa69d03400db0a0f3b66e749ea5e269e78dc88b37ced788c614999f6bae"}, + {file = "xgrammar-0.1.15-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:98b853a0c0e7050769697e21071766c36e6275e372f4d4d192f497135663e382"}, + {file = "xgrammar-0.1.15-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:37e8c9b2aad1f4a524ec40c012775336caa760d280f31ecff83661e3a01fdd55"}, + {file = "xgrammar-0.1.15-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5654765178b8af562e85a3873d264453d9a8e152ae137f762010ccd56c0868ad"}, + {file = "xgrammar-0.1.15-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b75542d60fa44c572182da6efddac84204a5ebd2f990306ba73fa00c1898cd39"}, + {file = "xgrammar-0.1.15-cp311-cp311-win_amd64.whl", hash = "sha256:19248e8fa4fb687b4f3fdce7238ebf76b6d1d4436eb39e537acf53ffe2d7d5e1"}, + {file = "xgrammar-0.1.15-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:ef8efcce45ad300d2540d8b86878f65e2f6adbec3bddac665baf67df211fb3ab"}, + {file = "xgrammar-0.1.15-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1af0d592da35e56ad071e093e701f6e3fde42f66f13180c09342211df3c392a7"}, + {file = "xgrammar-0.1.15-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83833b113b35d8bfe1457e501bbaf88b9ff216e68f524747ace16e2eda8d365a"}, + {file = "xgrammar-0.1.15-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b8628b03a2861901f861fa5ac623f0a9a8ed0002461bbe8eb8f2b4826f6b627"}, + {file = "xgrammar-0.1.15-cp312-cp312-win_amd64.whl", hash = "sha256:bf80a7f3015f3212f3969623aecee54feca31ccb1d327b6a2d5c7e3f40d214b9"}, + {file = "xgrammar-0.1.15-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:12453a7d052adef252890baee961425b252fe1a1af4b32412bfbcb88a26fd1d4"}, + {file = "xgrammar-0.1.15-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1a274c3a32642fe0ad32d8afa432152e46c20fdf0ebfc5867b872b6191becfa8"}, + {file = "xgrammar-0.1.15-cp313-cp313-win_amd64.whl", hash = "sha256:aeca4b8237eb356439a16611e9f315c59427377939a6f661a66c6f6816304664"}, + {file = "xgrammar-0.1.15-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:ce16b5765fff508756d58609855e02438f4479086bed66bffaa2ba83346a9fd5"}, + {file = "xgrammar-0.1.15-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fe35c54ee0972215dee94e30f956fefefc45c401cea6d9a2fa3d4497ba3fb658"}, + {file = "xgrammar-0.1.15-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09da9aef6505f2b2266af043a6a42c906519a6b1c3d9fd0952ec6413366cf76d"}, + {file = "xgrammar-0.1.15-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b9b46be4f141fdffb963a8911f7df4fc37599ad68ef099f1337689972e85f0e3"}, + {file = "xgrammar-0.1.15-cp39-cp39-win_amd64.whl", hash = "sha256:1123c27f0b7653037c9fd426fb7ee720e348eecdad41c607b9a2de192d93d824"}, + {file = "xgrammar-0.1.15.tar.gz", hash = "sha256:620ad447147404ff329bcec55ee3b8fea98ca182cd2a303addb40697345a5a08"}, +] + +[package.dependencies] +pydantic = "*" +sentencepiece = "*" +tiktoken = "*" +torch = ">=1.10.0" +transformers = ">=4.38.0" +triton = {version = "*", markers = "platform_system == \"linux\" and platform_machine == \"x86_64\""} + +[package.extras] +test = ["huggingface-hub[cli]", "protobuf", "pytest"] + +[[package]] +name = "xxhash" +version = "3.5.0" +description = "Python binding for xxHash" +optional = false +python-versions = ">=3.7" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "xxhash-3.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ece616532c499ee9afbb83078b1b952beffef121d989841f7f4b3dc5ac0fd212"}, + {file = "xxhash-3.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3171f693dbc2cef6477054a665dc255d996646b4023fe56cb4db80e26f4cc520"}, + {file = "xxhash-3.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7c5d3e570ef46adaf93fc81b44aca6002b5a4d8ca11bd0580c07eac537f36680"}, + {file = "xxhash-3.5.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7cb29a034301e2982df8b1fe6328a84f4b676106a13e9135a0d7e0c3e9f806da"}, + {file = "xxhash-3.5.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d0d307d27099bb0cbeea7260eb39ed4fdb99c5542e21e94bb6fd29e49c57a23"}, + {file = "xxhash-3.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0342aafd421795d740e514bc9858ebddfc705a75a8c5046ac56d85fe97bf196"}, + {file = "xxhash-3.5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3dbbd9892c5ebffeca1ed620cf0ade13eb55a0d8c84e0751a6653adc6ac40d0c"}, + {file = "xxhash-3.5.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4cc2d67fdb4d057730c75a64c5923abfa17775ae234a71b0200346bfb0a7f482"}, + {file = "xxhash-3.5.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:ec28adb204b759306a3d64358a5e5c07d7b1dd0ccbce04aa76cb9377b7b70296"}, + {file = "xxhash-3.5.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:1328f6d8cca2b86acb14104e381225a3d7b42c92c4b86ceae814e5c400dbb415"}, + {file = "xxhash-3.5.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8d47ebd9f5d9607fd039c1fbf4994e3b071ea23eff42f4ecef246ab2b7334198"}, + {file = "xxhash-3.5.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b96d559e0fcddd3343c510a0fe2b127fbff16bf346dd76280b82292567523442"}, + {file = "xxhash-3.5.0-cp310-cp310-win32.whl", hash = "sha256:61c722ed8d49ac9bc26c7071eeaa1f6ff24053d553146d5df031802deffd03da"}, + {file = "xxhash-3.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:9bed5144c6923cc902cd14bb8963f2d5e034def4486ab0bbe1f58f03f042f9a9"}, + {file = "xxhash-3.5.0-cp310-cp310-win_arm64.whl", hash = "sha256:893074d651cf25c1cc14e3bea4fceefd67f2921b1bb8e40fcfeba56820de80c6"}, + {file = "xxhash-3.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:02c2e816896dc6f85922ced60097bcf6f008dedfc5073dcba32f9c8dd786f3c1"}, + {file = "xxhash-3.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6027dcd885e21581e46d3c7f682cfb2b870942feeed58a21c29583512c3f09f8"}, + {file = "xxhash-3.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1308fa542bbdbf2fa85e9e66b1077eea3a88bef38ee8a06270b4298a7a62a166"}, + {file = "xxhash-3.5.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c28b2fdcee797e1c1961cd3bcd3d545cab22ad202c846235197935e1df2f8ef7"}, + {file = "xxhash-3.5.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:924361811732ddad75ff23e90efd9ccfda4f664132feecb90895bade6a1b4623"}, + {file = "xxhash-3.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89997aa1c4b6a5b1e5b588979d1da048a3c6f15e55c11d117a56b75c84531f5a"}, + {file = "xxhash-3.5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:685c4f4e8c59837de103344eb1c8a3851f670309eb5c361f746805c5471b8c88"}, + {file = "xxhash-3.5.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:dbd2ecfbfee70bc1a4acb7461fa6af7748ec2ab08ac0fa298f281c51518f982c"}, + {file = "xxhash-3.5.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:25b5a51dc3dfb20a10833c8eee25903fd2e14059e9afcd329c9da20609a307b2"}, + {file = "xxhash-3.5.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a8fb786fb754ef6ff8c120cb96629fb518f8eb5a61a16aac3a979a9dbd40a084"}, + {file = "xxhash-3.5.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:a905ad00ad1e1c34fe4e9d7c1d949ab09c6fa90c919860c1534ff479f40fd12d"}, + {file = "xxhash-3.5.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:963be41bcd49f53af6d795f65c0da9b4cc518c0dd9c47145c98f61cb464f4839"}, + {file = "xxhash-3.5.0-cp311-cp311-win32.whl", hash = "sha256:109b436096d0a2dd039c355fa3414160ec4d843dfecc64a14077332a00aeb7da"}, + {file = "xxhash-3.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:b702f806693201ad6c0a05ddbbe4c8f359626d0b3305f766077d51388a6bac58"}, + {file = "xxhash-3.5.0-cp311-cp311-win_arm64.whl", hash = "sha256:c4dcb4120d0cc3cc448624147dba64e9021b278c63e34a38789b688fd0da9bf3"}, + {file = "xxhash-3.5.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:14470ace8bd3b5d51318782cd94e6f94431974f16cb3b8dc15d52f3b69df8e00"}, + {file = "xxhash-3.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:59aa1203de1cb96dbeab595ded0ad0c0056bb2245ae11fac11c0ceea861382b9"}, + {file = "xxhash-3.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08424f6648526076e28fae6ea2806c0a7d504b9ef05ae61d196d571e5c879c84"}, + {file = "xxhash-3.5.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:61a1ff00674879725b194695e17f23d3248998b843eb5e933007ca743310f793"}, + {file = "xxhash-3.5.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2f2c61bee5844d41c3eb015ac652a0229e901074951ae48581d58bfb2ba01be"}, + {file = "xxhash-3.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d32a592cac88d18cc09a89172e1c32d7f2a6e516c3dfde1b9adb90ab5df54a6"}, + {file = "xxhash-3.5.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:70dabf941dede727cca579e8c205e61121afc9b28516752fd65724be1355cc90"}, + {file = "xxhash-3.5.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e5d0ddaca65ecca9c10dcf01730165fd858533d0be84c75c327487c37a906a27"}, + {file = "xxhash-3.5.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3e5b5e16c5a480fe5f59f56c30abdeba09ffd75da8d13f6b9b6fd224d0b4d0a2"}, + {file = "xxhash-3.5.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149b7914451eb154b3dfaa721315117ea1dac2cc55a01bfbd4df7c68c5dd683d"}, + {file = "xxhash-3.5.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:eade977f5c96c677035ff39c56ac74d851b1cca7d607ab3d8f23c6b859379cab"}, + {file = "xxhash-3.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fa9f547bd98f5553d03160967866a71056a60960be00356a15ecc44efb40ba8e"}, + {file = "xxhash-3.5.0-cp312-cp312-win32.whl", hash = "sha256:f7b58d1fd3551b8c80a971199543379be1cee3d0d409e1f6d8b01c1a2eebf1f8"}, + {file = "xxhash-3.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:fa0cafd3a2af231b4e113fba24a65d7922af91aeb23774a8b78228e6cd785e3e"}, + {file = "xxhash-3.5.0-cp312-cp312-win_arm64.whl", hash = "sha256:586886c7e89cb9828bcd8a5686b12e161368e0064d040e225e72607b43858ba2"}, + {file = "xxhash-3.5.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:37889a0d13b0b7d739cfc128b1c902f04e32de17b33d74b637ad42f1c55101f6"}, + {file = "xxhash-3.5.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:97a662338797c660178e682f3bc180277b9569a59abfb5925e8620fba00b9fc5"}, + {file = "xxhash-3.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f85e0108d51092bdda90672476c7d909c04ada6923c14ff9d913c4f7dc8a3bc"}, + {file = "xxhash-3.5.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cd2fd827b0ba763ac919440042302315c564fdb797294d86e8cdd4578e3bc7f3"}, + {file = "xxhash-3.5.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:82085c2abec437abebf457c1d12fccb30cc8b3774a0814872511f0f0562c768c"}, + {file = "xxhash-3.5.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:07fda5de378626e502b42b311b049848c2ef38784d0d67b6f30bb5008642f8eb"}, + {file = "xxhash-3.5.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c279f0d2b34ef15f922b77966640ade58b4ccdfef1c4d94b20f2a364617a493f"}, + {file = "xxhash-3.5.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:89e66ceed67b213dec5a773e2f7a9e8c58f64daeb38c7859d8815d2c89f39ad7"}, + {file = "xxhash-3.5.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:bcd51708a633410737111e998ceb3b45d3dbc98c0931f743d9bb0a209033a326"}, + {file = "xxhash-3.5.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3ff2c0a34eae7df88c868be53a8dd56fbdf592109e21d4bfa092a27b0bf4a7bf"}, + {file = "xxhash-3.5.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:4e28503dccc7d32e0b9817aa0cbfc1f45f563b2c995b7a66c4c8a0d232e840c7"}, + {file = "xxhash-3.5.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a6c50017518329ed65a9e4829154626f008916d36295b6a3ba336e2458824c8c"}, + {file = "xxhash-3.5.0-cp313-cp313-win32.whl", hash = "sha256:53a068fe70301ec30d868ece566ac90d873e3bb059cf83c32e76012c889b8637"}, + {file = "xxhash-3.5.0-cp313-cp313-win_amd64.whl", hash = "sha256:80babcc30e7a1a484eab952d76a4f4673ff601f54d5142c26826502740e70b43"}, + {file = "xxhash-3.5.0-cp313-cp313-win_arm64.whl", hash = "sha256:4811336f1ce11cac89dcbd18f3a25c527c16311709a89313c3acaf771def2d4b"}, + {file = "xxhash-3.5.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:6e5f70f6dca1d3b09bccb7daf4e087075ff776e3da9ac870f86ca316736bb4aa"}, + {file = "xxhash-3.5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e76e83efc7b443052dd1e585a76201e40b3411fe3da7af4fe434ec51b2f163b"}, + {file = "xxhash-3.5.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:33eac61d0796ca0591f94548dcfe37bb193671e0c9bcf065789b5792f2eda644"}, + {file = "xxhash-3.5.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ec70a89be933ea49222fafc3999987d7899fc676f688dd12252509434636622"}, + {file = "xxhash-3.5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd86b8e7f703ec6ff4f351cfdb9f428955859537125904aa8c963604f2e9d3e7"}, + {file = "xxhash-3.5.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0adfbd36003d9f86c8c97110039f7539b379f28656a04097e7434d3eaf9aa131"}, + {file = "xxhash-3.5.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:63107013578c8a730419adc05608756c3fa640bdc6abe806c3123a49fb829f43"}, + {file = "xxhash-3.5.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:683b94dbd1ca67557850b86423318a2e323511648f9f3f7b1840408a02b9a48c"}, + {file = "xxhash-3.5.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:5d2a01dcce81789cf4b12d478b5464632204f4c834dc2d064902ee27d2d1f0ee"}, + {file = "xxhash-3.5.0-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:a9d360a792cbcce2fe7b66b8d51274ec297c53cbc423401480e53b26161a290d"}, + {file = "xxhash-3.5.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:f0b48edbebea1b7421a9c687c304f7b44d0677c46498a046079d445454504737"}, + {file = "xxhash-3.5.0-cp37-cp37m-win32.whl", hash = "sha256:7ccb800c9418e438b44b060a32adeb8393764da7441eb52aa2aa195448935306"}, + {file = "xxhash-3.5.0-cp37-cp37m-win_amd64.whl", hash = "sha256:c3bc7bf8cb8806f8d1c9bf149c18708cb1c406520097d6b0a73977460ea03602"}, + {file = "xxhash-3.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:74752ecaa544657d88b1d1c94ae68031e364a4d47005a90288f3bab3da3c970f"}, + {file = "xxhash-3.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:dee1316133c9b463aa81aca676bc506d3f80d8f65aeb0bba2b78d0b30c51d7bd"}, + {file = "xxhash-3.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:602d339548d35a8579c6b013339fb34aee2df9b4e105f985443d2860e4d7ffaa"}, + {file = "xxhash-3.5.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:695735deeddfb35da1677dbc16a083445360e37ff46d8ac5c6fcd64917ff9ade"}, + {file = "xxhash-3.5.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1030a39ba01b0c519b1a82f80e8802630d16ab95dc3f2b2386a0b5c8ed5cbb10"}, + {file = "xxhash-3.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5bc08f33c4966f4eb6590d6ff3ceae76151ad744576b5fc6c4ba8edd459fdec"}, + {file = "xxhash-3.5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:160e0c19ee500482ddfb5d5570a0415f565d8ae2b3fd69c5dcfce8a58107b1c3"}, + {file = "xxhash-3.5.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:f1abffa122452481a61c3551ab3c89d72238e279e517705b8b03847b1d93d738"}, + {file = "xxhash-3.5.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:d5e9db7ef3ecbfc0b4733579cea45713a76852b002cf605420b12ef3ef1ec148"}, + {file = "xxhash-3.5.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:23241ff6423378a731d84864bf923a41649dc67b144debd1077f02e6249a0d54"}, + {file = "xxhash-3.5.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:82b833d5563fefd6fceafb1aed2f3f3ebe19f84760fdd289f8b926731c2e6e91"}, + {file = "xxhash-3.5.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0a80ad0ffd78bef9509eee27b4a29e56f5414b87fb01a888353e3d5bda7038bd"}, + {file = "xxhash-3.5.0-cp38-cp38-win32.whl", hash = "sha256:50ac2184ffb1b999e11e27c7e3e70cc1139047e7ebc1aa95ed12f4269abe98d4"}, + {file = "xxhash-3.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:392f52ebbb932db566973693de48f15ce787cabd15cf6334e855ed22ea0be5b3"}, + {file = "xxhash-3.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bfc8cdd7f33d57f0468b0614ae634cc38ab9202c6957a60e31d285a71ebe0301"}, + {file = "xxhash-3.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e0c48b6300cd0b0106bf49169c3e0536408dfbeb1ccb53180068a18b03c662ab"}, + {file = "xxhash-3.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe1a92cfbaa0a1253e339ccec42dbe6db262615e52df591b68726ab10338003f"}, + {file = "xxhash-3.5.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:33513d6cc3ed3b559134fb307aae9bdd94d7e7c02907b37896a6c45ff9ce51bd"}, + {file = "xxhash-3.5.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eefc37f6138f522e771ac6db71a6d4838ec7933939676f3753eafd7d3f4c40bc"}, + {file = "xxhash-3.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a606c8070ada8aa2a88e181773fa1ef17ba65ce5dd168b9d08038e2a61b33754"}, + {file = "xxhash-3.5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:42eca420c8fa072cc1dd62597635d140e78e384a79bb4944f825fbef8bfeeef6"}, + {file = "xxhash-3.5.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:604253b2143e13218ff1ef0b59ce67f18b8bd1c4205d2ffda22b09b426386898"}, + {file = "xxhash-3.5.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:6e93a5ad22f434d7876665444a97e713a8f60b5b1a3521e8df11b98309bff833"}, + {file = "xxhash-3.5.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:7a46e1d6d2817ba8024de44c4fd79913a90e5f7265434cef97026215b7d30df6"}, + {file = "xxhash-3.5.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:30eb2efe6503c379b7ab99c81ba4a779748e3830241f032ab46bd182bf5873af"}, + {file = "xxhash-3.5.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c8aa771ff2c13dd9cda8166d685d7333d389fae30a4d2bb39d63ab5775de8606"}, + {file = "xxhash-3.5.0-cp39-cp39-win32.whl", hash = "sha256:5ed9ebc46f24cf91034544b26b131241b699edbfc99ec5e7f8f3d02d6eb7fba4"}, + {file = "xxhash-3.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:220f3f896c6b8d0316f63f16c077d52c412619e475f9372333474ee15133a558"}, + {file = "xxhash-3.5.0-cp39-cp39-win_arm64.whl", hash = "sha256:a7b1d8315d9b5e9f89eb2933b73afae6ec9597a258d52190944437158b49d38e"}, + {file = "xxhash-3.5.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:2014c5b3ff15e64feecb6b713af12093f75b7926049e26a580e94dcad3c73d8c"}, + {file = "xxhash-3.5.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fab81ef75003eda96239a23eda4e4543cedc22e34c373edcaf744e721a163986"}, + {file = "xxhash-3.5.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e2febf914ace002132aa09169cc572e0d8959d0f305f93d5828c4836f9bc5a6"}, + {file = "xxhash-3.5.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5d3a10609c51da2a1c0ea0293fc3968ca0a18bd73838455b5bca3069d7f8e32b"}, + {file = "xxhash-3.5.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5a74f23335b9689b66eb6dbe2a931a88fcd7a4c2cc4b1cb0edba8ce381c7a1da"}, + {file = "xxhash-3.5.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2b4154c00eb22e4d543f472cfca430e7962a0f1d0f3778334f2e08a7ba59363c"}, + {file = "xxhash-3.5.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d30bbc1644f726b825b3278764240f449d75f1a8bdda892e641d4a688b1494ae"}, + {file = "xxhash-3.5.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fa0b72f2423e2aa53077e54a61c28e181d23effeaafd73fcb9c494e60930c8e"}, + {file = "xxhash-3.5.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:13de2b76c1835399b2e419a296d5b38dc4855385d9e96916299170085ef72f57"}, + {file = "xxhash-3.5.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:0691bfcc4f9c656bcb96cc5db94b4d75980b9d5589f2e59de790091028580837"}, + {file = "xxhash-3.5.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:297595fe6138d4da2c8ce9e72a04d73e58725bb60f3a19048bc96ab2ff31c692"}, + {file = "xxhash-3.5.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc1276d369452040cbb943300dc8abeedab14245ea44056a2943183822513a18"}, + {file = "xxhash-3.5.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2061188a1ba352fc699c82bff722f4baacb4b4b8b2f0c745d2001e56d0dfb514"}, + {file = "xxhash-3.5.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:38c384c434021e4f62b8d9ba0bc9467e14d394893077e2c66d826243025e1f81"}, + {file = "xxhash-3.5.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e6a4dd644d72ab316b580a1c120b375890e4c52ec392d4aef3c63361ec4d77d1"}, + {file = "xxhash-3.5.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:531af8845aaadcadf951b7e0c1345c6b9c68a990eeb74ff9acd8501a0ad6a1c9"}, + {file = "xxhash-3.5.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ce379bcaa9fcc00f19affa7773084dd09f5b59947b3fb47a1ceb0179f91aaa1"}, + {file = "xxhash-3.5.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd1b2281d01723f076df3c8188f43f2472248a6b63118b036e641243656b1b0f"}, + {file = "xxhash-3.5.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9c770750cc80e8694492244bca7251385188bc5597b6a39d98a9f30e8da984e0"}, + {file = "xxhash-3.5.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:b150b8467852e1bd844387459aa6fbe11d7f38b56e901f9f3b3e6aba0d660240"}, + {file = "xxhash-3.5.0.tar.gz", hash = "sha256:84f2caddf951c9cbf8dc2e22a89d4ccf5d86391ac6418fe81e3c67d0cf60b45f"}, +] + +[[package]] +name = "yarl" +version = "1.18.3" +description = "Yet another URL library" +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "yarl-1.18.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7df647e8edd71f000a5208fe6ff8c382a1de8edfbccdbbfe649d263de07d8c34"}, + {file = "yarl-1.18.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c69697d3adff5aa4f874b19c0e4ed65180ceed6318ec856ebc423aa5850d84f7"}, + {file = "yarl-1.18.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:602d98f2c2d929f8e697ed274fbadc09902c4025c5a9963bf4e9edfc3ab6f7ed"}, + {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c654d5207c78e0bd6d749f6dae1dcbbfde3403ad3a4b11f3c5544d9906969dde"}, + {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5094d9206c64181d0f6e76ebd8fb2f8fe274950a63890ee9e0ebfd58bf9d787b"}, + {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35098b24e0327fc4ebdc8ffe336cee0a87a700c24ffed13161af80124b7dc8e5"}, + {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3236da9272872443f81fedc389bace88408f64f89f75d1bdb2256069a8730ccc"}, + {file = "yarl-1.18.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e2c08cc9b16f4f4bc522771d96734c7901e7ebef70c6c5c35dd0f10845270bcd"}, + {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:80316a8bd5109320d38eef8833ccf5f89608c9107d02d2a7f985f98ed6876990"}, + {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:c1e1cc06da1491e6734f0ea1e6294ce00792193c463350626571c287c9a704db"}, + {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fea09ca13323376a2fdfb353a5fa2e59f90cd18d7ca4eaa1fd31f0a8b4f91e62"}, + {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:e3b9fd71836999aad54084906f8663dffcd2a7fb5cdafd6c37713b2e72be1760"}, + {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:757e81cae69244257d125ff31663249b3013b5dc0a8520d73694aed497fb195b"}, + {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b1771de9944d875f1b98a745bc547e684b863abf8f8287da8466cf470ef52690"}, + {file = "yarl-1.18.3-cp310-cp310-win32.whl", hash = "sha256:8874027a53e3aea659a6d62751800cf6e63314c160fd607489ba5c2edd753cf6"}, + {file = "yarl-1.18.3-cp310-cp310-win_amd64.whl", hash = "sha256:93b2e109287f93db79210f86deb6b9bbb81ac32fc97236b16f7433db7fc437d8"}, + {file = "yarl-1.18.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8503ad47387b8ebd39cbbbdf0bf113e17330ffd339ba1144074da24c545f0069"}, + {file = "yarl-1.18.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:02ddb6756f8f4517a2d5e99d8b2f272488e18dd0bfbc802f31c16c6c20f22193"}, + {file = "yarl-1.18.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:67a283dd2882ac98cc6318384f565bffc751ab564605959df4752d42483ad889"}, + {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d980e0325b6eddc81331d3f4551e2a333999fb176fd153e075c6d1c2530aa8a8"}, + {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b643562c12680b01e17239be267bc306bbc6aac1f34f6444d1bded0c5ce438ca"}, + {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c017a3b6df3a1bd45b9fa49a0f54005e53fbcad16633870104b66fa1a30a29d8"}, + {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75674776d96d7b851b6498f17824ba17849d790a44d282929c42dbb77d4f17ae"}, + {file = "yarl-1.18.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ccaa3a4b521b780a7e771cc336a2dba389a0861592bbce09a476190bb0c8b4b3"}, + {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2d06d3005e668744e11ed80812e61efd77d70bb7f03e33c1598c301eea20efbb"}, + {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:9d41beda9dc97ca9ab0b9888cb71f7539124bc05df02c0cff6e5acc5a19dcc6e"}, + {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ba23302c0c61a9999784e73809427c9dbedd79f66a13d84ad1b1943802eaaf59"}, + {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:6748dbf9bfa5ba1afcc7556b71cda0d7ce5f24768043a02a58846e4a443d808d"}, + {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0b0cad37311123211dc91eadcb322ef4d4a66008d3e1bdc404808992260e1a0e"}, + {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0fb2171a4486bb075316ee754c6d8382ea6eb8b399d4ec62fde2b591f879778a"}, + {file = "yarl-1.18.3-cp311-cp311-win32.whl", hash = "sha256:61b1a825a13bef4a5f10b1885245377d3cd0bf87cba068e1d9a88c2ae36880e1"}, + {file = "yarl-1.18.3-cp311-cp311-win_amd64.whl", hash = "sha256:b9d60031cf568c627d028239693fd718025719c02c9f55df0a53e587aab951b5"}, + {file = "yarl-1.18.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1dd4bdd05407ced96fed3d7f25dbbf88d2ffb045a0db60dbc247f5b3c5c25d50"}, + {file = "yarl-1.18.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7c33dd1931a95e5d9a772d0ac5e44cac8957eaf58e3c8da8c1414de7dd27c576"}, + {file = "yarl-1.18.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:25b411eddcfd56a2f0cd6a384e9f4f7aa3efee14b188de13048c25b5e91f1640"}, + {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:436c4fc0a4d66b2badc6c5fc5ef4e47bb10e4fd9bf0c79524ac719a01f3607c2"}, + {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e35ef8683211db69ffe129a25d5634319a677570ab6b2eba4afa860f54eeaf75"}, + {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:84b2deecba4a3f1a398df819151eb72d29bfeb3b69abb145a00ddc8d30094512"}, + {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00e5a1fea0fd4f5bfa7440a47eff01d9822a65b4488f7cff83155a0f31a2ecba"}, + {file = "yarl-1.18.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d0e883008013c0e4aef84dcfe2a0b172c4d23c2669412cf5b3371003941f72bb"}, + {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5a3f356548e34a70b0172d8890006c37be92995f62d95a07b4a42e90fba54272"}, + {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:ccd17349166b1bee6e529b4add61727d3f55edb7babbe4069b5764c9587a8cc6"}, + {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b958ddd075ddba5b09bb0be8a6d9906d2ce933aee81100db289badbeb966f54e"}, + {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c7d79f7d9aabd6011004e33b22bc13056a3e3fb54794d138af57f5ee9d9032cb"}, + {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:4891ed92157e5430874dad17b15eb1fda57627710756c27422200c52d8a4e393"}, + {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ce1af883b94304f493698b00d0f006d56aea98aeb49d75ec7d98cd4a777e9285"}, + {file = "yarl-1.18.3-cp312-cp312-win32.whl", hash = "sha256:f91c4803173928a25e1a55b943c81f55b8872f0018be83e3ad4938adffb77dd2"}, + {file = "yarl-1.18.3-cp312-cp312-win_amd64.whl", hash = "sha256:7e2ee16578af3b52ac2f334c3b1f92262f47e02cc6193c598502bd46f5cd1477"}, + {file = "yarl-1.18.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:90adb47ad432332d4f0bc28f83a5963f426ce9a1a8809f5e584e704b82685dcb"}, + {file = "yarl-1.18.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:913829534200eb0f789d45349e55203a091f45c37a2674678744ae52fae23efa"}, + {file = "yarl-1.18.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:ef9f7768395923c3039055c14334ba4d926f3baf7b776c923c93d80195624782"}, + {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a19f62ff30117e706ebc9090b8ecc79aeb77d0b1f5ec10d2d27a12bc9f66d0"}, + {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e17c9361d46a4d5addf777c6dd5eab0715a7684c2f11b88c67ac37edfba6c482"}, + {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1a74a13a4c857a84a845505fd2d68e54826a2cd01935a96efb1e9d86c728e186"}, + {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41f7ce59d6ee7741af71d82020346af364949314ed3d87553763a2df1829cc58"}, + {file = "yarl-1.18.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f52a265001d830bc425f82ca9eabda94a64a4d753b07d623a9f2863fde532b53"}, + {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:82123d0c954dc58db301f5021a01854a85bf1f3bb7d12ae0c01afc414a882ca2"}, + {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:2ec9bbba33b2d00999af4631a3397d1fd78290c48e2a3e52d8dd72db3a067ac8"}, + {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:fbd6748e8ab9b41171bb95c6142faf068f5ef1511935a0aa07025438dd9a9bc1"}, + {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:877d209b6aebeb5b16c42cbb377f5f94d9e556626b1bfff66d7b0d115be88d0a"}, + {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:b464c4ab4bfcb41e3bfd3f1c26600d038376c2de3297760dfe064d2cb7ea8e10"}, + {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8d39d351e7faf01483cc7ff7c0213c412e38e5a340238826be7e0e4da450fdc8"}, + {file = "yarl-1.18.3-cp313-cp313-win32.whl", hash = "sha256:61ee62ead9b68b9123ec24bc866cbef297dd266175d53296e2db5e7f797f902d"}, + {file = "yarl-1.18.3-cp313-cp313-win_amd64.whl", hash = "sha256:578e281c393af575879990861823ef19d66e2b1d0098414855dd367e234f5b3c"}, + {file = "yarl-1.18.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:61e5e68cb65ac8f547f6b5ef933f510134a6bf31bb178be428994b0cb46c2a04"}, + {file = "yarl-1.18.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fe57328fbc1bfd0bd0514470ac692630f3901c0ee39052ae47acd1d90a436719"}, + {file = "yarl-1.18.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a440a2a624683108a1b454705ecd7afc1c3438a08e890a1513d468671d90a04e"}, + {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09c7907c8548bcd6ab860e5f513e727c53b4a714f459b084f6580b49fa1b9cee"}, + {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b4f6450109834af88cb4cc5ecddfc5380ebb9c228695afc11915a0bf82116789"}, + {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9ca04806f3be0ac6d558fffc2fdf8fcef767e0489d2684a21912cc4ed0cd1b8"}, + {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77a6e85b90a7641d2e07184df5557132a337f136250caafc9ccaa4a2a998ca2c"}, + {file = "yarl-1.18.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6333c5a377c8e2f5fae35e7b8f145c617b02c939d04110c76f29ee3676b5f9a5"}, + {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0b3c92fa08759dbf12b3a59579a4096ba9af8dd344d9a813fc7f5070d86bbab1"}, + {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:4ac515b860c36becb81bb84b667466885096b5fc85596948548b667da3bf9f24"}, + {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:045b8482ce9483ada4f3f23b3774f4e1bf4f23a2d5c912ed5170f68efb053318"}, + {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:a4bb030cf46a434ec0225bddbebd4b89e6471814ca851abb8696170adb163985"}, + {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:54d6921f07555713b9300bee9c50fb46e57e2e639027089b1d795ecd9f7fa910"}, + {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1d407181cfa6e70077df3377938c08012d18893f9f20e92f7d2f314a437c30b1"}, + {file = "yarl-1.18.3-cp39-cp39-win32.whl", hash = "sha256:ac36703a585e0929b032fbaab0707b75dc12703766d0b53486eabd5139ebadd5"}, + {file = "yarl-1.18.3-cp39-cp39-win_amd64.whl", hash = "sha256:ba87babd629f8af77f557b61e49e7c7cac36f22f871156b91e10a6e9d4f829e9"}, + {file = "yarl-1.18.3-py3-none-any.whl", hash = "sha256:b57f4f58099328dfb26c6a771d09fb20dbbae81d20cfb66141251ea063bd101b"}, + {file = "yarl-1.18.3.tar.gz", hash = "sha256:ac1801c45cbf77b6c99242eeff4fffb5e4e73a800b5c4ad4fc0be5def634d2e1"}, +] + +[package.dependencies] +idna = ">=2.0" +multidict = ">=4.0" +propcache = ">=0.2.0" + +[[package]] +name = "zipp" +version = "3.21.0" +description = "Backport of pathlib-compatible object wrapper for zip files" +optional = false +python-versions = ">=3.9" +groups = ["main"] +markers = "python_version <= \"3.11\"" +files = [ + {file = "zipp-3.21.0-py3-none-any.whl", hash = "sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931"}, + {file = "zipp-3.21.0.tar.gz", hash = "sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4"}, +] + +[package.extras] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +cover = ["pytest-cov"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +enabler = ["pytest-enabler (>=2.2)"] +test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] +type = ["pytest-mypy"] + +[metadata] +lock-version = "2.1" +python-versions = ">=3.10, <3.12" +content-hash = "681e288912f9be1d646338538eca24623b86b69249a28ddf5b61dbc41a28007f" diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..15c56343 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,84 @@ +[tool.poetry] +name = "openmanus-rl" +version = "0.0.1" +description = "RL framework for OpenManus" +authors = ["OpenManus-RL team"] +license = "Apache 2.0 License" +readme = "README.md" + +[tool.poetry.dependencies] +python = ">=3.10, <3.12" +accelerate = "1.4.0" +bitsandbytes = ">=0.43.0" +datasets = ">=3.2.0" +deepspeed = "0.15.4" +distilabel = { version = ">=1.5.2", extras = ["vllm", "ray", "openai"] } +e2b-code-interpreter = ">=1.0.5" +einops = ">=0.8.0" +hf_transfer = "*" +huggingface-hub = { version = ">=0.19.2,<1.0", extras = ["cli"] } +langdetect = "*" +latex2sympy2_extended = ">=1.0.6" +liger_kernel = "0.5.3" +lighteval = { git = "https://github.com/huggingface/lighteval.git", rev = "ed084813e0bd12d82a06d9f913291fdbee774905" } +math-verify = "0.5.2" +packaging = ">=23.0" +parameterized = ">=0.9.0" +peft = ">=0.14.0" +python-dotenv = "*" +safetensors = ">=0.3.3" +sentencepiece = ">=0.1.99" +torch = "2.5.1" +transformers = "4.49.0" +vllm = "0.7.2" +wandb = ">=0.19.1" +trl = { git = "https://github.com/huggingface/trl.git", rev = "69ad852e5654a77f1695eb4c608906fe0c7e8624" } + +[tool.poetry.group.dev.dependencies] +flake8 = ">=6.0.0" +isort = ">=5.12.0" +ruff = ">=0.9.0" + +[tool.poetry.group.test.dependencies] +pytest = "*" + +[build-system] +requires = ["poetry-core"] +build-backend = "poetry.core.masonry.api" + +[tool.mypy] +ignore_missing_imports = true +check_untyped_defs = true +follow_imports = "normal" +strict = true +plugins = ["pydantic.mypy"] + +[tool.pytest.ini_options] +testpaths = ["tests"] +python_files = "test_*.py" + +[tool.codespell] +ignore-words-list = "dout, te, indicies, astroid" +skip = ["data"] + +[tool.isort] +profile = "black" +use_parentheses = true +skip_gitignore = true +multi_line_output = 3 +include_trailing_comma = true +force_grid_wrap = 0 +line_length = 88 + +[tool.black] +line-length = 88 +target-version = ['py37', 'py38', 'py39', 'py310'] + +[tool.ruff] +line-length = 88 +fix = true +target-version = "py310" + +[tool.ruff.format] +quote-style = "single" +indent-style = "space" diff --git a/scripts/.gitkeep b/scripts/.gitkeep new file mode 100644 index 00000000..e69de29b From cb8f1a77e23c615e68c003f21814f67795d80775 Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Wed, 12 Mar 2025 14:11:05 -0500 Subject: [PATCH 41/48] Add files via upload --- assets/community_group.jpg | Bin 0 -> 170211 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/community_group.jpg diff --git a/assets/community_group.jpg b/assets/community_group.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3998f0d433530cf03ad108b011e5c8353ee29993 GIT binary patch literal 170211 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 gZQ!pB{I!9 Date: Wed, 12 Mar 2025 14:11:55 -0500 Subject: [PATCH 42/48] Update Readme.md --- Readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Readme.md b/Readme.md index 884daab3..2fe199e1 100644 --- a/Readme.md +++ b/Readme.md @@ -353,10 +353,10 @@ Stay tuned for updates and the official release of our repository. Together, let # Community Group -Join our networking group on Wecgat and share your experience with other developers! +Join our networking group on Feishu and share your experience with other developers!
- OpenManus-RL 交流群 + OpenManus-RL 交流群
# Citation From cdf04d80d683a477abaa043295b529023af1bec0 Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Thu, 13 Mar 2025 18:57:27 +0000 Subject: [PATCH 43/48] fix running errors --- openmanus_rl/__init__.py | 0 .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 158 bytes openmanus_rl/__pycache__/configs.cpython-310.pyc | Bin 0 -> 2115 bytes openmanus_rl/__pycache__/sft.cpython-310.pyc | Bin 0 -> 3796 bytes openmanus_rl/__pycache__/utils.cpython-310.pyc | Bin 0 -> 1608 bytes {openmanus-rl => openmanus_rl}/configs.py | 0 {openmanus-rl => openmanus_rl}/grpo.py | 0 {openmanus-rl => openmanus_rl}/rewards.py | 0 {openmanus-rl => openmanus_rl}/sft.py | 0 {openmanus-rl => openmanus_rl}/utils.py | 2 +- 10 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 openmanus_rl/__init__.py create mode 100644 openmanus_rl/__pycache__/__init__.cpython-310.pyc create mode 100644 openmanus_rl/__pycache__/configs.cpython-310.pyc create mode 100644 openmanus_rl/__pycache__/sft.cpython-310.pyc create mode 100644 openmanus_rl/__pycache__/utils.cpython-310.pyc rename {openmanus-rl => openmanus_rl}/configs.py (100%) rename {openmanus-rl => openmanus_rl}/grpo.py (100%) rename {openmanus-rl => openmanus_rl}/rewards.py (100%) rename {openmanus-rl => openmanus_rl}/sft.py (100%) rename {openmanus-rl => openmanus_rl}/utils.py (97%) diff --git a/openmanus_rl/__init__.py b/openmanus_rl/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/openmanus_rl/__pycache__/__init__.cpython-310.pyc b/openmanus_rl/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9b17d985ba23a2bff89bfc11ce080ed34a1d39c5 GIT binary patch literal 158 zcmd1j<>g`kg4v3f(?RrO5P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;!Hcenx(7s(yB9 zUQTIVm63jWW=TeAQhZTrL4L8me?e-VZ(?3)v2Ku$em;<%9XXa&=#K-Fu XRNmsS$<0qG%}KQb8C}c-Bv=>#g~}zr literal 0 HcmV?d00001 diff --git a/openmanus_rl/__pycache__/configs.cpython-310.pyc b/openmanus_rl/__pycache__/configs.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f8dce9d3ec8070e9ecfedec69eab727a7927c409 GIT binary patch literal 2115 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 MtpVB#?DXUR0pU|sy#N3J literal 0 HcmV?d00001 diff --git a/openmanus_rl/__pycache__/utils.cpython-310.pyc b/openmanus_rl/__pycache__/utils.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5b14d5e3d52fd4d63f1ce53a360a4297a5b86653 GIT binary patch literal 1608 zcmb_c&2Qv16pxe4OeQngZ7Exjkid&nM$w9nggCYpZMWTm`lU8##UK==V^1dC#Exud zQM=RIUik+&!I8g*o3EVqUqD*QbHdD)FNp(=p8Y=Tm-q3rc@X#(jP(zHPB+_@^@|bi zjxGqF0m%tW#3CrSMrO5hRM;cCa7GR?vXi?-Yt#bXC9S+&bVi-R8+jnNN8N6RED?{k zNSAuFvttpT`lLsliAVY*c-b2D$USoZr8VjkbZ&*qui#(SacJvcyHY&j&nU~Tsn9E@ zf<_|A7$pm3h;;9W6PoXGHp$Xg2#&%@|H;|uNu$!;^Zlq{lkdU&VhvBYzy*~uNh!|Q zoRxU(#s_OQnQOit2%giyH+XXs4=PE;px*KV4>o2-oNf67{OHZ@F=vW01qU8s%4Muf z==i4gO7nm5E3c%Y#U0O$;(zg-NSR5MKuB)_U+C&T{O9l)f%q2%$~iCB^F%6~FoF|8 z;*>Hf5|wclmx33i`o}*G=GD04jxu5zvUU?`zc8(g6Ol?CDAVeUrH#0n02X3NRXm<1 zDu$Akd7`Lp3#ux?#*P8aAH#*U1+)t!_hC}jC7M~6Hjo4467-#On7mz^7?mQC{P^r}$U!KK5Q}_RsVtZ4<&_RhFbl6ea4A<|a$Ogh zul?F@d&qT{Ubm5Ji+8{@HWzk23~%~a_w7?)pjYtbK!kiu1opVBOyDv3YBJ6R&B#5qq>V^f?%Hnodm z-G91${CFqcJB~h&zS2P>ot~Y1v9}wAuI_&e_`itZ(r4;Q+g$1nWzRDK%?}zAT!u?J zRv~H%Z^~TPTA0G<6+pO(o1JsKe*gw)8sxiuuQ+x~C;w|@s9AIn4l literal 0 HcmV?d00001 diff --git a/openmanus-rl/configs.py b/openmanus_rl/configs.py similarity index 100% rename from openmanus-rl/configs.py rename to openmanus_rl/configs.py diff --git a/openmanus-rl/grpo.py b/openmanus_rl/grpo.py similarity index 100% rename from openmanus-rl/grpo.py rename to openmanus_rl/grpo.py diff --git a/openmanus-rl/rewards.py b/openmanus_rl/rewards.py similarity index 100% rename from openmanus-rl/rewards.py rename to openmanus_rl/rewards.py diff --git a/openmanus-rl/sft.py b/openmanus_rl/sft.py similarity index 100% rename from openmanus-rl/sft.py rename to openmanus_rl/sft.py diff --git a/openmanus-rl/utils.py b/openmanus_rl/utils.py similarity index 97% rename from openmanus-rl/utils.py rename to openmanus_rl/utils.py index 1b99d586..59077727 100644 --- a/openmanus-rl/utils.py +++ b/openmanus_rl/utils.py @@ -3,7 +3,7 @@ from transformers import AutoTokenizer, PreTrainedTokenizer from trl import ModelConfig -from ..configs import GRPOConfig, SFTConfig +from .configs import GRPOConfig, SFTConfig DEFAULT_CHAT_TEMPLATE = "{% for message in messages %}\n{% if message['role'] == 'user' %}\n{{ '<|user|>\n' + message['content'] + eos_token }}\n{% elif message['role'] == 'system' %}\n{{ '<|system|>\n' + message['content'] + eos_token }}\n{% elif message['role'] == 'assistant' %}\n{{ '<|assistant|>\n' + message['content'] + eos_token }}\n{% endif %}\n{% if loop.last and add_generation_prompt %}\n{{ '<|assistant|>' }}\n{% endif %}\n{% endfor %}" From f43645d99acb4eb434a87331483825401fb711e7 Mon Sep 17 00:00:00 2001 From: CharlieDreemur Date: Thu, 13 Mar 2025 15:22:41 -0500 Subject: [PATCH 44/48] Update Readme.md --- Readme.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Readme.md b/Readme.md index 2fe199e1..cece64b4 100644 --- a/Readme.md +++ b/Readme.md @@ -161,20 +161,20 @@ In summary, our method systematically integrates advanced reasoning paradigms, d # Dataset -[**OpenManusRL-Dataset**](https://huggingface.co/datasets/CharlieDreemur/OpenManus-RL) combines agent trajectories from [AgentInstruct](https://huggingface.co/datasets/THUDM/AgentInstruct) and [Agent-FLAN](https://huggingface.co/datasets/internlm/Agent-FLAN) with features: +[**OpenManusRL-Dataset**](https://huggingface.co/datasets/CharlieDreemur/OpenManus-RL) combines agent trajectories from [AgentInstruct](https://huggingface.co/datasets/THUDM/AgentInstruct), [Agent-FLAN](https://huggingface.co/datasets/internlm/Agent-FLAN) and [AgentTraj-L(AgentGym)] with features: - 🔍 **ReAct Framework** - Reasoning-Acting integration - 🧠 **Structured Training** - Separate format/reasoning learning - 🚫 **Anti-Hallucination** - Negative samples + environment grounding - 🌐 **6 Domains** - OS, DB, Web, KG, Household, E-commerce -## Dataset Overview - +### Dataset Composition | Source | Trajectories | Avg Turns | Key Features | |--------|--------------|-----------|--------------| -| [AgentInstruct](https://huggingface.co/datasets/THUDM/AgentInstruct) | 1,866 | 5.24 | Multi-task QA, CoT reasoning | -| [Agent-FLAN](https://huggingface.co/datasets/internlm/Agent-FLAN) | 34,442 | 3-35 | Error recovery patterns, diverse real-world tasks | -| **Combined** | 36,308 | 4-20 | Enhanced generalization, broader task coverage | +| [AgentInstruct](https://huggingface.co/datasets/THUDM/AgentInstruct) | 1,866 | 5.24 | Multi-task QA, CoT reasoning | +| [Agent-FLAN](https://huggingface.co/datasets/internlm/Agent-FLAN) | 34442 | 3-35 | Error recovery patterns, diverse real-world tasks| + [AgentTraj-L](https://huggingface.co/datasets/AgentGym/AgentTraj-L) | 14485 | 3-35 | interactive environments and tasks +| **Combined** | 50793 | 4-20 | Enhanced generalization, uniform format with broader task coverage | ### Supported Tasks - **text-generation**: ReAct-style instruction following From baf411517503c0fddd316b9b1d3f3111f6a7902a Mon Sep 17 00:00:00 2001 From: CharlieDreemur Date: Thu, 13 Mar 2025 15:23:23 -0500 Subject: [PATCH 45/48] Update Readme.md --- Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Readme.md b/Readme.md index cece64b4..3799351f 100644 --- a/Readme.md +++ b/Readme.md @@ -168,7 +168,7 @@ In summary, our method systematically integrates advanced reasoning paradigms, d - 🚫 **Anti-Hallucination** - Negative samples + environment grounding - 🌐 **6 Domains** - OS, DB, Web, KG, Household, E-commerce -### Dataset Composition +### Dataset Overview | Source | Trajectories | Avg Turns | Key Features | |--------|--------------|-----------|--------------| | [AgentInstruct](https://huggingface.co/datasets/THUDM/AgentInstruct) | 1,866 | 5.24 | Multi-task QA, CoT reasoning | From 35003239813c8a2a48ffbe026b4f6e55828a35a2 Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Sun, 16 Mar 2025 20:55:20 -0500 Subject: [PATCH 46/48] Update Readme.md --- Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Readme.md b/Readme.md index 3799351f..6ed16317 100644 --- a/Readme.md +++ b/Readme.md @@ -1,7 +1,7 @@ # OpenManus-RL 🤗 Dataset (OpenManus-RL)

-OpenManus-RL is an open-source initiative collaboratively led by **Ulab-UIUC** and **MetaGPT**. +OpenManus-RL is an open-source initiative collaboratively led by __Ulab-UIUC__ and __MetaGPT__ . This project is an extended version of the original [@OpenManus](https://github.com/mannaandpoem/OpenManus) initiative. Inspired by successful RL tunning for reasoning LLM such as Deepseek-R1, QwQ-32B, we will explore new paradigms for RL-based LLM agent tuning, particularly building upon foundations. From 1bc0d1a77e2e07a6cb029be39f1c3d33348722d0 Mon Sep 17 00:00:00 2001 From: Kunlun Zhu Date: Sun, 16 Mar 2025 20:55:52 -0500 Subject: [PATCH 47/48] Update Readme.md --- Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Readme.md b/Readme.md index 6ed16317..c9ed05cb 100644 --- a/Readme.md +++ b/Readme.md @@ -1,6 +1,6 @@ # OpenManus-RL 🤗 Dataset (OpenManus-RL) -

+ OpenManus-RL is an open-source initiative collaboratively led by __Ulab-UIUC__ and __MetaGPT__ . This project is an extended version of the original [@OpenManus](https://github.com/mannaandpoem/OpenManus) initiative. Inspired by successful RL tunning for reasoning LLM such as Deepseek-R1, QwQ-32B, we will explore new paradigms for RL-based LLM agent tuning, particularly building upon foundations. From 611f71714512974e0ad31ed4787fdf503111d9db Mon Sep 17 00:00:00 2001 From: Kushvinth-Madhavan Date: Tue, 18 Mar 2025 11:05:59 +0530 Subject: [PATCH 48/48] Create SECURITY.md --- SECURITY.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 SECURITY.md diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 00000000..034e8480 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,21 @@ +# Security Policy + +## Supported Versions + +Use this section to tell people about which versions of your project are +currently being supported with security updates. + +| Version | Supported | +| ------- | ------------------ | +| 5.1.x | :white_check_mark: | +| 5.0.x | :x: | +| 4.0.x | :white_check_mark: | +| < 4.0 | :x: | + +## Reporting a Vulnerability + +Use this section to tell people how to report a vulnerability. + +Tell them where to go, how often they can expect to get an update on a +reported vulnerability, what to expect if the vulnerability is accepted or +declined, etc.