From 70a12641807c02bbb8d4a547baac7cd2bf018dad Mon Sep 17 00:00:00 2001 From: SHASHI KUMAR KASTURI <59004150+kshashikumar@users.noreply.github.com> Date: Fri, 1 Nov 2024 10:35:55 -0400 Subject: [PATCH 01/15] add mysql-gui new project --- data/repositories.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/data/repositories.toml b/data/repositories.toml index a527c1f9..2dd61639 100644 --- a/data/repositories.toml +++ b/data/repositories.toml @@ -379,6 +379,7 @@ repositories = [ 'github.com/Kong/kong', 'github.com/krassowski/jupyterlab-lsp', 'github.com/krishdevdb/reseter.css', + 'github.com/kshashikumar/mysql-gui' 'github.com/ktorio/ktor', 'github.com/kubeapps/kubeapps', 'github.com/kubearmor/kubearmor', From eb21da2bc512844792c74113781ad778137f686d Mon Sep 17 00:00:00 2001 From: SHASHI KUMAR KASTURI <59004150+kshashikumar@users.noreply.github.com> Date: Sat, 2 Nov 2024 09:48:57 -0400 Subject: [PATCH 02/15] Update repositories.toml Signed-off-by: SHASHI KUMAR KASTURI <59004150+kshashikumar@users.noreply.github.com> --- data/repositories.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/repositories.toml b/data/repositories.toml index 2dd61639..20dd44f3 100644 --- a/data/repositories.toml +++ b/data/repositories.toml @@ -379,7 +379,7 @@ repositories = [ 'github.com/Kong/kong', 'github.com/krassowski/jupyterlab-lsp', 'github.com/krishdevdb/reseter.css', - 'github.com/kshashikumar/mysql-gui' + 'github.com/kshashikumar/mysql-gui', 'github.com/ktorio/ktor', 'github.com/kubeapps/kubeapps', 'github.com/kubearmor/kubearmor', From 172129dc0c6c74dc4f73f158f15050d02f9bfe21 Mon Sep 17 00:00:00 2001 From: Jai Pradeesh Date: Tue, 20 Jan 2026 11:39:40 -0800 Subject: [PATCH 03/15] Update repository submission process --- README.md | 25 ++++++++++++------------- data/repositories.toml | 2 +- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 028fcba4..4671465d 100644 --- a/README.md +++ b/README.md @@ -13,23 +13,22 @@ Open-source maintainers are always looking to get more people involved, but new ## Adding a new project -You're welcome to add a new project in Good First Issue, and we encourage all projects — old and new, big and small. +You're welcome to add a new project to Good First Issue, and we encourage all projects — old and new, big and small. -Follow these simple steps: +**[Submit your repository via this form](https://docs.google.com/forms/d/e/1FAIpQLSfHSt8UHvACokWv8uwiImidTIhuSCAUXnvSGs-TULshdLl9Qw/viewform?usp=header)** -- Our goal is to narrow down projects for new open-source contributors. To maintain the quality of projects in Good First Issue, please make sure your GitHub repository meets the following criteria: +To maintain the quality of projects in Good First Issue, please make sure your GitHub repository meets the following criteria: - - It has at least three issues with the `good first issue` label. This label is already present on all repositories by default. If not, you can follow the steps [here](https://help.github.com/en/github/managing-your-work-on-github/applying-labels-to-issues-and-pull-requests). +| Requirement | Description | +|-------------|-------------| +| Good First Issues | At least 3 open issues with the `good first issue` label | +| Contributors | At least 10 contributors | +| README.md | Detailed setup instructions | +| CONTRIBUTING.md | Guidelines for new contributors | +| Active Maintenance | Recent commits and activity | +| License | Valid open source license | - - It has at least 10 contributors. - - - It contains a README.md with detailed setup instructions for the project, and a CONTRIBUTING.md with guidelines for new contributors. - - - It is actively maintained. - -- Add your repository's path (in lexicographic order) in [data/repositories.toml](data/repositories.toml). - -- Create a new pull-request. Please add the link to the issues page of the repository in the PR description. Once the pull request is merged, the changes will be live on [goodfirstissue.dev](https://goodfirstissue.dev/). +Once your submission is reviewed and approved, it will be added to [goodfirstissue.dev](https://goodfirstissue.dev/). ## Setting up the project locally diff --git a/data/repositories.toml b/data/repositories.toml index 20dd44f3..de8c8c94 100644 --- a/data/repositories.toml +++ b/data/repositories.toml @@ -592,7 +592,7 @@ repositories = [ 'github.com/pytorch/ignite', 'github.com/pytorch/pytorch', 'github.com/PyTorchLightning/pytorch-lightning', - 'https://github.com/pyupio/safety', + 'github.com/pyupio/safety', 'github.com/pywinauto/pywinauto', 'github.com/Qiskit/qiskit-terra', 'github.com/qmk/qmk_firmware', From 40528812bd0f84f864f825c3f51f0818f4355436 Mon Sep 17 00:00:00 2001 From: Jai Pradeesh Date: Tue, 20 Jan 2026 11:47:47 -0800 Subject: [PATCH 04/15] Add CONTRIBUTING.md, move setup instructions from README --- CONTRIBUTING.md | 78 +++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 24 ++------------- 2 files changed, 80 insertions(+), 22 deletions(-) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..d9cf7015 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,78 @@ +# Contributing to Good First Issue + +Thanks for your interest in contributing! This guide will help you get started. + +## Prerequisites + +Before you begin, make sure you have the following installed: + +- **Node.js** (v18 or later) - [Download](https://nodejs.org/) +- **Python 3** - [Download](https://www.python.org/downloads/) +- **Bun** - A fast JavaScript runtime and package manager. Install it with: + ```bash + curl -fsSL https://bun.sh/install | bash + ``` + Or see [bun.sh](https://bun.sh/) for other installation methods. + +## Project Structure + +Good First Issue has two main components: + +- **Front-end app** - Built with Nuxt.js, displays the curated list of repositories +- **Data population script** - Written in Python, fetches repository data from GitHub + +## Setting Up Locally + +1. **Clone the repository** + + ```bash + git clone https://github.com/DeepSourceCorp/good-first-issue.git + cd good-first-issue + ``` + +2. **Set up sample data files** + + The front-end app needs data files to display repositories. Copy the sample files to get started: + + ```bash + cp data/generated.sample.json data/generated.json + cp data/tags.sample.json data/tags.json + ``` + + These files contain: + - `generated.json` - Repository metadata (stars, issues, languages, etc.) + - `tags.json` - Language tags for filtering + +3. **Install dependencies** + + ```bash + bun install + ``` + +4. **Start the development server** + + ```bash + bun dev + ``` + + The app will open at [http://localhost:3000](http://localhost:3000). + +## Running Tests + +To run the data sanity tests: + +```bash +python -m pytest gfi/test_data.py +``` + +Or using unittest directly: + +```bash +python gfi/test_data.py +``` + +## Making Changes + +1. Create a new branch for your changes +2. Make your changes and test them locally +3. Submit a pull request with a clear description of what you changed and why diff --git a/README.md b/README.md index 4671465d..f5d1e68d 100644 --- a/README.md +++ b/README.md @@ -30,26 +30,6 @@ To maintain the quality of projects in Good First Issue, please make sure your G Once your submission is reviewed and approved, it will be added to [goodfirstissue.dev](https://goodfirstissue.dev/). -## Setting up the project locally +## Contributing -Good First Issue has two components — the front-end app built with Nuxt.js and a data population script written in Python. - -To contribute new features and changes to the website, you would want to run the app locally. Please follow these steps: - -1. Clone the project locally. Make sure you have Python 3 and a recent version of Node.js installed on your computer. - -2. Make a copy of the sample data files for your local app to use and rename them to the filename that the app expects. **This step is important, as the front-end app won't work without these data files.** - -```bash -$ cp data/generated.sample.json data/generated.json -$ cp data/tags.sample.json data/tags.json -``` - -3. Build the front-end app and start the development server. - -```bash -$ bun install # install the dependencies -$ bun dev # start the development server -``` - -The app should open in your browser. +Want to contribute? See [CONTRIBUTING.md](CONTRIBUTING.md) for setup instructions and guidelines. From 04f92985c6f2540c6a1b44378673ac05ecbbeabc Mon Sep 17 00:00:00 2001 From: Jai Pradeesh Date: Tue, 20 Jan 2026 12:03:56 -0800 Subject: [PATCH 05/15] Add issue templates and expand beginner-friendly labels - Add bug report and feature request templates - Disable blank issues, link to submission form and discussions - Add beginner, easy, starter, help wanted, and other common labels --- .github/ISSUE_TEMPLATE/bug_report.md | 34 +++++++++++++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 8 ++++++ .github/ISSUE_TEMPLATE/feature_request.md | 27 ++++++++++++++++++ data/labels.json | 12 +++++++- 4 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 00000000..c8917f4a --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,34 @@ +--- +name: Bug Report +about: Report a bug or issue with Good First Issue +title: "[Bug] " +labels: bug +assignees: '' +--- + +## Description + +A clear and concise description of the bug. + +## Steps to Reproduce + +1. Go to '...' +2. Click on '...' +3. See error + +## Expected Behavior + +What you expected to happen. + +## Actual Behavior + +What actually happened. + +## Environment + +- Browser (if applicable): +- OS: + +## Additional Context + +Add any other context, screenshots, or error messages here. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000..d15e28bc --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,8 @@ +blank_issues_enabled: false +contact_links: + - name: Add a Repository + url: https://forms.gle/dL6EyDcCwecGtdXH6 + about: Want to add your repository? Submit via this form + - name: Questions or Discussions + url: https://github.com/DeepSourceCorp/good-first-issue/discussions + about: Ask questions or start a discussion diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 00000000..dd5a3249 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,27 @@ +--- +name: Feature Request +about: Suggest a new feature or improvement +title: "[Feature] " +labels: enhancement +assignees: '' +--- + +## Description + +A clear and concise description of the feature you'd like to see. + +## Motivation + +Why is this feature needed? What problem does it solve? + +## Proposed Solution + +Describe how you think this feature should work. + +## Alternatives Considered + +Any alternative solutions or features you've considered. + +## Additional Context + +Add any other context, mockups, or examples here. diff --git a/data/labels.json b/data/labels.json index cfa0120f..3d341eb6 100644 --- a/data/labels.json +++ b/data/labels.json @@ -1,3 +1,13 @@ { - "labels": ["good first issue", "good-first-issue"] + "labels": [ + "good first issue", + "good-first-issue", + "beginner", + "beginner-friendly", + "easy", + "first-timers-only", + "starter", + "help wanted", + "low-hanging-fruit" + ] } From d329b901d6dab87b254a7f31040ee87beaf55778 Mon Sep 17 00:00:00 2001 From: Jai Pradeesh Date: Tue, 20 Jan 2026 13:16:52 -0800 Subject: [PATCH 06/15] Migrate to uv and improve rate limit handling - Switch from Poetry to uv for Python dependency management - Add retry logic with exponential backoff for GitHub rate limits - Reduce MAX_CONCURRENCY from 25 to 10 to avoid rate limits - Remove MAX_REPOSITORIES cap so all repos are processed - Sort repositories.toml alphabetically, add/remove some repos - Update CONTRIBUTING.md with uv setup instructions - Update frontend dependencies (nuxt, prettier, etc.) --- CONTRIBUTING.md | 38 ++- Makefile | 11 +- bun.lockb | Bin 361820 -> 586852 bytes data/repositories.toml | 122 +++---- gfi/populate.py | 134 ++++---- package.json | 14 +- poetry.lock | 593 -------------------------------- pyproject.toml | 43 ++- uv.lock | 751 +++++++++++++++++++++++++++++++++++++++++ 9 files changed, 942 insertions(+), 764 deletions(-) delete mode 100644 poetry.lock create mode 100644 uv.lock diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d9cf7015..7eeab886 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -7,12 +7,16 @@ Thanks for your interest in contributing! This guide will help you get started. Before you begin, make sure you have the following installed: - **Node.js** (v18 or later) - [Download](https://nodejs.org/) -- **Python 3** - [Download](https://www.python.org/downloads/) - **Bun** - A fast JavaScript runtime and package manager. Install it with: ```bash curl -fsSL https://bun.sh/install | bash ``` Or see [bun.sh](https://bun.sh/) for other installation methods. +- **uv** - A fast Python package manager. Install it with: + ```bash + curl -LsSf https://astral.sh/uv/install.sh | sh + ``` + Or via Homebrew: `brew install uv`. See [docs.astral.sh/uv](https://docs.astral.sh/uv/) for details. ## Project Structure @@ -30,7 +34,15 @@ Good First Issue has two main components: cd good-first-issue ``` -2. **Set up sample data files** +2. **Set up Python environment** + + ```bash + uv sync --all-extras + ``` + + This creates a virtual environment and installs all dependencies. + +3. **Set up sample data files** The front-end app needs data files to display repositories. Copy the sample files to get started: @@ -43,13 +55,13 @@ Good First Issue has two main components: - `generated.json` - Repository metadata (stars, issues, languages, etc.) - `tags.json` - Language tags for filtering -3. **Install dependencies** +4. **Install frontend dependencies** ```bash bun install ``` -4. **Start the development server** +5. **Start the development server** ```bash bun dev @@ -62,13 +74,25 @@ Good First Issue has two main components: To run the data sanity tests: ```bash -python -m pytest gfi/test_data.py +uv run python gfi/test_data.py +``` + +To run type checking: + +```bash +uv run mypy gfi/*.py +``` + +Or run both with: + +```bash +make test ``` -Or using unittest directly: +## Formatting Code ```bash -python gfi/test_data.py +make format ``` ## Making Changes diff --git a/Makefile b/Makefile index a00bda33..7c3bfbf3 100644 --- a/Makefile +++ b/Makefile @@ -1,14 +1,13 @@ .ONESHELL: pre-build: - pip install --upgrade poetry - poetry install --no-root + uv sync --all-extras build: bun install bun generate generate: - poetry run python gfi/populate.py + uv run python gfi/populate.py generate-prod: bun install @@ -16,11 +15,11 @@ generate-prod: bun generate test: - poetry run python gfi/test_data.py - poetry run mypy gfi/*.py + uv run python gfi/test_data.py + uv run mypy gfi/*.py format: - poetry run ruff format . + uv run ruff format . bunx prettier --write . .DEFAULT_GOAL := build diff --git a/bun.lockb b/bun.lockb index d58e0277ecd9e0a9d49053768cb42f7e6349c0c7..e46e553b6045cbea46604f9218978022ab330ac5 100755 GIT binary patch literal 586852 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 z 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

a)J*+Y~t(Cb$0^91aJJ(H>gcm4va<^`)~&()J9 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 L(?b0JZ@>Q!2|$Bf delta 106330 zcmeFacYIXU*Dii01u`KMX6QviS6V{o0U?IoBV9lUqyd36QfLAR0#cMBBWyvzuAqW| zfYOTA0B?#He<(Xziw|hW_63&*sH_d1q1dRSu@MECg|X-Kv)^Z zbpK}uhxwPt@qc!5tGvvty3?^LL>Vmg{gDMzCSzwKt2JS<*PBsD;|XX@MdT3sbCoRm){Vj zBEo!BAD9zGM*b2c2geOb`*+|M2Du!PJ=qx*Fp%8zl(fu@teo8R%+%b`Dd~-> zs6eYhvZoWrWQ*(XDJ3g&9l}K!`H_%pNlJD&N5vS2@EK4o zjsF3iU0)G8yEY*!J~27lF!o`bXcvU2=sy&a<;AB@PK(b;9CIAq$c7w*%wr2a!Ur1k z!B|mVLBFwpwB)SO$xRL8d*~dBQSsS1<1rLj$+_7nqb3_~)KF@O*^nIL!I0>b{EKj6OTX80Oh(4I_=MEt#EkUpjMRAJY9PEhX3ccVbJG)ZCZUC< zqkD01jVgT`sZz32;|3P6yC`FMeu`u^TXZ021n;LZmdQD!#XiN%P_7-sL?s2 z<%3OBr+x#S-booboZ7|^RL#!KPRW917&#d^@mv(rveHu0uoz6l0B|s}$E1u)2~WxI02G&o!hD&vO%u^-AtS0?1bEu)Fk80_R7x<$@=mj z%jMxinkI%2fZjzLG}m|yjR!-r;6G!O-5JP=(Dy?U-vY^kUxj2jiy_%lQ?)({l6L(e zX%`Kd$1!Q34a#W)L+i)UBDQb~WG%>7AZg#EyUO2vkj&Rjkesp4X#Qvq)f44=s;-_4 z$#TX)(r!BJD0A9k{7KC0r3}V^;Ed#k5pDKc4Mo;xWxw4fgqTISUOn*{COGP0q~8NF1cPc1{cBw;KVo!cCA2#4%WvlM|oG6~)N= zkJ$-_|HsLh_aC#9$@X6*C+0e*y3t{T%Ife0wTP~PWcF8ttN>X6p6f(WyjmxIhU5?q z#2Qf%miZsy1G5nY$}Rh3yt_f^=)99y1eh8*qg78PWMrf!#AhcbWu)ciq@-q#1x~&N z)>gVdq$Re*6db0q&E?<_%3=KHi*hws)C|GcP{}A2{oVK{DWI z$S}y-keqe?kToDLjZ_Ug3Q4=2kSyp8ttV!rW@Mp_PeaEZo<9k)EMx*C19D}mhIG?> zGsyConEAEwfjMW_#0~T$EBH?L_&!L^)_1ku8qy9uF*P|p%P@@9$T{-6vvm$aG6$Cc zXT^JRRG`ChRYS8Uj1JF<0M&WGzS@0{?_vBgn0=V-MydfHII{bs#5Ns2-R%Rn5}Rp?BeQeH9e> zFc%HOJaNpMrg{bki|}zNImSfjEO6g+E55vi`)yZPUQWI$CIylmkddC8!%Y&CHzhHA zRQg@Z9_-k010dP{u8>Tjc96l4O(9v%#4#y}$T}k>J9!eftj04{NBhlE_K7JuIp~5s z1DkCMcw;fz!vfnrr3>~~k{kCJEIhg6Ic{7{aQuV(bB?O;A|wMiqjgl5i0m`|yN0O- zAeDSu5T7LjHx8gcPS%-Et3b+QM7Uf%zCh)8G-NgC)gh}x{`-u|`O}a!q3?m@h`s_z zehwsaJQb32q(5Y3rcx_>U`kZe2Bjf6>jEIzl_?on$w?{MM!^yl&_2iz;9InO9kLAc zrH~9TDLH*S4=l5xJE7-5GGijqv-HbOPREopjO?8FoakIEEGw5PVhJQGOim6Tm6CTHk<&%BHon;kB57TZ*2 zJdQ0pSEyRYrDmja;QpAcN*|MxlQ{_~as@gQBPlmC6@#0FQ(kyxRz{||ADSB~$1P<- za$eT$l`1oiL9#!Vty2AY0g}y&fn>i-eo0l7n3Wjbtf^sahdui}H6ux$N_)KgpUbKA ziW-lU?D(v#_{l~H^bjsi^3nn=$w*IR>KhZY;xjYR65q2&O8ThOl+j~yUVl{uc3lUa zorCL^v`NP7*Hr+WA=v{7&DlSOaSnDI$o*QzXHQN~1b!AhRf-wa|4n7k8ImnB0~+|2 zYPlImLP~m4O8V&R>Z=w0Fzh*r&8v%tpmPdjrKDxWk1~w(%(T>u(T4HY8dd)2_}tNK z;oEO3zm<@AoQzBGfnEIr40#Nk4V`#A1}*`OI1HRau>4)svh<8htedzBPe{m0o?sYp z;Df;@rzd7G!Y|e;y~a9K@f@wMhR)o|$!d<-iA;?jmzNxlD?Z;#gn(yMK!?#qOwOH< zTs>DqmWRwv!_^>OB{!%RZ-8V27J%nu%}U1A&4gs*w~cBtUxZ|U-$Am6acz!k6vGJL zg#KqsCxft)fMkWnW|fR1G~QP`PSJrR>p)^5*<+ixsFuD9$#U8N=TMkeO!c6bfgbsx z3Zyh-P3Twi@PREm4#}2up;Qu2iOR4fbQTd0;LZ&Q&!rsb3|xK>6FVz=7^JLFVez8RUh z6POEpQpzagFs7qk*32!c6&x$0;&D8TV7K}GBejqhKt2e3EhM}4)EV_v1HiyVxBd3E#CH!5=T^6D}QWI^V=h4u)5eOm@CV!@k_s~*VCNF0ZbGdi45 zW01mD;PnQ0`maHc(!SkEHCDmUD?zUX8Ok;IHoBUI9U&_~e*K*qybmC&L2nA&1^L_e zicdYI=IQT{<$;eqt^6N{WHMa<9s)TWk~*eCVmMagvM8qv^j{7rJmUw$h-NzT%04G0 zJ-Zx$a?r<~RbA$%EB*^Q9sh(Q3tsx8>iS~`+)JuP}As17Roi^6Z}q+SO-6n2Hs+3~oenUj;8WF+7=T_QU85v()l z*u4CW&6Q(rdIs;E82c`%28IADr2BvR<{Ylcw|Kro2fkjbbRk>&q&QT0qe=w+d&LazgP29hao z2$CJU36cZx5+r*r8usNNOZ}z-AFbs;NZOCWZp@XkY<7KxSf`6XSD|A#p0t zF&h4%@H!~43i!pSfGH6VN&5ki40JX4V8~Tk=3sl}mGu(n>>=FN3QtN-OBw%{8nP^n z@4Sir=NPTQhjNh9K~PrG2Dh83h)3L374L`SrnL!@E&Ulh?Z1I!u6zVp7VwJyhx3ydC)O0 zaIc|YHspIq25=OTJu=T`lRfmY=BxSHB%aAa@!EQ)o2tmXZZvNQC#6mxZ@i}q!XZ}b zFF|KZV<0)(w*}bbkgN}Izg<6~!<$f9@3@Tka2~(ED`Ar(V4kRX6z562iBR#TU=z+t z$;nPi&g7nK%vtKL(jYAFExRg)2lDWw1mi{M9Po^E^$??h)~joom?48Rf}wL<7M4;` z{RBzBe}j}98=}fh#LZmX9x!lwYjhS?yqxUp#I#Jq_ziYQn7sTS@PYkU0Lhe{oSK!( zD&i9plessWH^Dv+RsCy@!wYCXD}1`NO^!!ea?Y5Hq->)Jx{H}R)M=A*wGwnrnGBar zCR88D>d?a>YXiv-fdNzZXc<*O&9XMb?k?Z3*^)*z+|Cx2VkV@YTU2IKe9efN+v^Oe z^+Ux){r>#!d)Lm>Ni~LT$b9OTt4ZbFEw!arr=kkGA3Ry6RCtXOe=SPd_VT$KoBAzT zcLCeKdv%jnN_On>UFmjLqukw^&aF53#^&SSJ+fo^Em!imqUMK|kL;dUs@A-LCtoQ4 z!KEs*cZ@q*bZA|@=8osxhnsc_%AVJ)Xww^Yrn*P=sNs%k78CU0;wLN4E}VPXJ*in{ z(6TK(UkhsW@n3Fd^W)Bad9i0R&TNm1j`Q2`^|hcg?(5AfRZ4hwSbSpjlU@5Z`ZRTO z@Dt}uBX_+P$0MKo{Q8N)>YayPm}K;58Z!91Ngutre_PTb|E!i9n|*xPSUdIEy+cdx zsj>3ghpTn|IjG>O`+DSH=kVjd9ZEjd?D(+wf-kQ03Yy{0Y!bPoWhM8`@Tj24kz21f zu9@EB{YovPY(Yn}cNZP&*Vg`ipH}s3L4OxC`1Y|c^IE*0AN7O3yI$lZ_oTLC+>w!$ z+}GPW-IE)3kDL2b1FyX{zuwK9~ zHp9S&a_*O3v13Iruw>=~V)`4w?!5_(-Q5O-1d_2qi$wMtEnpG|`2gPT_*D;yM-SS9 z-6sZ>LOG4xnZttIH69Caw1Jf$EchzJf?O}4+$f;_Kv)F}Z0!09A7eEdV4}{2aE$;; zJKD>7@`l@jogjK>q6CPNvXHW{VdN!&Fth-o_C7!vMhW-$f>!qV&{{$Zpcb-6d$0n= zE&9~7*_{BJ>cWd7d=O#v(WtCa#HZOJLx8e4xELke8wNIH%k6uCvPzqKMqDdrNyHMV zJ=r$Ziid2$r9ohG$qxd^o+jbW7-kR21`(r6mEfL%$iQJi&i6sEU{*&j)5B2;Au$fd z8(_xaN&$LTOF~`%YWAvk>5i{KG|`2WHw$qDqB|KrNDS7_gl4W5Ko|x489OK%j(!f> z1+^DYU8G$co`AkYl%usNwiu(F9H{X?2YVGD2g^#>Am! zQ0xquMUK8e*vSUmk~+^>PQ_p&W5yS99&wG(9t&J>_#$CxR|Oml3~=Ey4}&@9@16DS+vFQ*KryUcv| zvqM|C@}WhOg9rOr_51;#9e}dy?Cg0*MW<>u5tTOmfzZb6G}-aCRqnmX72Wv-^<2ln zCu_bqSK8s&>+K~w%K0Hsvq6mAoCvN|UZ+dDU0YeBFt%ofSm9G8KPG*LNWp2V@x96+{A4vOm}(8skM zQ594RoOzN=Z=fnMjsfMAV_Rj9ig=qX(h0YgKrIb$b_UuWC>zRh&AzdJ18pD(EK4g} z*`qOanU^*WvTF)7Ipk&q%qIIrpdDf3=XR}X<@f_yKYG9>z&(6bGke!c_!5gODUW`=|EGp zBb2PAs`g`e_Ab!4wgs}ALY6_JHT&H>#yINKRxM!kb~7r+i8_Wc6sA_RSzR^Jt?1K0 zEw;iLV6%q+ z1;iXR=9W#gpJR(G4OAvS5F8ae8Rz-|L{nA=P@2oNt4u=`ggaZ#=bCvk(MJ420Jy*Zsxm$yUE{?bd^IY z`=|!Ojn=MacLc=&Wa*y1#R}pC)`K;o9OjQ|@b?-m$tH$G;yfysIPhj+_EdmOC`{p< zQBEivASWz5gYWttsO%b`Y-vd`ew!^a2>pZN;fR#5&w$3T(NS11w?b3xr*;)uJ8(Al zkP)pM4X`S;hK7QSP`L!)Iw=TXFPaG3c&xtgl_~4C4Q=Htjfhwg1M*H)XC16$H1j1~ zey#AhSra5fhk1C-rkDZw6wHgek9*!8ZF(73-^ zY+PG_A}D#y!a=Jc-U51eZP$UC9a-FpcAf5J`xMYe?~3;r(7Q{hg#hku zaSG78W7r7P60fi=#CiLkwlPTDyK7qj^zPce2HNwkc&o$E5`(xAgW7=JUG8RITe;a4 z0cD!`yKRZB>}`-RY0xl{$F#Dafz}V2Ito6DijrxG{BWAd>o^5;gfD7ui{%+znXhi0 zsyS}G;_h#3n;eFeA$bzRm=7?ppAjDLl}Fg zTne`X9Rf5ENGY=fXI-QT5ArT;EBiTbVXzZ8mYw|az-7=fcaH$&f*i>4aoGA7hp$fT zi9qB=#N&m1D>QaY5H;6d(2$7v9F5`<+YeA9uFm*#pm8XIWK!*e#?g|q!SxR`b9rW~ zR2N1KR1tAR*$Xm$-k6&KqPeb4g8DkcwHX9UWgIdVng7>-V)Er{Q+c9vv_e}N0c5!9 zdLlB{9s-at5)3l?(f%4x_KdvDbbJNPT;1iqXD{`bIi=V$k3wS%>X11P8nfOrLxgJp zPC!8A#=|Y%QEjkVcQ|^U3oh3vpe^BPX^ZPcpsj$yluuI-I%c@*E1;e3LMtLAShvSk z^qqqB3@CfUgUS-#0D5-`7w>7?WT;QMvV@61?=E3G(7S8%e_S0&tT8+a^ln=L6jR$L z-t+e?p~4MbWF<5? zaTthRz3t~T7$|Q{lpCdHlOIg@wz-=uiVOnS8m0KTkDP23GFzLJ@G8Z%)636a`e7c} z|1cfJk+*D(dF2=qF^OXH=BBM%yT zg2i}thoFx%YFTbdrs!=2rk*>z?mb%qf*40h)?wayih0XkN?QXi#(5pQ0fZiQTpl^c zs%1niOry0H;9Z6D4WNvXD4Qy)!6ItE2m(vK9^!|`shcBe%U=pD)x+8FQ6_^pvIdC) zEs31WHEKv#T}st7!$9k`HWONLN}YnHQtIsNsGxN3%I84yWSip*G;?*AH?i$yGt>shzDh6`06G5{swdi44FFFbM|8p>cBUa25dV0u+E} zu;ddxXO7o71f;yO3+V^67wZAS6qPr$Xo|yCz6=M1x>A{*tDXQ^Q2TkHQM8r2c(n;S zY{Xe(+?&E6OXRJ3t0$q=Kj3{uA-5Po^DEb#K1LB(+`@d*=f| z0jfOH&b4f^VLWwLnGZ~{-mzB?7bXHl=ExE}^*hc3#XlXVelqA9@kH@0a*wTZC(ur? z<#@>DLO*=6+or01R!dfIXl=C_XTG``T>-Q+PbW59<>#c~KX|o4C z=`{uI+0Z($6nS>t42=V*0=xl@A(fPOqXy4Z!TX85rEF0pwdN^0f4I#~unQbK;GV6h zZINeK8G^a)J01q%iH!s1N&~|FU;&Ix-5gm1lzm2&v6%(f zFKctv)Q9G&;#f0HrE|~_pd59xkK|3`6>ZqrRJ%j zKS0?_^0IING{$C{h#Gbb0YEmRg!}A`s8UZC&nO*)yuNfi45FKM^~`{fXMmddZg#BW zQ-F+@wRlV&6Bej-&WaucI`l5v2N$Y!#%enY=*YWl&jC%i3+=Kv#}fDW>l;vC_48z`4=tL;BP2j7Jbc=jIU+E)YZ1Y3ClXE&CpuClq0BuABo zVva2H$uqJ)g6N~mH+$LM)NL3s0M%xhr8TCK_qc^@1mV5c$-`X{Ku*N~Z)@B|FZEpU z5yGsd$RdsNLA5GrIm(F-d1yei&P5O3bL0@xJ32*R=rxKgw=3k||s25nys zloLjN;l}!unxAAo2T6!zcjKWKsMhy8pj&|qgXtw)K+r} zNDumARfuw~P|ao`vNO4mI>rNK-ViOx<<9Xr5O#j}vW$b+bvPM7m zhS#D(ps;nckQe^$%<}<(GITy|u-^n9171GJa7DeSQV_;68o4UlQ-QKi* z7M8=_khSq{_v;|oA*x@I(K54~K%;d9o*cF}c}Yzobu(}_v>4iOUv(aZW}Xe`p_=no zaL~)D`~Z1m9ssQ+eAtaHyvwsW_W3~D0>wooj@6$+W2h{J;mQZou12pE$LSehXC_cH zPNHVB?CU_t)rLjdi=eSudDOKxe^mu8Gc_a!8mAUB*&KVvdm3b!o;0za0V>-lhoR>(UTPCqUTj|!9Hc|T`Z7X}o zc>o#{iC*+JTkQ&bqxh*NM_C;un*oi{<}!C(*+AL@fr;UVx5Ito>qsX+CKXF0D3jK8 z9Vp`gz%Qw*BJCsIR7J|Mcb$dS2{r-Xd8$`QTK6s0u|(8e#AG0H5oX^w*Fs|}%=WVt zB4aFWl7f((21n23vc2(Y)0sCNCqiS&n9j0F*ZV-(`3!_jP%BgUHR=`{IuEzv$3WvC zs_$>Ss5P0=LH=*6X2}lSGf+K#?g&u!iyZY$&}6Q%co`rv*cJGWI+L(sqN?JqKsny( zcJ^#&gP@W3B-(e{Q8{6S3aa+5iqAWSpuPavbKao+Re&-L1mT7qk*v(Y-$JF;hi%3ydmAr%CRRVVCi(0V~r z&vZ+?r@}IXs}=SmXdGIZwdV0I9UvESwXA#yjfJTz{NJJJF2risbiKOHVvD$Z$Q$6! zi9k8(C4ewCGcMOo5G)v&!I6>E!PR7giim~C@sev$JkUNYgt-~A1DdQBHs)BlZUcM_ zCZz$g9yD-!q;sR1A1ti`-g33Fmw8`Z`KkqH5;U1JJo~yfLF!`3?&0hKEg z&~jcCg&fj_uy4(du$SFp4j8|`GaTBZD6z6^-En9!&=@XTsAfW?56pOL{uosX3X?g| zyUY~;Im_ggpX(sBj?h>_@ffxFQ1zpFJTn1W0&G}Qh`RXPsxCa_))^8Dtvh(op3ofv z-~bJJI>mVzXiK1Gr^*1^x-5>f%*&utKsi;sv&aGZP1>Bn^K z1&sqDzmw#g4vh;E?B#UuIBfyZ4TL(k6hUKe%3Or0?1qp=`&3cf;dGD6>r7W1hz{CZ zO)}Ti$Wj0!0eaGY@j1H_SU50t9hVi=y){2FL*(J5KeVANjKkw-{&Df<=y^)zN(Gt# z8%7e0x7zp%fTn9y-KT5&$vwW=>evl*q{XiKr^R=w7@KPEJfLiW9f)V3ztg5_sjL5) zR}$LCLu0zh32Xlvnq2(lP=1H>aBY#>VD-CVBS z&G)OUkSS}Q0gaWajqo#Q{d7_Ek}Yvn{-SuxW1q=es*Zj@+rgGYCck_yc+1BLw6CtS zxCF-m>(h2Ma&bUgz}Dq%k`fhkP+cqr%da`khsM^IM}LMHbZL$4y6}=4c>kMC_}(^uL`3=zErb1QwHeQ?t0c0cXykqEkUu!I% zj_M9~@Ui0b^*oWc_X0{!wL9G~HF$Xvpy4-q(ewiCqcvDUKB_AXEe54<6=A=c3zqW+ z2=*T*r>D7mVBYv!HAuj%lPMbnJvfo*p{B+LpzIkor+DCQX6|M7x>T8;D>ZzqA7HAA?m@eK+Y0yFtjX-En9m%%=WQ=li z3GzFsu93Y>g8BjE?C^klF4>*HVu7KK;s%S6)otoQoNwSEb-(k<9-dbDl|x_yP=>mE zxC(8k(l8ymey>(xb@E*Ujm=g&p#7BcQ{Us63vHzI<216LR%?{?rvuZ}$ge%V$<%HG-98*N5id>1;0%e=+T$3F3AB%6l zcn(|kfk0zmgLFWMFGG__C>NB|(74#hZ=Twl{^T{?T}fJ#wV_tE;=Td2H9Ue@niyFR zO^jp#FtFrNgL5inJ^6rj)fESj3E?SHe#zMhluh$P8GPH^?F%D=02YsCJ#UmKE1aMzoE2`_pmjl3FLNXqU^yTWqmy9#C$v9$U4=df75o^`)*qfF^p|^0u#I@RfU& z`ySBYciDzrE&d9jiUBj2zt{h;#q{L_33l`b)n)=yW`dlwj;e+Cif1~|Y>Ou+Xvj4+ zT+Bmx^m5Duk_EeBP3Rfg=w} zOS69FyPDH~z*5Z_=6d_zRVvC{x94e1t)n}k$rXz8Fys$tX1bf}TS&`4iZj^+9XS98 zdPgl=xF0A_m!7r|6*Z!40rplFxW<$AkUxEfNxb|V&Wb>J)x#uad(=I&k2T7n55!we zrV!&V6+36XIcvrB9>^UKa!CUr@6w3;qbORV0Qsx%`l!+Prn-|CY}(3(WCFF6AkhOr zIrl8K_Mls8VKdxKvRXO%LE~^*Y#cuVWqGKic-}j!-d2kc8_TzB1n()QgXjYD0Dztw zcp*Ok9i&mSy^PD=@^5qd!yvlmLhA%GnGPsml)PX*2$acVqArP+{HORK4Vn59?FN){ z*|e>qz6B1Ha~WoG5Y$@u2~f@}4g%Y(&Oq^ZRL+3*C`8p%+m6rdZF$>E9PVHX2;_zs;Jz^anX}6Nke_mpmx7K&Xbgjac|x|kfwIwZcMLfKjX}}IQ%os; zWg_nYI=VxPfQgEk_aP?&VO(ab&AhX}uT2Bx7RF-Q!;CY|JKr2#@kb>FXn*-s$aM|~ z6P8)Pepk2X{K+cxCVkSlQxJXr=0U8pp9Y9rg3p% zBg9K@;`i(E7esu^5sRkb&j*0uqAFvBhx*F|8-Q|&VmV}LvvfzHmu+)%;yLODt4Ls` z^9!4MNr0@+eRxZ2erBk8@a3gL$Po?7uI5D}zrYcKziYya41%7SXnz=Jf1oz;?8CNJ z_LWeXBmY@P|;$Uh(v^JqM^vRGv*8>!ERCGhWY~n~JIE5bDp$lGVBth%-paw@z}Wk0G=vRwEr-_0*T#7Ys9B|K zq|PLJS^Vu5F1;b5NjWqU+E8fn8pv@J+T+k1j8i^*cnW{Xg$-ooe49;j90f5<6P~GH zkHFt~Ndk&{5i6ofLy3VB06*^#g3f^G0K$?X4e+O7*i_kZ>jy@PkYl#U`f%kRkdfJ4 zg$iDjjO78mS#C8-apzxK^*r`d9lZIXWML2C%@7*m&6l?<1s%O4uZS@L-Pdo;=h)DpcdiH5nX{d3tojcU*3|7=bI8$ zk^#M?b&o6ufW&G|P})RqKR-1x?`Zm6E!S!@O2+Y?#@B1PLF4a3vLim!`Zh?uDCxHY zZ&te#Z@wsr@5Y<>9&=>yLB6~t8~ice+y{>0&Da0;Qf0>fQNd*p&^f#r=moslqKkO* zbuU>0_%+FTNnO8%;E>lnxJNzeE5;iz_$Xvy?Bwv*5YHSNKFs$qHMahp?mE|kX z{6I+uteDaO%b|REOP*}20%u@hn*UF-0_>W@jycjA5@&xS3$hmEbCBqfJYxkuu;AAr z`J!YXZ)&+3l3o0+<|$d=21o|7N#m5%KhSa;B+JqbQW|;nBGW>sJC-d(=1;7>spe1Zf3Ed)Z z$u748r(LkN3(lC*PZ9x_2XhHBtmk`=f#PsxvEweBqmmB$ZOP(kyQ*hx$HRTK}D z^b2DC8I^%?DprT&us6`Ql+3HfkepF1H7=#N^S!Nc9z)^(fI|6*rYWg+fMnGjHSR6B zM)w5H;`u+a@by2D%)SAzr^_Hey^G+3Os`a3(Eoo@uT}py6|$!?5O^5m0!X%Dk!}bj z`6ZC-NjD^^rCN$%`onUfczH`Yz6hKn_ZlP%cwO7SsqMWbq176v3>58x{VLl0MH+-0 z=*^nFmt<`pg69D3(01OE&@TL--CjuQA8GlCmY-?4U&{lKjQSu48lQ~<{9pw~wfu%4 zUX=WJ96y**ryyC;4_f{N$%4*lc^;B>m$ZIa%PWxdyQbx@8vo6&EKt0D17OOMqTN}X z<5HObFmQYIDQPQ7(l#O^9NS5;eB;&0H$@bRNdMzz$Ygxx%cg%wT@Xx4^ zA1tUL6(7k{Lu-wDOWHpSoK!S^Fkd=DGJq}`?@kggN`CBx9}KLIKW2a(ABJcHZ^;6N zYMhe#<68fpNSelJzY*GxlI4ul`bZ`wfp{$wAlpNK4YDHSHb}lGU62Q~PRWl2TKATO zj^GCyc2e`+lJ$M3@jUaxf0DF4tsN+x& zuj8s{z*}+})dbGot)t~bkSw5{wx{IBM)<*L7@=`W2HITfl=N!>$#UCjyd5%Z^^(CfHQf=X}eTNnr7zlCqF>aU@{~NoTBmniDU&+wLK;Mr)iy%JnJEzujLHQ z=kWs#W@^A&(qWe7pMs=5N83?SpR4)#kfav!hnD0QL8n{{$*~uZ9GVr%4p$56gOoIU z0XpT28uymOS8DuTk_~wYJWXE14_5d#B>mnYs3q;zN*&|R4+P%R29(q{Xx&?~pp6=* zWO9B0N&G`d`fbxZB|q-c_#Q3yL2@boiaO{2F?`_bKS@^bjV|CgB=r+op49%7#J|(J zw|oe=AEM><90JKeLm^qe{9sCsjSB<|Dg((EC6lwN*1aVQs;2G3AXz~@ZAVGIftHOR zIV8=r-Xak7v*2g|47vj(EA9x%7bWqoTBl@z-L+0h`yN`Sq~24@UK;n7Y~Z6Be>70f z|2_bC^`D>}6SV;)0~ig-ic=t2Kq@5Hhlv`W49VBMBmq4gI@;+4k_T+v>IWXs-wq~V*| zfRgwct=~&Bkax7-yIQV=q{~M9p#Nq_+I>Kg;s;gmV_FW?29HCsBL3I8tRPWI&@K@y|%(4=w4J z0iANZ#wl5GmX_K4KX(b_Xah>>xsXhUsgQi?Fb|ReEP&*Tl6DKVPFX@!yM}8knyt_@ z|FAP(l%*lxhU6v9hmeeWJ0#=V3CZGiLGndOeYci-wA`!ZK1lk10?C`gCm=bZ*Gd>; zW!!%P;LBUm;TCWfd|S)EwVk&lWMkvCWPtwA*|3t3)a~TO)$3?4J{Y0e+*`7m(i;Cy zl3PI~*fG4ST82T=zqHE*a`UY^D*|s z{pVrc&%w|k^7+_9koTX5^}=GpZTbH5u=~%$_+0G%^DsQ|xc@wi_nz-R54-<7Og;^| z|2*t}|9MzZ=_1S_;VvD}M=WmOS3Yl7sQbH{DJ+Ui&w|hUG`2!$m(e?uEd128LCu$?+FMV z{#1IWZsX;74^(LZf*pFEp!k?ZCz(n|^UzJ$SwFk4f2sChbVwQKiMKQx_|C z|KQQkdg1FI2;b4@;YPWC^p4nZ@oz&!H}reVW{71<6gI?{r2{|S_ve%?vArDKe~);3 z(UgZic;&M>YoBPlCVNy^?7A;DBsnc`o{^)WG|Nnqk)yS`6@2}$uCg-$RH?>0k zq>_#wPA`1C?#$Y~s#V!sH}#VR6=q$yy0}%&lrCX?Gk09dtADs-`%kv~{rjXC=gC(2)ygKuc$FM%h)Y72 zT!fNE@8|tu`1Jv^;t)fucwW-$B0#6@w9=u5nE$k-;~FEb3G2T3dCTVda}URJuCA(p8AN^b&sT9#i7ANHE9 zsv!1f`Sn6?hBfu8BqFl?9`R-?iOJcLEochgQ`uJEDx!XlWT!U+yCBEPJ|IpgHljJ$ zcDYtIOw7xbzNg7v^))OSVum#wa6Rf_q#6`tMw*=dJqLr;9mQR$vg=Fveun&sv zlO(&U71*_ttiJWcEyc!0fgPT1WgCdTlcjGF+0B!!Y$IWtBH4AV!6r|!vJql~V&mF? zE&qg-jTG@uNZ-(h!G7YyHWjX^lHEl%cdFI5x!9}N^tNE@PP4Kt#rSE`H>@4lV?Jz@ zs5xD-1!QMWxB9jbM-)3f8f;*1E8AA|?Ja#H9s#?#gO!aIYZQB$tRvRS#)$fP(syAD z*adl3wu3mK*y#3P+vQu?PGVlZ^erTN)rajOTF;Q|st#aR&anD+6BiX5+Y#)}4C_?s zVTcY-ss(`b8&6v4UWWKp(d#;a9yrrV#~R|*nQ8&(3_5U@mF{DRezVjp?gDzV58clY zezPULi*)jAtM>pyY*ci5SJ363DsC6=s|*qwVr8qtx`9mt>%DRfHpI54WZ4CztIe^} zLk%%@j-;n|2Ytwg9%hItb0r5+z*GEaIh>+3fh8XGtjmL=kKv{+ee%9)kZHNR9 zWCZc|IC3zWfUsnz_e0p#mY881LHVF3U^JJQg&0B1j){iYR}9Ht2APCGb(>Z}1|26G zBFh8$NvkOsTQ3NkhVg_UYCUH<21u)^7-Ao2njwyQK`eecMtW(nBg@J&#FJhSL(Rv4 z1M=R3W{9m3e!aYrC&h-2e!aX0W+paYY?0p3ENqKD&}0kjTONMdIm}511&&Ot*|;SL{j-ci;z?=SgjT#seGVk zkyJj=5+v1&R!29I$_IK5N#z4AHAI<}R>x(?EgwiAw|t=Ikz1>*j?0l-KF|u}mJjp- za_c3lIyI0JKqmJpXB8Og)baVpf ztDuJ-cQG0!AG9@}2I(r#^OP=R1#O{&@B4A=5toXXUKMFO3fE@tD&u^U8vT zr{?c@zHz~ZJ+IDoO_){l)e1}V|NP?b%4Y`rTjs*Z*JBJ($T|X>`&$lUZ;I|M)#jB5 zcDN6_THI(M+1Mn%ioKq=c5>_48%O5MEpvHF=ge&lKQEKl@mF_=ga@K8U9nw#qs5N; zXUe`lFlgxO*Js%;S828}>fk&3{(bk0U4z=K4tc%Jz<9L9Y}(sm-dI_15egPp#}@A` zyeN8Cv>qqfb;)2?jo!*v&p?u`OaqhV%_f0b4%P>ieOH&y;Kd*-w1fZNfEPveUM*bF+qX3}a?_yX${XtiFc<^BNHtJh5^K<)qsv0ix~ zBPa$batP~{7gPgK0oJQGOh@@0cjHT}S6&czsl!;W-t<`c5jukPsu+@6$5E_T9w=Wz zUtzs^%i}1aud!bFK*z9Nd7vO^^$pgm)uyA`nZCt(<$=_eb{y-K2Qq^A75x)fuhtYh z5;}?X$^)rQ^gFCq9wVGr?FmnAU_G6!Fu(M>8Mtp zAFy5l;^H(B19<)&a{v|nBd!78Rg2Rk&`aO7(&w<*DY}q!=e1V)XC&=f>Ah+)=s$eu z3rL=IDtV@Weq){0`x25z(M6;OzGtPcAZy-}-s_$K9k|{~7b0EOOFC{U=(?k=^mU|; zqC=;Fc5JZHzanQgNbg;wclyx3BUv^|I(<6mw2fBpKanMh4$A{w?R_hK6Y253^e!NM z$cMg-yx1h^>G`0iZL)g*gM?6Y#0=2ko2_&aGGVjyK27=*Xzzu>5cRjHh2lxD3$|EU zKXF2_(KEre`@qTuhujfL#uC)xTx6J*uz^>h9^$iub6dN}O?C|YY)+yF(m%gEM!8&$W*)n3t4$1B!yVHj) zC+s^Vn?4Whf)uN71+i7JVe`RO+ht`diIiQ^w}9*+AGV69yj!xhzC)NXbn++ujyq3)xi2vQ_S!}02sBz2`_}pWo^-9 zpT|ospmoH&VnnWab;Vf^qL$AGMeC0|Uee|v@vIM0Ph9jMYVE8q+J9_%sim`lSnfg8 z%Gprd@E~g8Y$UpWQtZWbGhDplLDaGtA#QmPwQ4pNeLpq5)S?+F)_4%LW;PMF&rBP& zWHuE;JcwEnn~4oRNONKT-1Jg5EkwKz(o$^oL0SpdeydlMNbx~hi@iQb8&UZSl{w3p zIbT>ar>)qp*a!hO{D75>7LyN1-_vAI`LMV*a!|4hp9j0(pw$=mMid*p9BjKoRu=b0 z4oTlavR8dr+#4y7?5Y)DR~A@(ac@Miu`ht_{iT)dA(nqBeT&H6@nL(3?uRA2?nSU` z4_kd>#Vy6gtpq##h?VUl)*O+(p{u|;j#}A%V#ra+?jpO>haDj7Ur9FoC9r8mX)u;JfW**G!z8|izR z>?t31q^SR`WEZ{$cEPt+-vn_2toKflD4HC%B1vMN50Wg-`XHl3>l0S5(c)PjWQ@27 z#DRHhUJ0bwM2C~sgUMK%Sm6VWvx#4Qpj4aa@txH%%_d&;fzoZ_whxqH6aBuoI%e9$ z+dj~EoA5hjwaT)Ip*~QyO>Fdma%>{_wAC@!CK7z02{y6K2byRTWzJX~C)vbUKscfm zyn~TDbjG^jPqB$AKd9rvyP&82V5O(p#21Q=SPMG*td*W_6I0Hr;{xeZK6JiKH26`{ z3)g{O@T1lHNt-yS=;-%AxBJOT&$5a6KS}RG(pP=xr);9lIZ3Zt4|?S}tM^=+xTNUV z4WN6Ux6<>GAm^ob5$QWV^fSnepC!F+Bj~k1TfG+|B@`X^KIq}USn0*cg_zDv zy$y7=OIGjKk*Sv?T}b+n5B(-G^|GW_Z3jK=vekPvGF8#BJ3xnDvC?lNQ?E$xBGRXP z=y#E+S0%k}C+G!Nt={X94r)l^c7Z0V@_2U3TueOUK?HyzbU z>?0(k2U5qQkC8?`&?m^tKTJnu^(nH+2l@=@=>vU^r25n9xZftSe4sCoTY#{J7JY^R z4FAhIz6X(8f2rj89P}w4x&XO#Q_^w!K`*#z^*)SMP|=}ZfNpooN*~24cuRWkB7N0| z{u;@1Thi$VK(D-Q_5KD~qv)`MpnLyqrH>|4+)1FhaSkqe40AlES`vd&GuV6Xeea_6tvfb=a+}pBQ47Z1i_vclxja!X7NyLb7SWR^Jk0t72Du z54KtW4};^arpDLan}K#0kajBHOOCl`SXcm6pEgXTe_eVJnE%PRWM-2zI5@>RU-%RBQp+ z-YzR!MJ#to-|0Vrz2n0^Ai9^4Y{WURYs*-D!^ADco+dlItd*@H)|8dL3(tdfl(Vw6 z#E^25js6+zP9L_8u$Px?A=$L@R^JE3R>iLR1#GnnR<@o+8(zuEMu^Fkq;K3Mu%~?3NKwDCWJ525T~OKT+f@KqHs#w|P zVqO*Ln|=lCRUfvcXkAsZVOPPftZMa*5*HO)K(_Y-Rx1+Vm1|kOdW!KrNH4J;2-c-_zoXURwXLm=6_aaAHtr9w zr+nBxqJAC8hW-h5K^?1aKXF2_yU4byYh?$Bd3B|4`d?tL`mlpU>jxzpb`$K%2d%z? z#YM#yknR1Dl^rUUKO}vp-vWEbhaD!m*OP3-ZLn+WS$*TgEybQDJG{P?9Vyn-m%a=C z2J2{GWfR1Z29k~b2kcHCHc8kUO16+}T0^VvD6v(stL}iU*2v0^5h;zNZ)_3RLq6n4&dAiJ`Om7O9kDt3AR z*xpU86;DOQP1POl>J>5_AXeQ~?q}MjHdguFzx0_3PVF}QV7FPO6KQXk0q@zoM z-swZn@)N-=C0$55t) z-p}}nFBH8l7<71RE4|Q9Old8><4S=(BKwtHtm-&e{Z6zHR3VLN*tM~JM;*z2ZNcV1MrB`4;+ez=~r9t2EpD3tT4$?ce9Oy$n^xGKkj*>1SJ*}hF`(2E;qSuuN9p1@G zufuqElHPF@K%erV*JHdpOFFb7=mnjv-WxIAirz)KT^B383FF;GdZ$+cebtBFg7NMu z>9ES6S9Y~}e~9r`bOGt!-K_LBjCVKbJ-rI(J3jOdjCXfQM^pv9w!77P7sgxBr%4a* zVWszAyn9IRg%5ys^t96ZFy1{S9bFCdP9OSXjCU_d7m`lvW%d3P9p$}uc`$#&p z7U%_itlmd4-iqEux?Nu@{WZqBuk=o@4f?7N{SC&upQOX;fL__p>U|vJt>^;Mz583~ zlNj&*(tCPc(06?3?=jv3BpvY}=(Pi^-ls9%iat$x_&_WD1IBxx^j`Q7XvZKc{UgSE zkffvQf!^supTl@RCh0=bX^&aGf5vz#dR2YU)dpMX3mEUg(mS>R=tDmAC5-nFNf(ix zHpJ?E1>>#gbqzs>54F;T81JFdJFXGvQ$F-{jQ8V`4h;vr;Bl+>uNZGd?;_o9n3et= z<2_7zr$>Ok>O=pD@g6Seu*RTQ4!3&W#CR*ZfOPLTD}5W|9Vfk~M}ofNL;r*E9wF(7 zCZN}juzD9^ycK<#^zf0^vjMKMN6M4K!lqyy@m3aB+3}K%ZU%Oz4~whp1j!bXO-r!) z;woFQtD1wYmS|;hm7OSkV_SedqwK z7Le_oVr6laog#gwKMeMc4~whpv678w3wG^Tt1qsy6?>ZO@NrfaSJ~sF@4|Lq9jR6p zSJ|nOjgAIeKF!M3!GA(1*+R0P_^=NOSGr_ZJpwj2-RfIU>{V=R4A{CERlI{`%2NXN{`; z>7W`3*^f9LdH$a^gKJ+{a;bFR%5&qZ+lI|f2{D>@d5( z|As>s?X{!IcPW)_EWa6g=YX?XRo7d4GCtb&&EEwhMn6^|@yWNBE^zG*TeJ6tg}o2H zT76pVdkDvTb{OFup0WCq!Z*K*`1NG;L#ykb`>E=P*`I&Y|H7N|BHf=%4taX&{3pbr zm-DBMsFIr1Z^M&~S8n&E3$}z8UpVlr`|FL>8XF?6gMY=|*B(6((lLtPn z+j3%bZn-ySU2?hyN4)pmhFJIbcaFqvD)mIoP5#rX|IqopW9Q=w$FI3_#DD+g?DO3| zihSv%s^TH9_#*wq$xCuU2I&oBNA4S0tU@ z3EnHOSiM{Ni%W_Q>x{4)m)P*pgHIga`tZ&rj!j>UI}rH$s2_jraq?8?H!n>7vxjZr zkV?-F+)^@o)#J}jIoSL8n`_H<%76H$EtfuVSNm~E?bHxFZt!$#l)vb3RaRWUlArG} z>EqvOo!_)_gh_mZns4|af06LBEO~ktG%5U|wMlLL#gvPZj_3+H_ZKT2?JxHI zBI(nl>t3+ZG5#X!f}|IAL)hDnE&SldoPzUBUfj5$Vcu(e%Z;FvZbzdf5hwa=c7yZu|9tX1$_`F-1GJva9`ueiGTi&qO} zi(`AD;=pUxihKBre%B;jM0&Fi-OFG2U6=H_UZ9h&TfJlb#YRQP^#)!3hL!Gvp}Zlz zLt{aI;zRfI7iE5x^e)o5zgoQqU?>%x{wV0Wzgg))7|P$IcUT|L$9(9){-W0Jk}e=U z`**ANP>hG7r}qWj;twl5%wIhDhxCr<2l~7Z9p^8a{we9xq?i6_^&aUjepK|r{-8Vm zWu+7R#gf0Ick}?zfB4Wzm|8a_T}b+kn^x~p{^D0fuNnw?;4LdX2IGB8ddCg|9eCSH zkHvW3mUI#6%|3K0#`|wcuX_x1^50hPbd0y6;|7B+|Bsc<#CZQBy+en99)8YBXCcWI zy^D0UJ61Z!UyQvYz0-$c54fCtu};pamS0ZnIblHUdbw12wGnd+NX zhuXi&`|zc1>))@@qLS^`$E%i17<{zG+d#j1{vW6P^ZMmKPbQUKRwpOCU)ggn*9m#6 zPN(Y&>c(x@95bNzjl$GZ%bGO%EN|xGA=zuXp8hiQt=-4Uc*QrxJHD`9eOneRuQ|N@ zGaE85#df*A_SVib<8EHF9UEHIzRy3+mPMUC*W~jjhE@4#8F6Fh*#fVAwW(9qZ$Ej{ZT96_bARaHzW%_^OF!4*hoHO` z71)9DRofD0-Eld-+%*4ik8fJn&Eit-^5{J0*L%M*rM~x9V;6t8;q;bn6Ng1ED-ylw z_r%jLTnnq&ena6(JFEx3d;3zJ56UJ`KIbPjaJL(;T;KbQ;N`*eW4(KeY-ko!{GiMs z;s=F~DwGoOw5W&Y*kEX{vW7#Vgc$%%>m`Y^2*H~xA_y5#Y2nd5O4pOBv8f0pnGWvufx z?Ei4nJlTwOlQhMRe<_n=Jl zdiUy@kU|fxR4!vt^8b`M{_6z)VS02m=VIgkS(AU5vCdbz`r~BmhMs)H&20Yvugv)S zO8;eo|FD3@U(8CE&Xp9Kl$_9&KNMck_`5ghQnM#7!~Tzxi4?GZLR!2O>enh6yPC(5 zN!+yflvLS2ZmXKn-wc`KVZ#4NCK*3Ci;65hwM)N*#IBYPtMP*$&iz?t;Zu}3?kmkx z%vk5^FwOAvGuHXi|I%raCvF94_eJ%Lzao{s6}Pa?*YPmnQ z*7-Uf(k4%{FpkWf;c+sSj&wT0+&*8AF%POl_P8_Qe&YJl`Ia{^7CDY|;#wXMK1CVh zFH>orV#Ye(7N!}DJK(?;rdcy@IR2eX74UZ}p#1$=={@Q{NAHB*#_i0R+k&g5_M&;$P&-S#Z;j!ZY2(sN|0$-_(dgfiCoQvZKquK&C+=EDD(nLl2)|1-0K*#B9y zyR*W^8T+#{zkbFdV|y_x0y&Ou!AYa@VcnCLVgDze$=~Eb{!h8a_ZPnJW;}=g&t;CMk;&iW z;dr98``l%=*}car{ktO1md@lSh&qHolWF6d#nyZQUDq&+Ibi&;qn5(95KA`@2S#BZAB>ZPGW1`XT4ix_|S`W z+Emf4fFpj3`Rg=YVFDl!KL z8pdM*T|z1KuALT3o_ozCWqxw9``&zfni=b-fX00EuWKyU>cck-oMiAw9AGGs#%zYqbC4o9jQfg5%kmU*5camgYC!{CRw^Ng(E_}Au_@%}is zXwgeb?iwG^eNdn2r_9BUDU-b-?fj&=Uq`xO zhNoEL`zx&1fA-$VAgGDVaBic(iyU z}h%BcV2DLx@R$Nwzh6UtcUOZ{`u{*Rl9n3Fe|?<=&( ziaj9X^6_M1|9>6%KZxsiu!B71!Z_}k|0!pz^Tqy;ld)K-BxJUhmFrFX)Id)9Pv*yW z56VREk>9v+^tu1*HIGz$LVEYU`TVpq)-P2$9&MT@RAZg7&X@Mj{AHx4ZUypBr++*% zD>$Bdjqk6pD-pYEG=C`PEu5LLu#3ZcCPZ7LQ5Vklb5Et;+K!NmdP)z#A}(4mNE1!-Lx#PmhncoB~i=rX_>rq zm8509xURBIlV4(+u7w4)BDZeKd@b|SGNxloBkeDQE5RJ`SYmXc{Sk;|azRrqE2i~x zBWtE*#kGu+SW9z<7M9SFWe(=m2nH1JhRtshQ=A#t@knzt_5b|nS5CVzd2S4j}57BW8A-kkyp;}KC zGoR~z6t4A(AankbUxX=hSo{&bp*u)nWCP{@)4J~^f|A$&uQ_IRA zD?_QIKh;7e1$+Vi(0X-nr3_`kinXNgG;rw10bKk>drIeNsAYlp&+0agM#eu2-&eN$ zj7&Pzi&`%T{|IE#p<=Ww82@M;w~3a8ARD7)O|{GsitrmPY^H@_$bQta=2{kx>y}R%FtVTWMJZ{O&Y~bmZ1r#&=^a)!k+M@oA%ll|*PrES9!fR+;OX zTGkGkn3eCXTFUB-J7_(=k7`+@+r6WfMI!60J8&m0tA?zamUVU|e~A+%Ae12#s}-dn z#gWMn>Y`;e@R!h$VK8aAVa9T z7S_c-Uqbox(6V~?zeQFIHvyT9|N2lEa}>vweuUT306x}nhwHcvk!?X%0(XR#MdRO# z%&`AREo_AFjE?-WmNiBeN4J&XGD^!{#NSoAGM~{}7K6WsmW|P}Cdk?$D}_5&%bMa3 z(t6`${+0Zi!RIK*uo{mmP1_u9%E*|kWi9bv)w0*LtQE3fwQP!( zwMI5Y66P~i%i2i&r)%NsTG$qaL@k@9W$lm+(K5MLNTJ(9EXYS`SqJ=GKsxdp$oOaJ z2qQr{@=UGQ34c@iLN&4fEG_Jeza+vMxU;oPGAM;iK6A88G7z)Y#+|EWarp1hkLuvg z)3UDki_j^gpUg)leI_1k$fW%@Aah7fxL4uZT*LsQ4{~BoFCtBDWMM*%+y8{{jEJ+XtV%}X^ zFB!koMr6CStPlRuSWB$72O0k?ePM=_l+R~cF9m;uQDN-AUkg(acGp&r&M1~i12MH& zy62`%cS-axDcGs~y*}Vfg23E1b|W$=lJJ8cWSjB9u(hLE2La z@RL>?j$aa#0-V;e5%}LCK}qxF1_YVd=&v7&no>wLn8gd{8JMK z$0v7Fy;i#CQUh1Imv9`#&d1<8I1VS^BzzA)z$y30W^eY_2)MCd_FDkc7#q43vtj@ z)!y!2#F2zI8FFCNJRo;mxmRU@ui+bzRdycm1|P@^vdH#@{7?YiLvJmtgZ1D}v2EZA zZjb|=oZtm=AB+R;b1L+pdw?UAi-9l%;%pv``FkgE50z7ZQ+wczbVgBh0 z8}Y9u!yfn(peJ;Nc*qG}Aggs*oy)>o7TSj~_YpV--@y;?6P$%}APevFa1ms|yy+N>&WBvgZUvA_y=8y3PMcnzk&RCpc6!z&2xPJ?V4(qRQDn}LM^BbbwSp#4Imn11s?!`P!5717_w5K98xK2E4Oera0eUML00+M(9164e+)Wf zVH_-l#jprc>~t&=cmre$5DQ%(4%$H|gh4n&KzXPLm7p?2f@~A2Lrtg!wV^K5gZfay z&Z@=}j~x{4`UboSml>Pa;1{?Kzrt6@zkrQ!mjYI&CN*ILwb=;kKvw;|DR2zr2U*GQ zfSs^geZSQ`Plx?@3quj`hoVp%O2Bha5=ud7cpl2Y3s4pUp&SH3FmxjOk0{D!SV^%~ zso>S_`5d$Gz6w90BHMve(1mMR^2b9r=nk^n?*tt{mh{2!9Mpw+P#=oH_hj<}oPr-g zmKCy$kY$4`6VAcUa2_tmn7)YTD9Fkz9|@Gh6hROSArJ~-U?=PnI+x)pT!UZWI{XSZ z-~t`xBFNHzD#&X8RhR%rArX=w8PZ^gJ7annp6_56^njXB3+lkD7%LWJ{h1EKL6&v0 zU}^@kZ)pQQWS$q6;g=uX&jD@dC#|6+G>0beA~b?5gg3w~<>0@On425AJKc1Ej!^JPZS3DA4 zhEXsY#=uw@2jk%tXaU*41GZAAjj#+>!YWt|Yv4Ut2kSw$8LgoWOa}#Tz?(1;JZ!YT zC!TDO7xIBGqO-@}D$R%CBd7wUoREo2k39HMEK77zn@Nz?~s68U!ucm(%bIF0NK90%Ed zxPd!-fX-$p4G~ZtWZTgX>Ow6k#c&t_eV{L-!a&GM0^zvjp#rR>VClH~areSTs1Nzj z+a#I6ESLlHK(+u$WU>%9T3mG3!FpJXY$-UF@!xVtMxhU^#=ipk;$MrKf}0AB=-s)n zfSe_s;QBKP5`wG)w3VLE^*b;Rwqmu$xJ{uM$U)f>becd@Xa%<^1P5ad;~-29xkkW9 z*a~ufWP`>eBque+p(qptIejSva^fNnUzXf+2 zdAKu>%^k7oveG@TkMvMkCd(vK7MJo_Z0fV4+?C}qjoeE{!!_Ei z0Ir;END*Z5^ER-DG`54;aXldmcxWVkR{YsO(vZX0T;K(wBf7GM%ndm}wv^(E4&e@? zJzwTRG9C%ez_RXez}%J#g%wYoe2EpAQVC%2!bID!a)jK zj{J=ci$s>aMP;Z2ve&2r)wC<}%q5qC)r1-#1(U@5LDCUq0o@qtLT!+W)qzG34Gp0l zI2!O@eGo-w0c2Uw7o-n#gLrVZpR}8pyDKyWY0nlQ>l0b0#6c(M2<@RQ$hxH!w1n2s z4mto~4ohb|vCsuXQ4}Omsl8+>8TNsmAc-bG50Femw>R{HL=e3skVVu87!IP73X*v` zh{cD&P#9uSl}@-9ldqbalP2y2cm>9T^sjO7VC6lL(RqzsLK9r+o6_;6++#ruCdQF6 zOa?Keq&Ep(g^3_WlRo^G6iMNc%p{}fkOQWHRDKGG;_EOK7U=7FxV|tKME?z#1G8Zk z%z!r`8_d+M(?6eU>BGV@G09Rq&fzPGErEAHYMB$Vz+zYg3*iM<`W?vTx->}K61dl` z+(U6?nJODD*0K7m3fmrBO^n73p{yezSC#3yH7-OrQZeZo*a+{# zN{|9Rk2@U1Qj+Lecn?H(9jpe4>x?h1ggfJjzQ~-{l8%J0B7e&Us1HshNlXf}86?ss z_(1#RTFf2@f5LAdZGQt~sEK8+!WFm#GF&gfc{mL}!1r(xq+;sk8Fw$`f63j$$1n<_ z-2_P;cR@>a^$d5)ZFsl9R`?X8*X@Muume7UNT>`g;RGCq@8B35g(GknzJ+h#YxoMj zgfHL_9E1b#IqZkeV4qA9d-3dnQ}7e~2xma5C$h8fGn|8qa2bAu>+p+4u5ZCj_#OU$ z+i(Y5=p-d@b3+c0=CB|$ZDD_?F=VIM8nx`Wu8@j9D{cc^S)R&ij;ya`o$Us4!ea+% z4v~wS4OhzKyw1h77v$7#<{>SIbd10Vqy1&b$#9cVQUJX1&&8F(7r^hVi1ZbyctQ2< zPwoX<$eD$lUC0@RoMp(FMky!>a@J7-ibF9d3jQGHB62<=XT6CK2GT!z;r4_Is>vDm zf{reDW1%z1`FaOv5AC2Ww1L*p3R;4k!#9T*h=fWYXZz(L93+c~Ol}43&n&O3WmVk_{S z?s}O>9n2KMw;Y*uQU=db6_0TlAt8yOjNF& zGO2+xQK#G)<}9$pbNZcOQrSMplffZobt?GdAA~RkKE}TSYQg}n18_@0LFmtQKalh3 zRPaYOP`l~4FM(VS*0RiD70@jU4#I{>`wzu41j-;R3jQFOh@w`yClk5gEL;kHnUiG< zzf2lZUf?JJ_j%SVm2TAV{r4}Ho<)xS8jiC_@yRNa4FbMkV3oznKSn=?t{wf zuDh=~dD`90u>pm3ASPG_&Ux4uza+F2q-Ii!CHSS(&cZC_dJ#CyCt+*3UJf}y+W0+K z1FJ#W_!2rRaaX{*E_A0=c-BK(0(!uXdwzB3tb2rGKi8i@3BvZ_?u9+D8+O5`+J6G~ zIGln5@I4%bli&=KCOih;z}N5UED{{%?22_FH;1>K2ZAeqX<@#573qXzse?|Bw zg4>xC?%;PNOcIh~968RBW1YKPOQPcU1UViN9XqZZGs^Lf9L&l(!+9+a>EvNuHtlA| z75zf8uJ?mHC>O+)XAi^i%h{$BN}5d0IOW_Zb7pduB#Fy$<5_eH;7YvKAP25tAcys3 zK~DVS3`!2(q|?6vl74A$JjZ`>IOPwepd^T_1QZA9NH&mFNHMO(|2(dk@CDo;kcVS| zAWsYADSMl?_r!HhdT(*vmFqZ=Ved=+#v|WJWZDU#jPWTTb3iQD zogp3)pc{0D9-0ZblF?;c$w(%rSMbZeP)5-uT<1I^1-{7jc{m4hU+IhMc#DiDgA`yo z!pR7w5YDMn3getDCldA!*D^Co#~lO%VF1YHv^VZ@T$wSYK>fLv!lZy?Ch5v_oP=M} zr87E=hbPGhFCmbNp)dr>pg4>O{*I<=B;k=mS$jDH@kWby%ik%^f$+8>PtApgV2X{a0m0|Q5?2`-aO6HQ76ik}oD-iP@ z!j<-xgv6DEzQFxb`@hDOCixau3LyHTBOJjmh5ZqvUmXYOFOFmU_Z|EI--DD|Zah+e z6X489I+W<11aVJ;WFkm{QfTRvqJI{ozevWSE2HFR+!VL~GFp6Hjgv5kB_AGnzd)YY zW5X!72O4UIopBlJwEy{u%7D`6q7ppn_GJR*(5okQ?%VH%KBXB?U~-bhs1 zRoYR^SrEV6)#Ny|Fvy)sZYqWFOSpWB>M(y?kqe^lyf(GW|K%7}<+|kV?~qiTSvz~$ zqk5T?MtamWka*9LiWI*TZb=YV%#|6@la3^M;!o0McnQ4)a;wXSKop$2h`e0O0#71{ zEeD|3PZGsn7dH?*@cW=w2Y+o4yVk<331Zh8xNUKz_sWYclAbJaqwvePlXR=%uPiUz zSHe?KE=Vwvnw7&Z=W!Kq%R>anb7Xl>EC|A(IC`PDVfxyW>ntEk-ZR8?$Da=*P01_~ zS9Z8!eYvheJaHqWt4DGn8H=DAekpkhZeK`-*6<=UhWbzs#0tNmmzQ|1q|u1$XlMWp z;VWdf!3*TRD`7DpJ-ZdI^Fg;mO4$-Y3uq3_K(3`Ghe58t#ZAIZgkI1Sx`QP4Jn@eb zeiBZAY=@3PJmHd27w8O~K(;*{ab>$C>9&=(Yue!H0PUbX#DYYKgRamGBq7P92W|q$ zvRL$cgSay&L?2w4qp!m+Acgw|JxMDKQlURMn?&5fuHnos2nRw00%-#AJ7q)gdz1K3 z+&7lQ~9>yO)Qp^Kj`H6c`>@k@V1I2b138$eL>J z&K>fBogCaklL2r*4VEo706B0 z)mPitXALgW)d&xgf`nStfw?vx<)~rLt7hi56}48es>xwCUu%q2U72X}u?90uRIwEd zX+s)bq%mUGmBW{c)NX5}5gr(3F2cPDnbh>g(POzjJnjrplf!L(Dl(5P%y%e}S>mQQ zY3+LI+ui~D?x|cEZp*Kx<+b^`h6aYH&L?bn)ulW(o3*a1TH4qaVl~U>>(}3niJAn4 zmDs(xvZduo5(o`6%s;|S#RS`Y)q=csAD0MqX}GPh-(Rx}4vYvakEQ-_Qy~p(=~ic~ zeGO~{tQXx?NY%{3sNXV6 z?hlEz%WU1SF+*c_7Ig&;>(``v-sY{MYS`SYKV?ykYaui%;H^&9M0h=mN;zk%Wwm*# zIZ?Le)`yhDx-_fWl16@evl^R{^gVfR`FQ5M`js=kAj|2jsy$`4x@J=cBnxN$nX^*c zs@uYJ=FUPqP(rPaIfJxGjHC_>wB>aR4kt8dfGwYEc$*w*MGaes-%Kh`k2IW|oL*=b$3yJtBr*R)i@6xwK)u^mFE1(%1SWzsWozBh5Ed5~X zr3dO?pZk;5h4B*@N}ti~sixPYuT1k&WzRooJ4Y@xxq!{bo!MY|uIaVtw-s}%z+$My z9Fi?82K`+nUf8Tylz2eR3CRHj{n_Sx+Sa)z11x2?AM(E z$Tl%OdDzt2hZmLk%xsa6z;KJRC3G#MUr+9LuL6esO=G_4qk=BzuD8rbCDul1w~tEi zi!6kRjv+a(wkpd@p;Z+W22RqOE~*#nNOWYrELtO8kSj= zUv>V3g55t$`C7N>zAwLus%wkR7~fTG`P{McxA|321XIn?y0%7sg;;IS57HOK zUwp0B;ahDer*s$Ex@-YetDY^|FCVs)4mD@=2Q?S}nPZ{VWmq`9f%Yv{P~C~L`>KWc z?72OMF_}vn1{G8%iDq3 zg3hX2_Z3lo4N2%&5p&}Hxa`a$m0S2WAR%fZwar&h#WW;=3q{mPU%QWbv!Sh!q#D$L z)Zg(}hZ<5RlJSpbHtWU|Bs1_B`}1=ey|reMkql#pEhHgg&dNpVbsRjUK|`GZ#yVC^ zB@x$pu9!Md-Yl`Ctu{s5a$9c{Q~RTB{?^vT)fLGgwK!*fB(v`Bg=?M#_B`k25@wD} z%OpamM0%4Mmo7!kJ9sA}WJPfm*@(FNw8neSxpfFSJ1S3x#(5o5;mS)d=I|PGFeAjX zgqlEHzp|_ouyy+B>d$%nTC>(C85#{rs4bFuPc-tQQO(|@TguqoT{ARB5<*L+7aIJc z%TGhTO3w(HS3>1zZ1eTqtTo1_%q;cY*!tO>8fsNuZoA2qZC9NQruJ2}6;!Xt4RJ*k z?kN4;RAeZ|ifYWXg9WcVZ+G_ZylO&Yo1fKb-hi^|IC<$?wy*Mfkr?&LsdRd1tY-ud#Yp)t1Z)~^Fq`abfw6GMy>fvP|gVq6JSjhooIS<97E>zfd> zWU!jol!5<un2OlFMNF;b^kWj2>DWbB=kxMh)?~d za-rI%J@#KDK4T$F#g<}K(%~JOhx!Gx)JtF$asNWYd0T(<4SxVdlWBd(Yg^mexA@Pt zx+H|C$;)h&tSduR;TLG#?TiFw=k$+Ws#Aac!Ny*?V}}J>z9xjbLVDLKcRRlS;UBqm zNN{<}=}?tOT<7w{dMi}Tlk03@YTpj}ly8_hSiU*BIcIPKYqU|J@Cw{#N`$FPl4~Ry zQkNCEcg0q0@}As?FqmjGB}B?|a95u!pBMakWJXAQn5t5i)Khfo@6M|B&WNBw0aC7@ z!1BZ$7N+{3VVx4D#+Rij=Y*+`L2Rd>$t2woYSl#lHhB?OBfrYzDETD2=! zZBv%$G|CdjJZN-MbE@sKynSq3kt21jE_!Wg(PJ>;6k557+rPu=_tw=PyFNq1lSRJR z;I(pXCzf1SwW7Dnuju+9@rh6q7{7i!(cs3I-mXC7SJp58u`2n7bK5{GJwj~}jVW3q zVPW%f$MT+%85;Y_qGWM|x*kfM9x#k`ZG`$HjQ0CDLd_aw3sB`8Hg{DfoJKQmfFWvN zIQG1M%=7F`H1A`6oxW4Lte5-snI3k$X^JsI0s$Q!eR=19DoAj6AbP zwhck7qZv_7+tPndN01h+Ij;gWVQ3hO<>*RVd(I4-(@5+@RftieylTuXAfhQ6((m8A z(xS!6t3PsQb!v3eao?R^D{2raIj;jvkVwFRk^`c5!A|v(uE=HxI?^WjGN@hC^h`1d;?3KD~K%BPD zTUmKk{%iHswc$3OqI!#B#%-|f?#birPqv^}l&6UUgF`D;QN@}u@@iL6eVUO5TgdUv z=pBu#sE@ez>rllUD;27&_Ageq&23_anfu`$Rn#@nOsk>_cOvGnDk`cuy=4M1WGrnz zRDW{VwF9kd>wMul6zCuOQp_agsiWkUL~&e+bU{tbJF~wiaN%%-vwgGy3&5J z$#2KbbkFJS5?M8v8J+{C@*BKb*!*0qK~xx2IE^s`0z+|5)JELR=X}0l~;Y6pPwbl95B1=F{;kl-rL+%7I!A42?)a#C&rK25tJ{TwL3XkY-UTx)lZMhK5W|+4I#pH)lovPct-z zM5%N%A||6DV<}-{mBnGU-lsD(77!vs`RK@Qb%LiK*_siuK1%JExVv@g%jzU_NU2t8 zR))q2Lh=#!;C!z_pOilLVn)b~DCO6hl6h7)OP1Jq!QHQ4+gLqA!@s(UK_emz4Jp}~ z>1o&ISG(~+hDIGiWa1j@w!BBDT$Ki9gtV!y=1AP$I_}n=UR#_eU)|p_G#rFTt#;i= zFEZrq7E?1qrdC%Mq+|*r5dJ2*olxW4jlL+WemoBQ#jH4FZkBeL9Zt4oC0 z+LmpE$Ube#wrz)fVsagpffr05k0lzYq&9R{orcw?q1sGZe!Uu+X|-zdWup$)c7LDI zbp|z5SJ1GIj8>j)iFv1yiWE0XV>PcnYent)-D#wUU4uQBLS`1g8VoyDPCORLp|-Ro z1$M_rB<4psRgQM#`PaShFxd=qV_y}cYP931M9(zpSUXnoRhp`}{;gV!crikpK5_b{<+8pBg={Dq2rUwliJ zVsbhn&A|f3NZhB$-|B2^t`1204>@Cy-5+rW>azWr=(4I$v06t+U+in7YD{N-JzAIx z$-y6cpY+b<^ShK@$8DjScEa)lTd1U(w3%KGS>sx&OPy@{Wi9?uXTr0$R@XYST%wKJ z#&T_mQm@8RDsMf)nnoUY!LLxRMMht&D7&(U&I(3IWRyBaT)$?-l~EE@V@9V9ww%_C zxZR?ZR~J$rf`*KRZI(-QOP;evWoS$$BsU@V%?d{93!+pzF^6)o|inHJCqUk zp|gS!_e7LhPF%kmI^Qz6ONY9=a%z4?T+iz2q@?bzM`@S5x3lCd;(a4SS_pa{iYIEZ03!Jn z{c5N0kc^Pf&T7BJt*7JGC|BW<{oU?YGc>voB6o#GZKKz&pSbP$jF5qym0vt1dqu~s za{AWz==KRw85-|&RxxNqe29kJd#rN?=SqrPI6p(<5Fx&VoLzo-T%(&gKgtOCxwD!h zab07L$9w5_cJFHN#Ww}xGc<}5BJ-!;>Ty4u$$ir=BP23bU67KsM?+FCJF9+!ccR8D z&(KJVRsP*beL5Ploe!R{eD$?KQ9&6RD+!S@2M%5A{#$Ez*Nl))VpWpFJ%Wa`S=kA( z6CyT#cPK;Sw9a>5#yG5ufoGR*vahvwSyp$lWiNSy@RKD>}ie5wLHPO=w@dj@}AwN_hR)F*b{kLch#ULRVmd&4eQCU2=AfxiEHTixQFr- zO-r1v5fY-09P_$`S=@W7#=V&PA3P$Yj(X;unpe#tN595BO)Kn}oOM#QmS=Mq8pd&5 z`=06m8uyH69%xGHPIEq{Yqo*5eWpTcGv8~f5=r-(>R$UjBzLoJzJ4ueKUoKTvSL7u z+%C1`8G(%OaOWK0>=VA$Tzyo>WDJ^70}8V|nYPK0kZNF`d;KRw9Z#lJGJeSa(L`U>}$bs*oRI?|o#m!3T>u%|&Uh;WC&V9nz@3FG@I92WMi`|_&60(lD zPRY!tD)O8p)G{Yc#iXFKB~5KvOuy-}%$CO`O-<-;D_Gf>ARBV;@gw<;hpz-So>yQT z$s3Pe!Yv{F%t8KJ^rXwdKNdHSPkAU4?mRl5o@#UR`-$bg984Ct+56&>hQ-Eb#5bQW z`1&;<9hB0?xKAm4wDQrThWTadYiZU`HBY7UwMU~E8dpvY+2E3IM=>;H-9ZD%LHZJk zf2zOgycE}Yy>WoLl1iuiW`Ob1RCWrJF`e=UQhJQX zE;k0MK9`NN`yflPK`QEsab_QGsW(U+moj!8q~=}HGW|e6rS+qyN>-Vl1~{K9I1^-B z7oIu62lX>QsKMX4zpae*E29nlt*i1+FKQlHdR?`Z&gSKE14GI=?zkc9c7Hm9`5edB zRP-ql#!hUgxvWU~;p=+8?!6UbSX&OoEaQf%VFQSxA4{rF2XI!+sei{ka(p?!Hp1`0 z^Bu2y%P_XzJUQ}JYX?$eeW5c|cL$PAMlHfE&L<4r%B!Y>$k6#@VcRe@Z;-8w=b>Td zQq??q$m_7dHt zE*dgBzcYQ#1$Y0>)zOe+BC6gzU3D%^BX&qvAC19fv;2B#x@Lk-^P{E-+pTxLm`n`k zx-(tM%lgT}Aw^4Qfk>de%oW_S!H zBo864JeM@H`Kqqx3DIkpiKEnV;{MIS*y2&@q-cDo)A(WAh*SHDWs~hc$4_#1Gy0Z~ zJNXaymG4KXdP8k%ohxY7U>I$1|G8Oy6+Xe1OZjKDd#HU9e1TeIwHwE06|KLH zQav4PZOn$vuiVpZjr984S0$#S?lM{}NT*9YaI9v{Gg^5L=iGynwbrtBh7xtafiTeuQn4JnQbffd}91M{=fbF8GZM3#jEI zZ3QCINliM&>n*?ibiuI!%e?R1{w5M4i*UcK(^fTj-FrJB!SWz0#4>lZx;+vDu0TU> zFQpT&)UR76Z#N^Z928r2j8;J}(}3TiAxpg%`Yxz^c!l?BG^E=xg9xAJjuOt_b z+4njjVtnG>9<7E+++1T!jlKCR6ukLuUiVz}OuI>ZUYh|gJtveyI)}XsT zKSu2%u3sn`vP|qVAw+-9JSg z;M#9JF|v_+)*QuNZCkyW%uKTG#bh<6spwbGY&cE%O<>X=_6jd^+%Jr_j+v%hwA4IDwDaJ&^I)IV$&LiZ*DjS+wOJ+Sauxu&py0>bsKj zDYP?#DU-Rma%jq;}=Wo;*dtKhRSU!chcH#tHh~P40qmCavk-y*${(1 z`}9KImzty#L+5&^f!W+etUq*Ya_LeZ!(zrfQ);2QL|j%L%Hws?s=QD|7UE%B^VhK) zPc-@<{L5h-(d8)>2ReF^k>?w=7n(Cl@vp~ko&WZb0a}TWW`xMNxNx(}cb)Qh$Xuq| zD^s1@P9yggi`1*rD2?-+vB+Zcydb^*`7c{Fh~RKu4=DYx#it17Si#;~*2^tAU$}c~ za;$7}x!uSOnR(A^I?3@6xy*Eu@3=%wE==Y6Pq)qTJFvt|yZfPX>wg@TOCB*vbJG$h zm#9F6`fp2A7iB9`qTfZ(Bkq3iIm#XMD=zV`Z+PgyHK4kmm za+Qw8z45i?4H|LGyK4U%yezZlU9)%WUKzQmYx64plt4c?^Iu`M&+plbt@DYRcg5=B zwL%5H$!idcSE!gbu>?=sUw)H5`QU>^t4kT~2l6r3KFVc=&BxQZq_(eC{xfVHBMYuJ zZ|AFV#X4WktM+sC?{Bv^tYh@TzYZvRh!JA0*ZrETF*{f2`l8cTS>O3XIsy+fFny;r z>dFkP(gTfLB;M?N-iVfi5`HCd{kqklHL7t@dySG_E+f#9mB&$?+FL#Q_ZxJlT_Lj| za&tSkMopNB1%Fwi7S80LEMTqK&(UYw7 z5yrQKNPnt4&;6+T(&91`QUnHEa&Mkkn0Pp`3wx z=J1;5U!TVZ^Nu7_hsBKM>rCsO`=H!;ZN3)}Z4KD03eU53^Q*ksY@6a?)3?Q(o_I`5 zC3omx{=~1EH;?;dz0IoFd?w0yo7H$+KcA0G;|A>R{b|d>-^(+x3TC}pf26W4pxx(u zq@ot^QW#Y=y}s7ZK2~0P5S738;)t5Cz}DD$_+xc!0b_$(tk+w(nI3x=@w@b~Y1<_m zIt^<#x!5(sg2p=a=ErLJTlClLTg=jrDd_S0zEMSGCmzCcY?{#A+!^l{c)$IZcMFV{ zWb&)qZ?pCSFLaqH9K^VVltr8uybgpk&s+tigs)IIBV<++$<;4pw!WW6g%M(=Jnmy$E> zURi@)|7|_7jF(h{Ec*#5NqRj!swTYkv%BQLq}4rBi2sKh#Nhbp_2 zg39T~65Iz5YMlL+X4jMR_N5#vnBA5m*rjwJPQrqgF*WqwX|DA*?o|7h$zaL7eA}n0$8vgJ>s@BA4rmxRI_=nwCKy4V=f>|+2hjBU z84bA!Twmt7{fGRU@1h|uOofG6Qg$o1cUf&r+GB3;n?{cBK6~M}r3?+@R{7Q*b-OHE zW5>Ik1Ww(n=DkaTbM~5tVU??&Ix~6R9BvK9eVl=`Wv{yP5rz9|uewCS^6pr%6=ZOR z7&3KNDLZ1#jRNJyNCq-Mf-E=osy-`7)4I>RnH(HFw4ZzAr?Os>ryz8LzQjU-`XEh*&zqR@Ew~Wddx2p$o zRgK?c&TMy3&7mj}tB59@p!veVD+&)O{Wj6`t>w4ZouK~USt#gawKtuIyNI_&V*rJS+uL1Xq;W*u(cda1{@ z)~~OXQV`3HMmJzu7d zx0}`F01|H`4|#6Ptw;Lzz@{n(smn_*MlK_x&Cb%+W!BL;zs;4Apij(BeXZI{IjT1^ z+v7slwk^J^vZWRp70uTzCZ!%_1rqVo6!$3lw!E(dOUKz@0YpYqsf3;r9GUyfPSiyQemf!59E*Wo*J(rR03 zYsB!$&1LhUCz_*c)U1uR5ZA=-Eb1U}%AZA57KekQUicw2pt&qsbw)>~cj!m|eq;Q55rhaG(e$>90J1(>J$q#M&U2pwlQL8`7)QWokGjNekR_G)<|YrF$& zNkp~pE?d5c$*9N;bjte$!s=c-aw0>e1g4jRzbLoo+ny@dnhDeyIWkOL*us!&%GA9l9ib(u=D6re~h@fHX~WjpDpS` zbPEOiZ2T@ky5->2dW}E5a5h7wB`Q}XxdC{Bci@?ZXRhQlA5XPyc(&nbv(5Ir=RuMw zO-{A5s0rIBuDO|WKH_n{>+Y+vZKsPo`a2sH&Rf)p0~uCTY1^50w27Tt3Uzq9t;s#% z|H#qx!6aQ@yI@g&enQn3TrjP3d*r6`xhF>@WK><(_<2{Vr8?|j)ufByn(d-RRo_hk z&9&^kx5VY~!|5H|<{wm4(K{I?&Kl@dHjhl@xu+`pDO2>-OXlghPj|25F=ZNTpgS6? z?NEy|mR_RzEn^NUjFHbTi+^X%p}BfpE-P(kTJ0{I&Cujm-ifAggyXAEa)oUXG+-ZO~~aCP?g3}fjKwRu-2TRfPKv)BG5nzQdat>~Kd7mHf5 zn^{pO;n(69bLv~#qgTHCEA7uwZP|D;qRrKOwDakrYj>g!+GA^2=!NU%aBbOSZ{t|6 zwVx72&z2F_E$VwzTwnOrqRQ>f)EPU=o5|+Ua7K@o*OmX;$?h5D{_dGyHQZ+l)nC>4 z>*zSWj|}t^slTS_9O%w!|IP5$Bh~D{dq1NCJHH)}5~dbK&pi`sG~V&h2vK^snljaV|!bng_V6 zZPY52n^d`Qb3HjIRz` zE7*L)gDt+Kn4cVnTMMi?zUo3n$x&Wc53vLjBCYsiRIQ1Jc1^1yA+nkbRz-*NmE|ac z^Adb=?eunswiYoDk;}`yxFsR7DQa+YccS~{w=ml%e~$5@rbVPEt}D>m6U;bgiOp)Zya#( zO}lK7oQA(1WzVhdRN?va2nX-e2Uldiso2T1{XoBj1K*GBDCbxD!DOb#iuwVH-$q^V z@hLq&?9kwxJWJH;P3Ie0-Fn&hMbh>*5B`$kCuqyQB`EpxH($#)G+fGN9`+v6^(nZ- zabm@pbrwRT-!S_fBP0)TUi^Lgy3KA~W@Ln1)~U5wR{ZDeqxx?qMDI@?`WBNL$pxz- zRqgo;hgeek#ihii##`3!=#zD3BcBxFVsKgF=@;Mgun~LkH8i!y&+eC1b|>^XOS?N3 zHN3jLVMO8`bHe$#N!&{@uaq7}S~7E2FT6Z-RES zj&o7Q%-EXFwi_r>+-u(3IZiw|~suGixI&=z4`j@MpPIVimh@fd@OZm&g&aFsd$~1Mmj(vvTEUnR{&7$F}PEW$Z zY&<0o%c3l5Oh^$W8)%F0W3u~URdIqkDv+gE(#=>g z8dD50evf)|2p+B;kZY3uxgLhXEzAr15q~``(uYNsT{&EgMR}R>M{R5Ee{{;o_5PRs zL;U{Qe9o$x6;QSY_5zJw;TJ(?Lz2^&6NV8cEM*DOBRb`{}OXs!~IHVJmK1 zaYw$a25WbQb~kDF2yU@0FPjUk_Rkf5dCia}Hz$Xica@m5!&R~!jXtsEWmO=WbViR+ zm2h*9=KUMFbuN5oaQZhpFJG#?Q1wLan9BoXG5UgU)_JY|!f)7muBBJMc61}7WSsX_ zu4OP^T;`FxZ||S}_>ybcE}m(+=hL1?vkVx{+D|5ymwv6~TlD7*ODA$I`c0;(qyvT8 zm7mA84=xUhF<**){g6Lvw(~vGJ&U$jqEx!$xFRsID%>|R|Gle?4)C?`$;gDFDA&LyaLjQtI{OIF|; zPxji%t&vADHL|t6j7z9m(c13s+AASVom^)3&eAP5H7%e!k=6Cq_V#M>VtX-_(#BrW zU8cM8YEoN!WKMpHB`~e~;KY=E0dcW$JyhR=c0cvO8hamgxh-#+wL4(H$SzjZzM2e#KrIkyK>k;2Owok9_YS>#I#Z~Xs_Aqs9k-d)U*3q8BmA4SofR6Tx zs#Z^OpV!jEO|4&SucGFy_pqs>ui5kGHdE=B5Rew%yH8?lT70TH-iZiBr`VrUe>St1 zQk6T~y;R6zdvW#p6#M(C;Wc{>m9vFCyXx57UTj13RC@`ltxs%9YJAFuglYCytZI2P zdjl0Z+a9!`&>Qx*-BfHBdyv{X%ic<@>SfQWHubcZ=KCP5)c)*gFUWV!>0^5@e%a&91*t1jw?^Bx7oEO|F{oNIs1C0Cz>xa7Fx#N?FJ$g2L- zF<7nMV=tt#w_@e@=Ok)M1GsHiHjn#V(ZuAq*u($~)H}9&LR>&`h6$5ssFi~}@^0{0VsGYJAS!K8pZL^r@#GjEZ~h-J zAU3fVQ%Jkz_9E(PKYJBdPE1vBe|v)Ra@ez|kNeyEshHt*o9ZyYURbRhiqSqDV9%*O ze#!2s+7GnnS6v41-^qb?H??aZ`PELP23v;EV~}|$ufddd4=#XIFcU4aw{50WK=3oxQADzS6^U!`AiogI4LDUMjS^-Mi2OeY9(Q|Fq=f#MA(~ zS+4~3{dr33KgOO-#Z>mlr%tw^r`2d{ucxL|_9&s;+uE!8I)7V$;pggrKa#k@+V9M_UIZZy&EQ9L!dABhDp_5ymQ8pXI5B`!H7UL-1L655BF*n>B`I?*2O zGQFkUU6p%{Caye*mJFO^uR8s854(C#)B;=CtE$k+_G#IT#8Ubtr6u%^4^UCZJ^YDC zb4;XPE@)w|r0Tt9Z=>dp_b97A+Gvl>LcYCYle*HQifpnM$d=TncL1>i`oyO7P!%`X zhkJBMNGjK#zOKHXMvI=@NVhq>$(}1~VnX*GX-N!+xK!2T3f=tUGE55rJ?tAdT<&47 z<)UJG(MZR7P}U(m?IEgQf4dhaS|Jq!Ia^4yN2K6YVuzluHs_@P#BI zHA%7$Q$04@12$~=!0wt=ogHnjuwna7yFE+xgp}l@fC2Gc;!+0nNmEykGvh6r>5)VI z^0~b^uVJG1(gAz6=hcD{bl{&x*ypRwzuQY}SUS=^%thV#-5$GP+$eh|mkk|n*;~4+ z#F2c(cIRFDw<>y+y~?^d9v^tAu3haR8`|XZXyc;B?qaqoF^+y+d#Q)_hMl=Rrj<~A zez)h~%hi27nJ`cOj!8<7B7=72J)M2Bek<<8=C^vz_iT+cW=wm9rjD4jc<6Zdly{Y6o%_$?OcoH09GuM_XAo3;7|Ea z0mXWwvhpB(1cm1zkq;)^PsD#EBxgV*a2 zza(U3>;};4R6%8Gl;n6o^L!+!moif0>W#Kh)^JMap%Uf&yBgg_`0$!0eYZ~8zVNyA zSExTX=)EV+kDpR)6>d2CqFH`e!PLS94IKY*orfi~*7?`1o=|TTrj-NXcZD%2L-!2b zv_wHaK=wL1awx1$3%?@RqmU=`LeAZ_i}@`toQ?vfQgRQA?xy9~hapPDzi4o@jce_~ ztd6lrbLkS{Bqh~M*ZrFsU3_S2GfmC8e~p*g|1C_QYYn$IvrG}uibko@7Mw! Optional[Repository # create a logged in GitHub client client = login(token=getenv("GH_ACCESS_TOKEN")) - info: RepositoryInfo = {} - - # get the repository; if the repo is not found, log a warning - try: - repository = client.repository(owner, name) - # Don't find issues inside archived repos. - if repository.archived: - return None - - good_first_issues = set( - itertools.chain.from_iterable( - repository.issues( - labels=label, - state=ISSUE_STATE, - number=ISSUE_LIMIT, - sort=ISSUE_SORT, - direction=ISSUE_SORT_DIRECTION, + max_retries = 3 + + for attempt in range(max_retries): + try: + repository = client.repository(owner, name) + # Don't find issues inside archived repos. + if repository.archived: + return None + + good_first_issues = set( + itertools.chain.from_iterable( + repository.issues( + labels=label, + state=ISSUE_STATE, + number=ISSUE_LIMIT, + sort=ISSUE_SORT, + direction=ISSUE_SORT_DIRECTION, + ) + for label in ISSUE_LABELS ) - for label in ISSUE_LABELS ) - ) - logger.info("\t found {} good first issues", len(good_first_issues)) - # check if repo has at least one good first issue - if good_first_issues and repository.language: - # store the repo info - info["name"] = name - info["owner"] = owner - info["description"] = emojize(repository.description or "") - info["language"] = repository.language - info["slug"] = slugify(repository.language, replacements=SLUGIFY_REPLACEMENTS) - info["url"] = repository.html_url - info["stars"] = repository.stargazers_count - info["stars_display"] = numerize.numerize(repository.stargazers_count) - info["last_modified"] = repository.pushed_at.isoformat() - info["id"] = str(repository.id) - - # get the latest issues with the tag - issues = [] - for issue in good_first_issues: - issues.append( - { - "title": issue.title, - "url": issue.html_url, - "number": issue.number, - "comments_count": issue.comments_count, - "created_at": issue.created_at.isoformat(), - } - ) + logger.info("\t found {} good first issues", len(good_first_issues)) + # check if repo has at least one good first issue + if good_first_issues and repository.language: + # store the repo info + info: RepositoryInfo = {} + info["name"] = name + info["owner"] = owner + info["description"] = emojize(repository.description or "") + info["language"] = repository.language + info["slug"] = slugify(repository.language, replacements=SLUGIFY_REPLACEMENTS) + info["url"] = repository.html_url + info["stars"] = repository.stargazers_count + info["stars_display"] = numerize.numerize(repository.stargazers_count) + info["last_modified"] = repository.pushed_at.isoformat() + info["id"] = str(repository.id) + + # get the latest issues with the tag + issues = [] + for issue in good_first_issues: + issues.append( + { + "title": issue.title, + "url": issue.html_url, + "number": issue.number, + "comments_count": issue.comments_count, + "created_at": issue.created_at.isoformat(), + } + ) + + info["issues"] = issues + return info + else: + logger.info("\t skipping due to insufficient issues or info") + return None + + except exceptions.ForbiddenError: + if attempt < max_retries - 1: + wait_time = 60 * (attempt + 1) # 60s, 120s, 180s + logger.warning("Rate limited on {}/{}. Waiting {}s before retry...", + owner, name, wait_time) + time.sleep(wait_time) + else: + logger.error("Rate limit exceeded after {} retries: {}/{}", + max_retries, owner, name) + return None + + except exceptions.NotFoundError: + logger.warning("Not Found: {}/{}", owner, name) + return None - info["issues"] = issues - else: - logger.info("\t skipping due to insufficient issues or info") - except exceptions.NotFoundError: - logger.warning("Not Found: {}/{}", owner, name) - except exceptions.ForbiddenError: - logger.warning("Skipped due to rate-limits: {}/{}", owner, name) - except exceptions.ConnectionError: - logger.warning("Skipped due to connection errors: {}/{}", owner, name) + except exceptions.ConnectionError: + logger.warning("Connection error: {}/{}", owner, name) + return None - return info + return None if __name__ == "__main__": @@ -160,7 +176,7 @@ def get_repository_info(identifier: RepositoryIdentifier) -> Optional[Repository random.shuffle(repositories) with ThreadPoolExecutor(max_workers=MAX_CONCURRENCY) as executor: - results = executor.map(get_repository_info, repositories[:MAX_REPOSITORIES]) + results = executor.map(get_repository_info, repositories) # filter out repositories with valid data and increment tag counts for result in results: diff --git a/package.json b/package.json index 2c0a5a76..67744ecf 100644 --- a/package.json +++ b/package.json @@ -13,14 +13,14 @@ "devDependencies": { "@nuxt/devtools": "latest", "@nuxtjs/tailwindcss": "latest", - "nuxt": "^3.8.2", - "nuxt-gtag": "^0.5.9", - "nuxt-simple-sitemap": "^3.4.0", - "prettier": "^3.1.1" + "nuxt": "^3.20.2", + "nuxt-gtag": "^4.1.0", + "nuxt-simple-sitemap": "^4.4.1", + "prettier": "^3.8.0" }, "dependencies": { - "@heroicons/vue": "^2.0.18", - "@vercel/blob": "^0.16.1", - "dayjs": "^1.11.10" + "@heroicons/vue": "^2.2.0", + "@vercel/blob": "^0.16.2", + "dayjs": "^1.11.19" } } diff --git a/poetry.lock b/poetry.lock deleted file mode 100644 index f5aaab65..00000000 --- a/poetry.lock +++ /dev/null @@ -1,593 +0,0 @@ -# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. - -[[package]] -name = "certifi" -version = "2023.11.17" -description = "Python package for providing Mozilla's CA Bundle." -optional = false -python-versions = ">=3.6" -files = [ - {file = "certifi-2023.11.17-py3-none-any.whl", hash = "sha256:e036ab49d5b79556f99cfc2d9320b34cfbe5be05c5871b51de9329f0603b0474"}, - {file = "certifi-2023.11.17.tar.gz", hash = "sha256:9b469f3a900bf28dc19b8cfbf8019bf47f7fdd1a65a1d4ffb98fc14166beb4d1"}, -] - -[[package]] -name = "cffi" -version = "1.16.0" -description = "Foreign Function Interface for Python calling C code." -optional = false -python-versions = ">=3.8" -files = [ - {file = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088"}, - {file = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614"}, - {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743"}, - {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d"}, - {file = "cffi-1.16.0-cp310-cp310-win32.whl", hash = "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a"}, - {file = "cffi-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1"}, - {file = "cffi-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404"}, - {file = "cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e"}, - {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc"}, - {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb"}, - {file = "cffi-1.16.0-cp311-cp311-win32.whl", hash = "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab"}, - {file = "cffi-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba"}, - {file = "cffi-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956"}, - {file = "cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969"}, - {file = "cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520"}, - {file = "cffi-1.16.0-cp312-cp312-win32.whl", hash = "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b"}, - {file = "cffi-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235"}, - {file = "cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324"}, - {file = "cffi-1.16.0-cp38-cp38-win32.whl", hash = "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a"}, - {file = "cffi-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36"}, - {file = "cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed"}, - {file = "cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098"}, - {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000"}, - {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe"}, - {file = "cffi-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4"}, - {file = "cffi-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8"}, - {file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"}, -] - -[package.dependencies] -pycparser = "*" - -[[package]] -name = "charset-normalizer" -version = "3.3.2" -description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -optional = false -python-versions = ">=3.7.0" -files = [ - {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, - {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, -] - -[[package]] -name = "colorama" -version = "0.4.6" -description = "Cross-platform colored terminal text." -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" -files = [ - {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, - {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, -] - -[[package]] -name = "cryptography" -version = "41.0.7" -description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." -optional = false -python-versions = ">=3.7" -files = [ - {file = "cryptography-41.0.7-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:3c78451b78313fa81607fa1b3f1ae0a5ddd8014c38a02d9db0616133987b9cdf"}, - {file = "cryptography-41.0.7-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:928258ba5d6f8ae644e764d0f996d61a8777559f72dfeb2eea7e2fe0ad6e782d"}, - {file = "cryptography-41.0.7-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5a1b41bc97f1ad230a41657d9155113c7521953869ae57ac39ac7f1bb471469a"}, - {file = "cryptography-41.0.7-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:841df4caa01008bad253bce2a6f7b47f86dc9f08df4b433c404def869f590a15"}, - {file = "cryptography-41.0.7-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:5429ec739a29df2e29e15d082f1d9ad683701f0ec7709ca479b3ff2708dae65a"}, - {file = "cryptography-41.0.7-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:43f2552a2378b44869fe8827aa19e69512e3245a219104438692385b0ee119d1"}, - {file = "cryptography-41.0.7-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:af03b32695b24d85a75d40e1ba39ffe7db7ffcb099fe507b39fd41a565f1b157"}, - {file = "cryptography-41.0.7-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:49f0805fc0b2ac8d4882dd52f4a3b935b210935d500b6b805f321addc8177406"}, - {file = "cryptography-41.0.7-cp37-abi3-win32.whl", hash = "sha256:f983596065a18a2183e7f79ab3fd4c475205b839e02cbc0efbbf9666c4b3083d"}, - {file = "cryptography-41.0.7-cp37-abi3-win_amd64.whl", hash = "sha256:90452ba79b8788fa380dfb587cca692976ef4e757b194b093d845e8d99f612f2"}, - {file = "cryptography-41.0.7-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:079b85658ea2f59c4f43b70f8119a52414cdb7be34da5d019a77bf96d473b960"}, - {file = "cryptography-41.0.7-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:b640981bf64a3e978a56167594a0e97db71c89a479da8e175d8bb5be5178c003"}, - {file = "cryptography-41.0.7-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e3114da6d7f95d2dee7d3f4eec16dacff819740bbab931aff8648cb13c5ff5e7"}, - {file = "cryptography-41.0.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d5ec85080cce7b0513cfd233914eb8b7bbd0633f1d1703aa28d1dd5a72f678ec"}, - {file = "cryptography-41.0.7-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7a698cb1dac82c35fcf8fe3417a3aaba97de16a01ac914b89a0889d364d2f6be"}, - {file = "cryptography-41.0.7-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:37a138589b12069efb424220bf78eac59ca68b95696fc622b6ccc1c0a197204a"}, - {file = "cryptography-41.0.7-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:68a2dec79deebc5d26d617bfdf6e8aab065a4f34934b22d3b5010df3ba36612c"}, - {file = "cryptography-41.0.7-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:09616eeaef406f99046553b8a40fbf8b1e70795a91885ba4c96a70793de5504a"}, - {file = "cryptography-41.0.7-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:48a0476626da912a44cc078f9893f292f0b3e4c739caf289268168d8f4702a39"}, - {file = "cryptography-41.0.7-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c7f3201ec47d5207841402594f1d7950879ef890c0c495052fa62f58283fde1a"}, - {file = "cryptography-41.0.7-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c5ca78485a255e03c32b513f8c2bc39fedb7f5c5f8535545bdc223a03b24f248"}, - {file = "cryptography-41.0.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:d6c391c021ab1f7a82da5d8d0b3cee2f4b2c455ec86c8aebbc84837a631ff309"}, - {file = "cryptography-41.0.7.tar.gz", hash = "sha256:13f93ce9bea8016c253b34afc6bd6a75993e5c40672ed5405a9c832f0d4a00bc"}, -] - -[package.dependencies] -cffi = ">=1.12" - -[package.extras] -docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.1.1)"] -docstest = ["pyenchant (>=1.6.11)", "sphinxcontrib-spelling (>=4.0.1)", "twine (>=1.12.0)"] -nox = ["nox"] -pep8test = ["black", "check-sdist", "mypy", "ruff"] -sdist = ["build"] -ssh = ["bcrypt (>=3.1.5)"] -test = ["pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] -test-randomorder = ["pytest-randomly"] - -[[package]] -name = "emoji" -version = "0.6.0" -description = "Emoji for Python" -optional = false -python-versions = "*" -files = [ - {file = "emoji-0.6.0.tar.gz", hash = "sha256:e42da4f8d648f8ef10691bc246f682a1ec6b18373abfd9be10ec0b398823bd11"}, -] - -[package.extras] -dev = ["coverage", "coveralls", "pytest"] - -[[package]] -name = "github3-py" -version = "4.0.1" -description = "Python wrapper for the GitHub API(http://developer.github.com/v3)" -optional = false -python-versions = ">=3.7" -files = [ - {file = "github3.py-4.0.1-py3-none-any.whl", hash = "sha256:a89af7de25650612d1da2f0609622bcdeb07ee8a45a1c06b2d16a05e4234e753"}, - {file = "github3.py-4.0.1.tar.gz", hash = "sha256:30d571076753efc389edc7f9aaef338a4fcb24b54d8968d5f39b1342f45ddd36"}, -] - -[package.dependencies] -pyjwt = {version = ">=2.3.0", extras = ["crypto"]} -python-dateutil = ">=2.6.0" -requests = ">=2.18" -uritemplate = ">=3.0.0" - -[package.extras] -dev = ["build", "github3-py[test]", "tox (>=3.1.3)", "twine", "wheel"] -test = ["betamax (>=0.5.1)", "betamax-matchers (>=0.3.0)", "pytest (>=7.0)", "pytest-xdist[psutil]"] - -[[package]] -name = "idna" -version = "3.6" -description = "Internationalized Domain Names in Applications (IDNA)" -optional = false -python-versions = ">=3.5" -files = [ - {file = "idna-3.6-py3-none-any.whl", hash = "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f"}, - {file = "idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca"}, -] - -[[package]] -name = "loguru" -version = "0.7.2" -description = "Python logging made (stupidly) simple" -optional = false -python-versions = ">=3.5" -files = [ - {file = "loguru-0.7.2-py3-none-any.whl", hash = "sha256:003d71e3d3ed35f0f8984898359d65b79e5b21943f78af86aa5491210429b8eb"}, - {file = "loguru-0.7.2.tar.gz", hash = "sha256:e671a53522515f34fd406340ee968cb9ecafbc4b36c679da03c18fd8d0bd51ac"}, -] - -[package.dependencies] -colorama = {version = ">=0.3.4", markers = "sys_platform == \"win32\""} -win32-setctime = {version = ">=1.0.0", markers = "sys_platform == \"win32\""} - -[package.extras] -dev = ["Sphinx (==7.2.5)", "colorama (==0.4.5)", "colorama (==0.4.6)", "exceptiongroup (==1.1.3)", "freezegun (==1.1.0)", "freezegun (==1.2.2)", "mypy (==v0.910)", "mypy (==v0.971)", "mypy (==v1.4.1)", "mypy (==v1.5.1)", "pre-commit (==3.4.0)", "pytest (==6.1.2)", "pytest (==7.4.0)", "pytest-cov (==2.12.1)", "pytest-cov (==4.1.0)", "pytest-mypy-plugins (==1.9.3)", "pytest-mypy-plugins (==3.0.0)", "sphinx-autobuild (==2021.3.14)", "sphinx-rtd-theme (==1.3.0)", "tox (==3.27.1)", "tox (==4.11.0)"] - -[[package]] -name = "mypy" -version = "1.7.1" -description = "Optional static typing for Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "mypy-1.7.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:12cce78e329838d70a204293e7b29af9faa3ab14899aec397798a4b41be7f340"}, - {file = "mypy-1.7.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1484b8fa2c10adf4474f016e09d7a159602f3239075c7bf9f1627f5acf40ad49"}, - {file = "mypy-1.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31902408f4bf54108bbfb2e35369877c01c95adc6192958684473658c322c8a5"}, - {file = "mypy-1.7.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f2c2521a8e4d6d769e3234350ba7b65ff5d527137cdcde13ff4d99114b0c8e7d"}, - {file = "mypy-1.7.1-cp310-cp310-win_amd64.whl", hash = "sha256:fcd2572dd4519e8a6642b733cd3a8cfc1ef94bafd0c1ceed9c94fe736cb65b6a"}, - {file = "mypy-1.7.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4b901927f16224d0d143b925ce9a4e6b3a758010673eeded9b748f250cf4e8f7"}, - {file = "mypy-1.7.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2f7f6985d05a4e3ce8255396df363046c28bea790e40617654e91ed580ca7c51"}, - {file = "mypy-1.7.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:944bdc21ebd620eafefc090cdf83158393ec2b1391578359776c00de00e8907a"}, - {file = "mypy-1.7.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9c7ac372232c928fff0645d85f273a726970c014749b924ce5710d7d89763a28"}, - {file = "mypy-1.7.1-cp311-cp311-win_amd64.whl", hash = "sha256:f6efc9bd72258f89a3816e3a98c09d36f079c223aa345c659622f056b760ab42"}, - {file = "mypy-1.7.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6dbdec441c60699288adf051f51a5d512b0d818526d1dcfff5a41f8cd8b4aaf1"}, - {file = "mypy-1.7.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4fc3d14ee80cd22367caaaf6e014494415bf440980a3045bf5045b525680ac33"}, - {file = "mypy-1.7.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c6e4464ed5f01dc44dc9821caf67b60a4e5c3b04278286a85c067010653a0eb"}, - {file = "mypy-1.7.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:d9b338c19fa2412f76e17525c1b4f2c687a55b156320acb588df79f2e6fa9fea"}, - {file = "mypy-1.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:204e0d6de5fd2317394a4eff62065614c4892d5a4d1a7ee55b765d7a3d9e3f82"}, - {file = "mypy-1.7.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:84860e06ba363d9c0eeabd45ac0fde4b903ad7aa4f93cd8b648385a888e23200"}, - {file = "mypy-1.7.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8c5091ebd294f7628eb25ea554852a52058ac81472c921150e3a61cdd68f75a7"}, - {file = "mypy-1.7.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40716d1f821b89838589e5b3106ebbc23636ffdef5abc31f7cd0266db936067e"}, - {file = "mypy-1.7.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5cf3f0c5ac72139797953bd50bc6c95ac13075e62dbfcc923571180bebb662e9"}, - {file = "mypy-1.7.1-cp38-cp38-win_amd64.whl", hash = "sha256:78e25b2fd6cbb55ddfb8058417df193f0129cad5f4ee75d1502248e588d9e0d7"}, - {file = "mypy-1.7.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:75c4d2a6effd015786c87774e04331b6da863fc3fc4e8adfc3b40aa55ab516fe"}, - {file = "mypy-1.7.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2643d145af5292ee956aa0a83c2ce1038a3bdb26e033dadeb2f7066fb0c9abce"}, - {file = "mypy-1.7.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75aa828610b67462ffe3057d4d8a4112105ed211596b750b53cbfe182f44777a"}, - {file = "mypy-1.7.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ee5d62d28b854eb61889cde4e1dbc10fbaa5560cb39780c3995f6737f7e82120"}, - {file = "mypy-1.7.1-cp39-cp39-win_amd64.whl", hash = "sha256:72cf32ce7dd3562373f78bd751f73c96cfb441de147cc2448a92c1a308bd0ca6"}, - {file = "mypy-1.7.1-py3-none-any.whl", hash = "sha256:f7c5d642db47376a0cc130f0de6d055056e010debdaf0707cd2b0fc7e7ef30ea"}, - {file = "mypy-1.7.1.tar.gz", hash = "sha256:fcb6d9afb1b6208b4c712af0dafdc650f518836065df0d4fb1d800f5d6773db2"}, -] - -[package.dependencies] -mypy-extensions = ">=1.0.0" -tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} -typing-extensions = ">=4.1.0" - -[package.extras] -dmypy = ["psutil (>=4.0)"] -install-types = ["pip"] -mypyc = ["setuptools (>=50)"] -reports = ["lxml"] - -[[package]] -name = "mypy-extensions" -version = "1.0.0" -description = "Type system extensions for programs checked with the mypy type checker." -optional = false -python-versions = ">=3.5" -files = [ - {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, - {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, -] - -[[package]] -name = "numerize" -version = "0.12" -description = "Convert large numbers into readable numbers for humans." -optional = false -python-versions = "*" -files = [ - {file = "numerize-0.12.tar.gz", hash = "sha256:5548fe72adceb2c7964998179697d80117bb117f57cd02f872cf5db40d615c04"}, -] - -[[package]] -name = "pycparser" -version = "2.21" -description = "C parser in Python" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"}, - {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, -] - -[[package]] -name = "pyjwt" -version = "2.8.0" -description = "JSON Web Token implementation in Python" -optional = false -python-versions = ">=3.7" -files = [ - {file = "PyJWT-2.8.0-py3-none-any.whl", hash = "sha256:59127c392cc44c2da5bb3192169a91f429924e17aff6534d70fdc02ab3e04320"}, - {file = "PyJWT-2.8.0.tar.gz", hash = "sha256:57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de"}, -] - -[package.dependencies] -cryptography = {version = ">=3.4.0", optional = true, markers = "extra == \"crypto\""} - -[package.extras] -crypto = ["cryptography (>=3.4.0)"] -dev = ["coverage[toml] (==5.0.4)", "cryptography (>=3.4.0)", "pre-commit", "pytest (>=6.0.0,<7.0.0)", "sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] -docs = ["sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] -tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] - -[[package]] -name = "python-dateutil" -version = "2.8.2" -description = "Extensions to the standard Python datetime module" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" -files = [ - {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, - {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, -] - -[package.dependencies] -six = ">=1.5" - -[[package]] -name = "python-slugify" -version = "4.0.1" -description = "A Python Slugify application that handles Unicode" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -files = [ - {file = "python-slugify-4.0.1.tar.gz", hash = "sha256:69a517766e00c1268e5bbfc0d010a0a8508de0b18d30ad5a1ff357f8ae724270"}, -] - -[package.dependencies] -text-unidecode = ">=1.3" - -[package.extras] -unidecode = ["Unidecode (>=1.1.1)"] - -[[package]] -name = "requests" -version = "2.31.0" -description = "Python HTTP for Humans." -optional = false -python-versions = ">=3.7" -files = [ - {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, - {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, -] - -[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 = "ruff" -version = "0.1.8" -description = "An extremely fast Python linter and code formatter, written in Rust." -optional = false -python-versions = ">=3.7" -files = [ - {file = "ruff-0.1.8-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:7de792582f6e490ae6aef36a58d85df9f7a0cfd1b0d4fe6b4fb51803a3ac96fa"}, - {file = "ruff-0.1.8-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:c8e3255afd186c142eef4ec400d7826134f028a85da2146102a1172ecc7c3696"}, - {file = "ruff-0.1.8-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ff78a7583020da124dd0deb835ece1d87bb91762d40c514ee9b67a087940528b"}, - {file = "ruff-0.1.8-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bd8ee69b02e7bdefe1e5da2d5b6eaaddcf4f90859f00281b2333c0e3a0cc9cd6"}, - {file = "ruff-0.1.8-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a05b0ddd7ea25495e4115a43125e8a7ebed0aa043c3d432de7e7d6e8e8cd6448"}, - {file = "ruff-0.1.8-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:e6f08ca730f4dc1b76b473bdf30b1b37d42da379202a059eae54ec7fc1fbcfed"}, - {file = "ruff-0.1.8-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f35960b02df6b827c1b903091bb14f4b003f6cf102705efc4ce78132a0aa5af3"}, - {file = "ruff-0.1.8-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7d076717c67b34c162da7c1a5bda16ffc205e0e0072c03745275e7eab888719f"}, - {file = "ruff-0.1.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6a21ab023124eafb7cef6d038f835cb1155cd5ea798edd8d9eb2f8b84be07d9"}, - {file = "ruff-0.1.8-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:ce697c463458555027dfb194cb96d26608abab920fa85213deb5edf26e026664"}, - {file = "ruff-0.1.8-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:db6cedd9ffed55548ab313ad718bc34582d394e27a7875b4b952c2d29c001b26"}, - {file = "ruff-0.1.8-py3-none-musllinux_1_2_i686.whl", hash = "sha256:05ffe9dbd278965271252704eddb97b4384bf58b971054d517decfbf8c523f05"}, - {file = "ruff-0.1.8-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:5daaeaf00ae3c1efec9742ff294b06c3a2a9db8d3db51ee4851c12ad385cda30"}, - {file = "ruff-0.1.8-py3-none-win32.whl", hash = "sha256:e49fbdfe257fa41e5c9e13c79b9e79a23a79bd0e40b9314bc53840f520c2c0b3"}, - {file = "ruff-0.1.8-py3-none-win_amd64.whl", hash = "sha256:f41f692f1691ad87f51708b823af4bb2c5c87c9248ddd3191c8f088e66ce590a"}, - {file = "ruff-0.1.8-py3-none-win_arm64.whl", hash = "sha256:aa8ee4f8440023b0a6c3707f76cadce8657553655dcbb5fc9b2f9bb9bee389f6"}, - {file = "ruff-0.1.8.tar.gz", hash = "sha256:f7ee467677467526cfe135eab86a40a0e8db43117936ac4f9b469ce9cdb3fb62"}, -] - -[[package]] -name = "six" -version = "1.16.0" -description = "Python 2 and 3 compatibility utilities" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" -files = [ - {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, - {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, -] - -[[package]] -name = "text-unidecode" -version = "1.3" -description = "The most basic Text::Unidecode port" -optional = false -python-versions = "*" -files = [ - {file = "text-unidecode-1.3.tar.gz", hash = "sha256:bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93"}, - {file = "text_unidecode-1.3-py2.py3-none-any.whl", hash = "sha256:1311f10e8b895935241623731c2ba64f4c455287888b18189350b67134a822e8"}, -] - -[[package]] -name = "toml" -version = "0.10.2" -description = "Python Library for Tom's Obvious, Minimal Language" -optional = false -python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" -files = [ - {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, - {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, -] - -[[package]] -name = "tomli" -version = "2.0.1" -description = "A lil' TOML parser" -optional = false -python-versions = ">=3.7" -files = [ - {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, - {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, -] - -[[package]] -name = "types-python-slugify" -version = "8.0.0.3" -description = "Typing stubs for python-slugify" -optional = false -python-versions = "*" -files = [ - {file = "types-python-slugify-8.0.0.3.tar.gz", hash = "sha256:868e6610ab9a01c01b2ccc1b982363e694d6bbb4fcf32e0d82688c89dceb4e2c"}, - {file = "types_python_slugify-8.0.0.3-py3-none-any.whl", hash = "sha256:2353c161c79ab6cce955b50720c6cd03586ec297558122236d130e4a19f21209"}, -] - -[[package]] -name = "types-toml" -version = "0.10.8.7" -description = "Typing stubs for toml" -optional = false -python-versions = "*" -files = [ - {file = "types-toml-0.10.8.7.tar.gz", hash = "sha256:58b0781c681e671ff0b5c0319309910689f4ab40e8a2431e205d70c94bb6efb1"}, - {file = "types_toml-0.10.8.7-py3-none-any.whl", hash = "sha256:61951da6ad410794c97bec035d59376ce1cbf4453dc9b6f90477e81e4442d631"}, -] - -[[package]] -name = "typing-extensions" -version = "4.9.0" -description = "Backported and Experimental Type Hints for Python 3.8+" -optional = false -python-versions = ">=3.8" -files = [ - {file = "typing_extensions-4.9.0-py3-none-any.whl", hash = "sha256:af72aea155e91adfc61c3ae9e0e342dbc0cba726d6cba4b6c72c1f34e47291cd"}, - {file = "typing_extensions-4.9.0.tar.gz", hash = "sha256:23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783"}, -] - -[[package]] -name = "uritemplate" -version = "4.1.1" -description = "Implementation of RFC 6570 URI Templates" -optional = false -python-versions = ">=3.6" -files = [ - {file = "uritemplate-4.1.1-py2.py3-none-any.whl", hash = "sha256:830c08b8d99bdd312ea4ead05994a38e8936266f84b9a7878232db50b044e02e"}, - {file = "uritemplate-4.1.1.tar.gz", hash = "sha256:4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0"}, -] - -[[package]] -name = "urllib3" -version = "2.1.0" -description = "HTTP library with thread-safe connection pooling, file post, and more." -optional = false -python-versions = ">=3.8" -files = [ - {file = "urllib3-2.1.0-py3-none-any.whl", hash = "sha256:55901e917a5896a349ff771be919f8bd99aff50b79fe58fec595eb37bbc56bb3"}, - {file = "urllib3-2.1.0.tar.gz", hash = "sha256:df7aa8afb0148fa78488e7899b2c59b5f4ffcfa82e6c54ccb9dd37c1d7b52d54"}, -] - -[package.extras] -brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] -socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] -zstd = ["zstandard (>=0.18.0)"] - -[[package]] -name = "win32-setctime" -version = "1.1.0" -description = "A small Python utility to set file creation time on Windows" -optional = false -python-versions = ">=3.5" -files = [ - {file = "win32_setctime-1.1.0-py3-none-any.whl", hash = "sha256:231db239e959c2fe7eb1d7dc129f11172354f98361c4fa2d6d2d7e278baa8aad"}, - {file = "win32_setctime-1.1.0.tar.gz", hash = "sha256:15cf5750465118d6929ae4de4eb46e8edae9a5634350c01ba582df868e932cb2"}, -] - -[package.extras] -dev = ["black (>=19.3b0)", "pytest (>=4.6.2)"] - -[metadata] -lock-version = "2.0" -python-versions = "^3.9" -content-hash = "4f6c9f1c40c4fcdb4e4472f5e30c758de96ae8f9431e8ca3b04cf0c933aff0b3" diff --git a/pyproject.toml b/pyproject.toml index 4c6c6325..c788dcf8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,29 +1,36 @@ -[tool.poetry] +[project] name = "good-first-issue" version = "0.1.0" description = "https://goodfirstissue.dev" license = "MIT" -authors = ["Sanket Saurav "] +authors = [ + {name = "Sanket Saurav", email = "sanket@deepsource.io"} +] +requires-python = ">=3.9" +dependencies = [ + "github3.py>=4.0.1", + "toml>=0.10.2", + "numerize>=0.12", + "emoji>=0.6.0", + "requests>=2.23.0", + "python-slugify>=4.0.1", +] -[tool.poetry.dependencies] -python = "^3.9" -"github3.py" = "^4.0.1" -toml = "^0.10.2" -numerize = "^0.12" -emoji = "^0.6.0" -requests = "^2.23.0" -python-slugify = "^4.0.1" +[project.optional-dependencies] +dev = [ + "ruff>=0.1.8", + "types-toml>=0.10.8.7", + "types-python-slugify>=8.0.0.3", + "loguru>=0.7.2", + "mypy>=1.7.1", +] -[tool.poetry.group.dev.dependencies] -ruff = "^0.1.8" -types-toml = "^0.10.8.7" -types-python-slugify = "^8.0.0.3" -loguru = "^0.7.2" -mypy = "^1.7.1" +[tool.hatch.build.targets.wheel] +packages = ["gfi"] [tool.ruff] line-length = 120 [build-system] -requires = ["poetry-core"] -build-backend = "poetry.core.masonry.api" +requires = ["hatchling"] +build-backend = "hatchling.build" diff --git a/uv.lock b/uv.lock new file mode 100644 index 00000000..ce9dd246 --- /dev/null +++ b/uv.lock @@ -0,0 +1,751 @@ +version = 1 +revision = 3 +requires-python = ">=3.9" + +[[package]] +name = "certifi" +version = "2026.1.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e0/2d/a891ca51311197f6ad14a7ef42e2399f36cf2f9bd44752b3dc4eab60fdc5/certifi-2026.1.4.tar.gz", hash = "sha256:ac726dd470482006e014ad384921ed6438c457018f4b3d204aea4281258b2120", size = 154268, upload-time = "2026-01-04T02:42:41.825Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e6/ad/3cc14f097111b4de0040c83a525973216457bbeeb63739ef1ed275c1c021/certifi-2026.1.4-py3-none-any.whl", hash = "sha256:9943707519e4add1115f44c2bc244f782c0249876bf51b6599fee1ffbedd685c", size = 152900, upload-time = "2026-01-04T02:42:40.15Z" }, +] + +[[package]] +name = "cffi" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pycparser", marker = "implementation_name != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/eb/56/b1ba7935a17738ae8453301356628e8147c79dbb825bcbc73dc7401f9846/cffi-2.0.0.tar.gz", hash = "sha256:44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529", size = 523588, upload-time = "2025-09-08T23:24:04.541Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/93/d7/516d984057745a6cd96575eea814fe1edd6646ee6efd552fb7b0921dec83/cffi-2.0.0-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:0cf2d91ecc3fcc0625c2c530fe004f82c110405f101548512cce44322fa8ac44", size = 184283, upload-time = "2025-09-08T23:22:08.01Z" }, + { url = "https://files.pythonhosted.org/packages/9e/84/ad6a0b408daa859246f57c03efd28e5dd1b33c21737c2db84cae8c237aa5/cffi-2.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f73b96c41e3b2adedc34a7356e64c8eb96e03a3782b535e043a986276ce12a49", size = 180504, upload-time = "2025-09-08T23:22:10.637Z" }, + { url = "https://files.pythonhosted.org/packages/50/bd/b1a6362b80628111e6653c961f987faa55262b4002fcec42308cad1db680/cffi-2.0.0-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:53f77cbe57044e88bbd5ed26ac1d0514d2acf0591dd6bb02a3ae37f76811b80c", size = 208811, upload-time = "2025-09-08T23:22:12.267Z" }, + { url = "https://files.pythonhosted.org/packages/4f/27/6933a8b2562d7bd1fb595074cf99cc81fc3789f6a6c05cdabb46284a3188/cffi-2.0.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3e837e369566884707ddaf85fc1744b47575005c0a229de3327f8f9a20f4efeb", size = 216402, upload-time = "2025-09-08T23:22:13.455Z" }, + { url = "https://files.pythonhosted.org/packages/05/eb/b86f2a2645b62adcfff53b0dd97e8dfafb5c8aa864bd0d9a2c2049a0d551/cffi-2.0.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:5eda85d6d1879e692d546a078b44251cdd08dd1cfb98dfb77b670c97cee49ea0", size = 203217, upload-time = "2025-09-08T23:22:14.596Z" }, + { url = "https://files.pythonhosted.org/packages/9f/e0/6cbe77a53acf5acc7c08cc186c9928864bd7c005f9efd0d126884858a5fe/cffi-2.0.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:9332088d75dc3241c702d852d4671613136d90fa6881da7d770a483fd05248b4", size = 203079, upload-time = "2025-09-08T23:22:15.769Z" }, + { url = "https://files.pythonhosted.org/packages/98/29/9b366e70e243eb3d14a5cb488dfd3a0b6b2f1fb001a203f653b93ccfac88/cffi-2.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fc7de24befaeae77ba923797c7c87834c73648a05a4bde34b3b7e5588973a453", size = 216475, upload-time = "2025-09-08T23:22:17.427Z" }, + { url = "https://files.pythonhosted.org/packages/21/7a/13b24e70d2f90a322f2900c5d8e1f14fa7e2a6b3332b7309ba7b2ba51a5a/cffi-2.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cf364028c016c03078a23b503f02058f1814320a56ad535686f90565636a9495", size = 218829, upload-time = "2025-09-08T23:22:19.069Z" }, + { url = "https://files.pythonhosted.org/packages/60/99/c9dc110974c59cc981b1f5b66e1d8af8af764e00f0293266824d9c4254bc/cffi-2.0.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e11e82b744887154b182fd3e7e8512418446501191994dbf9c9fc1f32cc8efd5", size = 211211, upload-time = "2025-09-08T23:22:20.588Z" }, + { url = "https://files.pythonhosted.org/packages/49/72/ff2d12dbf21aca1b32a40ed792ee6b40f6dc3a9cf1644bd7ef6e95e0ac5e/cffi-2.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8ea985900c5c95ce9db1745f7933eeef5d314f0565b27625d9a10ec9881e1bfb", size = 218036, upload-time = "2025-09-08T23:22:22.143Z" }, + { url = "https://files.pythonhosted.org/packages/e2/cc/027d7fb82e58c48ea717149b03bcadcbdc293553edb283af792bd4bcbb3f/cffi-2.0.0-cp310-cp310-win32.whl", hash = "sha256:1f72fb8906754ac8a2cc3f9f5aaa298070652a0ffae577e0ea9bd480dc3c931a", size = 172184, upload-time = "2025-09-08T23:22:23.328Z" }, + { url = "https://files.pythonhosted.org/packages/33/fa/072dd15ae27fbb4e06b437eb6e944e75b068deb09e2a2826039e49ee2045/cffi-2.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:b18a3ed7d5b3bd8d9ef7a8cb226502c6bf8308df1525e1cc676c3680e7176739", size = 182790, upload-time = "2025-09-08T23:22:24.752Z" }, + { url = "https://files.pythonhosted.org/packages/12/4a/3dfd5f7850cbf0d06dc84ba9aa00db766b52ca38d8b86e3a38314d52498c/cffi-2.0.0-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:b4c854ef3adc177950a8dfc81a86f5115d2abd545751a304c5bcf2c2c7283cfe", size = 184344, upload-time = "2025-09-08T23:22:26.456Z" }, + { url = "https://files.pythonhosted.org/packages/4f/8b/f0e4c441227ba756aafbe78f117485b25bb26b1c059d01f137fa6d14896b/cffi-2.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2de9a304e27f7596cd03d16f1b7c72219bd944e99cc52b84d0145aefb07cbd3c", size = 180560, upload-time = "2025-09-08T23:22:28.197Z" }, + { url = "https://files.pythonhosted.org/packages/b1/b7/1200d354378ef52ec227395d95c2576330fd22a869f7a70e88e1447eb234/cffi-2.0.0-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:baf5215e0ab74c16e2dd324e8ec067ef59e41125d3eade2b863d294fd5035c92", size = 209613, upload-time = "2025-09-08T23:22:29.475Z" }, + { url = "https://files.pythonhosted.org/packages/b8/56/6033f5e86e8cc9bb629f0077ba71679508bdf54a9a5e112a3c0b91870332/cffi-2.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:730cacb21e1bdff3ce90babf007d0a0917cc3e6492f336c2f0134101e0944f93", size = 216476, upload-time = "2025-09-08T23:22:31.063Z" }, + { url = "https://files.pythonhosted.org/packages/dc/7f/55fecd70f7ece178db2f26128ec41430d8720f2d12ca97bf8f0a628207d5/cffi-2.0.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:6824f87845e3396029f3820c206e459ccc91760e8fa24422f8b0c3d1731cbec5", size = 203374, upload-time = "2025-09-08T23:22:32.507Z" }, + { url = "https://files.pythonhosted.org/packages/84/ef/a7b77c8bdc0f77adc3b46888f1ad54be8f3b7821697a7b89126e829e676a/cffi-2.0.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:9de40a7b0323d889cf8d23d1ef214f565ab154443c42737dfe52ff82cf857664", size = 202597, upload-time = "2025-09-08T23:22:34.132Z" }, + { url = "https://files.pythonhosted.org/packages/d7/91/500d892b2bf36529a75b77958edfcd5ad8e2ce4064ce2ecfeab2125d72d1/cffi-2.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8941aaadaf67246224cee8c3803777eed332a19d909b47e29c9842ef1e79ac26", size = 215574, upload-time = "2025-09-08T23:22:35.443Z" }, + { url = "https://files.pythonhosted.org/packages/44/64/58f6255b62b101093d5df22dcb752596066c7e89dd725e0afaed242a61be/cffi-2.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a05d0c237b3349096d3981b727493e22147f934b20f6f125a3eba8f994bec4a9", size = 218971, upload-time = "2025-09-08T23:22:36.805Z" }, + { url = "https://files.pythonhosted.org/packages/ab/49/fa72cebe2fd8a55fbe14956f9970fe8eb1ac59e5df042f603ef7c8ba0adc/cffi-2.0.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:94698a9c5f91f9d138526b48fe26a199609544591f859c870d477351dc7b2414", size = 211972, upload-time = "2025-09-08T23:22:38.436Z" }, + { url = "https://files.pythonhosted.org/packages/0b/28/dd0967a76aab36731b6ebfe64dec4e981aff7e0608f60c2d46b46982607d/cffi-2.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:5fed36fccc0612a53f1d4d9a816b50a36702c28a2aa880cb8a122b3466638743", size = 217078, upload-time = "2025-09-08T23:22:39.776Z" }, + { url = "https://files.pythonhosted.org/packages/2b/c0/015b25184413d7ab0a410775fdb4a50fca20f5589b5dab1dbbfa3baad8ce/cffi-2.0.0-cp311-cp311-win32.whl", hash = "sha256:c649e3a33450ec82378822b3dad03cc228b8f5963c0c12fc3b1e0ab940f768a5", size = 172076, upload-time = "2025-09-08T23:22:40.95Z" }, + { url = "https://files.pythonhosted.org/packages/ae/8f/dc5531155e7070361eb1b7e4c1a9d896d0cb21c49f807a6c03fd63fc877e/cffi-2.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:66f011380d0e49ed280c789fbd08ff0d40968ee7b665575489afa95c98196ab5", size = 182820, upload-time = "2025-09-08T23:22:42.463Z" }, + { url = "https://files.pythonhosted.org/packages/95/5c/1b493356429f9aecfd56bc171285a4c4ac8697f76e9bbbbb105e537853a1/cffi-2.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:c6638687455baf640e37344fe26d37c404db8b80d037c3d29f58fe8d1c3b194d", size = 177635, upload-time = "2025-09-08T23:22:43.623Z" }, + { url = "https://files.pythonhosted.org/packages/ea/47/4f61023ea636104d4f16ab488e268b93008c3d0bb76893b1b31db1f96802/cffi-2.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6d02d6655b0e54f54c4ef0b94eb6be0607b70853c45ce98bd278dc7de718be5d", size = 185271, upload-time = "2025-09-08T23:22:44.795Z" }, + { url = "https://files.pythonhosted.org/packages/df/a2/781b623f57358e360d62cdd7a8c681f074a71d445418a776eef0aadb4ab4/cffi-2.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8eca2a813c1cb7ad4fb74d368c2ffbbb4789d377ee5bb8df98373c2cc0dee76c", size = 181048, upload-time = "2025-09-08T23:22:45.938Z" }, + { url = "https://files.pythonhosted.org/packages/ff/df/a4f0fbd47331ceeba3d37c2e51e9dfc9722498becbeec2bd8bc856c9538a/cffi-2.0.0-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:21d1152871b019407d8ac3985f6775c079416c282e431a4da6afe7aefd2bccbe", size = 212529, upload-time = "2025-09-08T23:22:47.349Z" }, + { url = "https://files.pythonhosted.org/packages/d5/72/12b5f8d3865bf0f87cf1404d8c374e7487dcf097a1c91c436e72e6badd83/cffi-2.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:b21e08af67b8a103c71a250401c78d5e0893beff75e28c53c98f4de42f774062", size = 220097, upload-time = "2025-09-08T23:22:48.677Z" }, + { url = "https://files.pythonhosted.org/packages/c2/95/7a135d52a50dfa7c882ab0ac17e8dc11cec9d55d2c18dda414c051c5e69e/cffi-2.0.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:1e3a615586f05fc4065a8b22b8152f0c1b00cdbc60596d187c2a74f9e3036e4e", size = 207983, upload-time = "2025-09-08T23:22:50.06Z" }, + { url = "https://files.pythonhosted.org/packages/3a/c8/15cb9ada8895957ea171c62dc78ff3e99159ee7adb13c0123c001a2546c1/cffi-2.0.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:81afed14892743bbe14dacb9e36d9e0e504cd204e0b165062c488942b9718037", size = 206519, upload-time = "2025-09-08T23:22:51.364Z" }, + { url = "https://files.pythonhosted.org/packages/78/2d/7fa73dfa841b5ac06c7b8855cfc18622132e365f5b81d02230333ff26e9e/cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3e17ed538242334bf70832644a32a7aae3d83b57567f9fd60a26257e992b79ba", size = 219572, upload-time = "2025-09-08T23:22:52.902Z" }, + { url = "https://files.pythonhosted.org/packages/07/e0/267e57e387b4ca276b90f0434ff88b2c2241ad72b16d31836adddfd6031b/cffi-2.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3925dd22fa2b7699ed2617149842d2e6adde22b262fcbfada50e3d195e4b3a94", size = 222963, upload-time = "2025-09-08T23:22:54.518Z" }, + { url = "https://files.pythonhosted.org/packages/b6/75/1f2747525e06f53efbd878f4d03bac5b859cbc11c633d0fb81432d98a795/cffi-2.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2c8f814d84194c9ea681642fd164267891702542f028a15fc97d4674b6206187", size = 221361, upload-time = "2025-09-08T23:22:55.867Z" }, + { url = "https://files.pythonhosted.org/packages/7b/2b/2b6435f76bfeb6bbf055596976da087377ede68df465419d192acf00c437/cffi-2.0.0-cp312-cp312-win32.whl", hash = "sha256:da902562c3e9c550df360bfa53c035b2f241fed6d9aef119048073680ace4a18", size = 172932, upload-time = "2025-09-08T23:22:57.188Z" }, + { url = "https://files.pythonhosted.org/packages/f8/ed/13bd4418627013bec4ed6e54283b1959cf6db888048c7cf4b4c3b5b36002/cffi-2.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:da68248800ad6320861f129cd9c1bf96ca849a2771a59e0344e88681905916f5", size = 183557, upload-time = "2025-09-08T23:22:58.351Z" }, + { url = "https://files.pythonhosted.org/packages/95/31/9f7f93ad2f8eff1dbc1c3656d7ca5bfd8fb52c9d786b4dcf19b2d02217fa/cffi-2.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:4671d9dd5ec934cb9a73e7ee9676f9362aba54f7f34910956b84d727b0d73fb6", size = 177762, upload-time = "2025-09-08T23:22:59.668Z" }, + { url = "https://files.pythonhosted.org/packages/4b/8d/a0a47a0c9e413a658623d014e91e74a50cdd2c423f7ccfd44086ef767f90/cffi-2.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:00bdf7acc5f795150faa6957054fbbca2439db2f775ce831222b66f192f03beb", size = 185230, upload-time = "2025-09-08T23:23:00.879Z" }, + { url = "https://files.pythonhosted.org/packages/4a/d2/a6c0296814556c68ee32009d9c2ad4f85f2707cdecfd7727951ec228005d/cffi-2.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:45d5e886156860dc35862657e1494b9bae8dfa63bf56796f2fb56e1679fc0bca", size = 181043, upload-time = "2025-09-08T23:23:02.231Z" }, + { url = "https://files.pythonhosted.org/packages/b0/1e/d22cc63332bd59b06481ceaac49d6c507598642e2230f201649058a7e704/cffi-2.0.0-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:07b271772c100085dd28b74fa0cd81c8fb1a3ba18b21e03d7c27f3436a10606b", size = 212446, upload-time = "2025-09-08T23:23:03.472Z" }, + { url = "https://files.pythonhosted.org/packages/a9/f5/a2c23eb03b61a0b8747f211eb716446c826ad66818ddc7810cc2cc19b3f2/cffi-2.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d48a880098c96020b02d5a1f7d9251308510ce8858940e6fa99ece33f610838b", size = 220101, upload-time = "2025-09-08T23:23:04.792Z" }, + { url = "https://files.pythonhosted.org/packages/f2/7f/e6647792fc5850d634695bc0e6ab4111ae88e89981d35ac269956605feba/cffi-2.0.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f93fd8e5c8c0a4aa1f424d6173f14a892044054871c771f8566e4008eaa359d2", size = 207948, upload-time = "2025-09-08T23:23:06.127Z" }, + { url = "https://files.pythonhosted.org/packages/cb/1e/a5a1bd6f1fb30f22573f76533de12a00bf274abcdc55c8edab639078abb6/cffi-2.0.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:dd4f05f54a52fb558f1ba9f528228066954fee3ebe629fc1660d874d040ae5a3", size = 206422, upload-time = "2025-09-08T23:23:07.753Z" }, + { url = "https://files.pythonhosted.org/packages/98/df/0a1755e750013a2081e863e7cd37e0cdd02664372c754e5560099eb7aa44/cffi-2.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c8d3b5532fc71b7a77c09192b4a5a200ea992702734a2e9279a37f2478236f26", size = 219499, upload-time = "2025-09-08T23:23:09.648Z" }, + { url = "https://files.pythonhosted.org/packages/50/e1/a969e687fcf9ea58e6e2a928ad5e2dd88cc12f6f0ab477e9971f2309b57c/cffi-2.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d9b29c1f0ae438d5ee9acb31cadee00a58c46cc9c0b2f9038c6b0b3470877a8c", size = 222928, upload-time = "2025-09-08T23:23:10.928Z" }, + { url = "https://files.pythonhosted.org/packages/36/54/0362578dd2c9e557a28ac77698ed67323ed5b9775ca9d3fe73fe191bb5d8/cffi-2.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6d50360be4546678fc1b79ffe7a66265e28667840010348dd69a314145807a1b", size = 221302, upload-time = "2025-09-08T23:23:12.42Z" }, + { url = "https://files.pythonhosted.org/packages/eb/6d/bf9bda840d5f1dfdbf0feca87fbdb64a918a69bca42cfa0ba7b137c48cb8/cffi-2.0.0-cp313-cp313-win32.whl", hash = "sha256:74a03b9698e198d47562765773b4a8309919089150a0bb17d829ad7b44b60d27", size = 172909, upload-time = "2025-09-08T23:23:14.32Z" }, + { url = "https://files.pythonhosted.org/packages/37/18/6519e1ee6f5a1e579e04b9ddb6f1676c17368a7aba48299c3759bbc3c8b3/cffi-2.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:19f705ada2530c1167abacb171925dd886168931e0a7b78f5bffcae5c6b5be75", size = 183402, upload-time = "2025-09-08T23:23:15.535Z" }, + { url = "https://files.pythonhosted.org/packages/cb/0e/02ceeec9a7d6ee63bb596121c2c8e9b3a9e150936f4fbef6ca1943e6137c/cffi-2.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:256f80b80ca3853f90c21b23ee78cd008713787b1b1e93eae9f3d6a7134abd91", size = 177780, upload-time = "2025-09-08T23:23:16.761Z" }, + { url = "https://files.pythonhosted.org/packages/92/c4/3ce07396253a83250ee98564f8d7e9789fab8e58858f35d07a9a2c78de9f/cffi-2.0.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fc33c5141b55ed366cfaad382df24fe7dcbc686de5be719b207bb248e3053dc5", size = 185320, upload-time = "2025-09-08T23:23:18.087Z" }, + { url = "https://files.pythonhosted.org/packages/59/dd/27e9fa567a23931c838c6b02d0764611c62290062a6d4e8ff7863daf9730/cffi-2.0.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c654de545946e0db659b3400168c9ad31b5d29593291482c43e3564effbcee13", size = 181487, upload-time = "2025-09-08T23:23:19.622Z" }, + { url = "https://files.pythonhosted.org/packages/d6/43/0e822876f87ea8a4ef95442c3d766a06a51fc5298823f884ef87aaad168c/cffi-2.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:24b6f81f1983e6df8db3adc38562c83f7d4a0c36162885ec7f7b77c7dcbec97b", size = 220049, upload-time = "2025-09-08T23:23:20.853Z" }, + { url = "https://files.pythonhosted.org/packages/b4/89/76799151d9c2d2d1ead63c2429da9ea9d7aac304603de0c6e8764e6e8e70/cffi-2.0.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:12873ca6cb9b0f0d3a0da705d6086fe911591737a59f28b7936bdfed27c0d47c", size = 207793, upload-time = "2025-09-08T23:23:22.08Z" }, + { url = "https://files.pythonhosted.org/packages/bb/dd/3465b14bb9e24ee24cb88c9e3730f6de63111fffe513492bf8c808a3547e/cffi-2.0.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:d9b97165e8aed9272a6bb17c01e3cc5871a594a446ebedc996e2397a1c1ea8ef", size = 206300, upload-time = "2025-09-08T23:23:23.314Z" }, + { url = "https://files.pythonhosted.org/packages/47/d9/d83e293854571c877a92da46fdec39158f8d7e68da75bf73581225d28e90/cffi-2.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:afb8db5439b81cf9c9d0c80404b60c3cc9c3add93e114dcae767f1477cb53775", size = 219244, upload-time = "2025-09-08T23:23:24.541Z" }, + { url = "https://files.pythonhosted.org/packages/2b/0f/1f177e3683aead2bb00f7679a16451d302c436b5cbf2505f0ea8146ef59e/cffi-2.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:737fe7d37e1a1bffe70bd5754ea763a62a066dc5913ca57e957824b72a85e205", size = 222828, upload-time = "2025-09-08T23:23:26.143Z" }, + { url = "https://files.pythonhosted.org/packages/c6/0f/cafacebd4b040e3119dcb32fed8bdef8dfe94da653155f9d0b9dc660166e/cffi-2.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:38100abb9d1b1435bc4cc340bb4489635dc2f0da7456590877030c9b3d40b0c1", size = 220926, upload-time = "2025-09-08T23:23:27.873Z" }, + { url = "https://files.pythonhosted.org/packages/3e/aa/df335faa45b395396fcbc03de2dfcab242cd61a9900e914fe682a59170b1/cffi-2.0.0-cp314-cp314-win32.whl", hash = "sha256:087067fa8953339c723661eda6b54bc98c5625757ea62e95eb4898ad5e776e9f", size = 175328, upload-time = "2025-09-08T23:23:44.61Z" }, + { url = "https://files.pythonhosted.org/packages/bb/92/882c2d30831744296ce713f0feb4c1cd30f346ef747b530b5318715cc367/cffi-2.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:203a48d1fb583fc7d78a4c6655692963b860a417c0528492a6bc21f1aaefab25", size = 185650, upload-time = "2025-09-08T23:23:45.848Z" }, + { url = "https://files.pythonhosted.org/packages/9f/2c/98ece204b9d35a7366b5b2c6539c350313ca13932143e79dc133ba757104/cffi-2.0.0-cp314-cp314-win_arm64.whl", hash = "sha256:dbd5c7a25a7cb98f5ca55d258b103a2054f859a46ae11aaf23134f9cc0d356ad", size = 180687, upload-time = "2025-09-08T23:23:47.105Z" }, + { url = "https://files.pythonhosted.org/packages/3e/61/c768e4d548bfa607abcda77423448df8c471f25dbe64fb2ef6d555eae006/cffi-2.0.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:9a67fc9e8eb39039280526379fb3a70023d77caec1852002b4da7e8b270c4dd9", size = 188773, upload-time = "2025-09-08T23:23:29.347Z" }, + { url = "https://files.pythonhosted.org/packages/2c/ea/5f76bce7cf6fcd0ab1a1058b5af899bfbef198bea4d5686da88471ea0336/cffi-2.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7a66c7204d8869299919db4d5069a82f1561581af12b11b3c9f48c584eb8743d", size = 185013, upload-time = "2025-09-08T23:23:30.63Z" }, + { url = "https://files.pythonhosted.org/packages/be/b4/c56878d0d1755cf9caa54ba71e5d049479c52f9e4afc230f06822162ab2f/cffi-2.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7cc09976e8b56f8cebd752f7113ad07752461f48a58cbba644139015ac24954c", size = 221593, upload-time = "2025-09-08T23:23:31.91Z" }, + { url = "https://files.pythonhosted.org/packages/e0/0d/eb704606dfe8033e7128df5e90fee946bbcb64a04fcdaa97321309004000/cffi-2.0.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:92b68146a71df78564e4ef48af17551a5ddd142e5190cdf2c5624d0c3ff5b2e8", size = 209354, upload-time = "2025-09-08T23:23:33.214Z" }, + { url = "https://files.pythonhosted.org/packages/d8/19/3c435d727b368ca475fb8742ab97c9cb13a0de600ce86f62eab7fa3eea60/cffi-2.0.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:b1e74d11748e7e98e2f426ab176d4ed720a64412b6a15054378afdb71e0f37dc", size = 208480, upload-time = "2025-09-08T23:23:34.495Z" }, + { url = "https://files.pythonhosted.org/packages/d0/44/681604464ed9541673e486521497406fadcc15b5217c3e326b061696899a/cffi-2.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:28a3a209b96630bca57cce802da70c266eb08c6e97e5afd61a75611ee6c64592", size = 221584, upload-time = "2025-09-08T23:23:36.096Z" }, + { url = "https://files.pythonhosted.org/packages/25/8e/342a504ff018a2825d395d44d63a767dd8ebc927ebda557fecdaca3ac33a/cffi-2.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7553fb2090d71822f02c629afe6042c299edf91ba1bf94951165613553984512", size = 224443, upload-time = "2025-09-08T23:23:37.328Z" }, + { url = "https://files.pythonhosted.org/packages/e1/5e/b666bacbbc60fbf415ba9988324a132c9a7a0448a9a8f125074671c0f2c3/cffi-2.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6c6c373cfc5c83a975506110d17457138c8c63016b563cc9ed6e056a82f13ce4", size = 223437, upload-time = "2025-09-08T23:23:38.945Z" }, + { url = "https://files.pythonhosted.org/packages/a0/1d/ec1a60bd1a10daa292d3cd6bb0b359a81607154fb8165f3ec95fe003b85c/cffi-2.0.0-cp314-cp314t-win32.whl", hash = "sha256:1fc9ea04857caf665289b7a75923f2c6ed559b8298a1b8c49e59f7dd95c8481e", size = 180487, upload-time = "2025-09-08T23:23:40.423Z" }, + { url = "https://files.pythonhosted.org/packages/bf/41/4c1168c74fac325c0c8156f04b6749c8b6a8f405bbf91413ba088359f60d/cffi-2.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:d68b6cef7827e8641e8ef16f4494edda8b36104d79773a334beaa1e3521430f6", size = 191726, upload-time = "2025-09-08T23:23:41.742Z" }, + { url = "https://files.pythonhosted.org/packages/ae/3a/dbeec9d1ee0844c679f6bb5d6ad4e9f198b1224f4e7a32825f47f6192b0c/cffi-2.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:0a1527a803f0a659de1af2e1fd700213caba79377e27e4693648c2923da066f9", size = 184195, upload-time = "2025-09-08T23:23:43.004Z" }, + { url = "https://files.pythonhosted.org/packages/c0/cc/08ed5a43f2996a16b462f64a7055c6e962803534924b9b2f1371d8c00b7b/cffi-2.0.0-cp39-cp39-macosx_10_13_x86_64.whl", hash = "sha256:fe562eb1a64e67dd297ccc4f5addea2501664954f2692b69a76449ec7913ecbf", size = 184288, upload-time = "2025-09-08T23:23:48.404Z" }, + { url = "https://files.pythonhosted.org/packages/3d/de/38d9726324e127f727b4ecc376bc85e505bfe61ef130eaf3f290c6847dd4/cffi-2.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:de8dad4425a6ca6e4e5e297b27b5c824ecc7581910bf9aee86cb6835e6812aa7", size = 180509, upload-time = "2025-09-08T23:23:49.73Z" }, + { url = "https://files.pythonhosted.org/packages/9b/13/c92e36358fbcc39cf0962e83223c9522154ee8630e1df7c0b3a39a8124e2/cffi-2.0.0-cp39-cp39-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:4647afc2f90d1ddd33441e5b0e85b16b12ddec4fca55f0d9671fef036ecca27c", size = 208813, upload-time = "2025-09-08T23:23:51.263Z" }, + { url = "https://files.pythonhosted.org/packages/15/12/a7a79bd0df4c3bff744b2d7e52cc1b68d5e7e427b384252c42366dc1ecbc/cffi-2.0.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3f4d46d8b35698056ec29bca21546e1551a205058ae1a181d871e278b0b28165", size = 216498, upload-time = "2025-09-08T23:23:52.494Z" }, + { url = "https://files.pythonhosted.org/packages/a3/ad/5c51c1c7600bdd7ed9a24a203ec255dccdd0ebf4527f7b922a0bde2fb6ed/cffi-2.0.0-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:e6e73b9e02893c764e7e8d5bb5ce277f1a009cd5243f8228f75f842bf937c534", size = 203243, upload-time = "2025-09-08T23:23:53.836Z" }, + { url = "https://files.pythonhosted.org/packages/32/f2/81b63e288295928739d715d00952c8c6034cb6c6a516b17d37e0c8be5600/cffi-2.0.0-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:cb527a79772e5ef98fb1d700678fe031e353e765d1ca2d409c92263c6d43e09f", size = 203158, upload-time = "2025-09-08T23:23:55.169Z" }, + { url = "https://files.pythonhosted.org/packages/1f/74/cc4096ce66f5939042ae094e2e96f53426a979864aa1f96a621ad128be27/cffi-2.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:61d028e90346df14fedc3d1e5441df818d095f3b87d286825dfcbd6459b7ef63", size = 216548, upload-time = "2025-09-08T23:23:56.506Z" }, + { url = "https://files.pythonhosted.org/packages/e8/be/f6424d1dc46b1091ffcc8964fa7c0ab0cd36839dd2761b49c90481a6ba1b/cffi-2.0.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0f6084a0ea23d05d20c3edcda20c3d006f9b6f3fefeac38f59262e10cef47ee2", size = 218897, upload-time = "2025-09-08T23:23:57.825Z" }, + { url = "https://files.pythonhosted.org/packages/f7/e0/dda537c2309817edf60109e39265f24f24aa7f050767e22c98c53fe7f48b/cffi-2.0.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:1cd13c99ce269b3ed80b417dcd591415d3372bcac067009b6e0f59c7d4015e65", size = 211249, upload-time = "2025-09-08T23:23:59.139Z" }, + { url = "https://files.pythonhosted.org/packages/2b/e7/7c769804eb75e4c4b35e658dba01de1640a351a9653c3d49ca89d16ccc91/cffi-2.0.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:89472c9762729b5ae1ad974b777416bfda4ac5642423fa93bd57a09204712322", size = 218041, upload-time = "2025-09-08T23:24:00.496Z" }, + { url = "https://files.pythonhosted.org/packages/aa/d9/6218d78f920dcd7507fc16a766b5ef8f3b913cc7aa938e7fc80b9978d089/cffi-2.0.0-cp39-cp39-win32.whl", hash = "sha256:2081580ebb843f759b9f617314a24ed5738c51d2aee65d31e02f6f7a2b97707a", size = 172138, upload-time = "2025-09-08T23:24:01.7Z" }, + { url = "https://files.pythonhosted.org/packages/54/8f/a1e836f82d8e32a97e6b29cc8f641779181ac7363734f12df27db803ebda/cffi-2.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:b882b3df248017dba09d6b16defe9b5c407fe32fc7c65a9c69798e6175601be9", size = 182794, upload-time = "2025-09-08T23:24:02.943Z" }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz", hash = "sha256:94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a", size = 129418, upload-time = "2025-10-14T04:42:32.879Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1f/b8/6d51fc1d52cbd52cd4ccedd5b5b2f0f6a11bbf6765c782298b0f3e808541/charset_normalizer-3.4.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e824f1492727fa856dd6eda4f7cee25f8518a12f3c4a56a74e8095695089cf6d", size = 209709, upload-time = "2025-10-14T04:40:11.385Z" }, + { url = "https://files.pythonhosted.org/packages/5c/af/1f9d7f7faafe2ddfb6f72a2e07a548a629c61ad510fe60f9630309908fef/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4bd5d4137d500351a30687c2d3971758aac9a19208fc110ccb9d7188fbe709e8", size = 148814, upload-time = "2025-10-14T04:40:13.135Z" }, + { url = "https://files.pythonhosted.org/packages/79/3d/f2e3ac2bbc056ca0c204298ea4e3d9db9b4afe437812638759db2c976b5f/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:027f6de494925c0ab2a55eab46ae5129951638a49a34d87f4c3eda90f696b4ad", size = 144467, upload-time = "2025-10-14T04:40:14.728Z" }, + { url = "https://files.pythonhosted.org/packages/ec/85/1bf997003815e60d57de7bd972c57dc6950446a3e4ccac43bc3070721856/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f820802628d2694cb7e56db99213f930856014862f3fd943d290ea8438d07ca8", size = 162280, upload-time = "2025-10-14T04:40:16.14Z" }, + { url = "https://files.pythonhosted.org/packages/3e/8e/6aa1952f56b192f54921c436b87f2aaf7c7a7c3d0d1a765547d64fd83c13/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:798d75d81754988d2565bff1b97ba5a44411867c0cf32b77a7e8f8d84796b10d", size = 159454, upload-time = "2025-10-14T04:40:17.567Z" }, + { url = "https://files.pythonhosted.org/packages/36/3b/60cbd1f8e93aa25d1c669c649b7a655b0b5fb4c571858910ea9332678558/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d1bb833febdff5c8927f922386db610b49db6e0d4f4ee29601d71e7c2694313", size = 153609, upload-time = "2025-10-14T04:40:19.08Z" }, + { url = "https://files.pythonhosted.org/packages/64/91/6a13396948b8fd3c4b4fd5bc74d045f5637d78c9675585e8e9fbe5636554/charset_normalizer-3.4.4-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:9cd98cdc06614a2f768d2b7286d66805f94c48cde050acdbbb7db2600ab3197e", size = 151849, upload-time = "2025-10-14T04:40:20.607Z" }, + { url = "https://files.pythonhosted.org/packages/b7/7a/59482e28b9981d105691e968c544cc0df3b7d6133152fb3dcdc8f135da7a/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:077fbb858e903c73f6c9db43374fd213b0b6a778106bc7032446a8e8b5b38b93", size = 151586, upload-time = "2025-10-14T04:40:21.719Z" }, + { url = "https://files.pythonhosted.org/packages/92/59/f64ef6a1c4bdd2baf892b04cd78792ed8684fbc48d4c2afe467d96b4df57/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:244bfb999c71b35de57821b8ea746b24e863398194a4014e4c76adc2bbdfeff0", size = 145290, upload-time = "2025-10-14T04:40:23.069Z" }, + { url = "https://files.pythonhosted.org/packages/6b/63/3bf9f279ddfa641ffa1962b0db6a57a9c294361cc2f5fcac997049a00e9c/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:64b55f9dce520635f018f907ff1b0df1fdc31f2795a922fb49dd14fbcdf48c84", size = 163663, upload-time = "2025-10-14T04:40:24.17Z" }, + { url = "https://files.pythonhosted.org/packages/ed/09/c9e38fc8fa9e0849b172b581fd9803bdf6e694041127933934184e19f8c3/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:faa3a41b2b66b6e50f84ae4a68c64fcd0c44355741c6374813a800cd6695db9e", size = 151964, upload-time = "2025-10-14T04:40:25.368Z" }, + { url = "https://files.pythonhosted.org/packages/d2/d1/d28b747e512d0da79d8b6a1ac18b7ab2ecfd81b2944c4c710e166d8dd09c/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6515f3182dbe4ea06ced2d9e8666d97b46ef4c75e326b79bb624110f122551db", size = 161064, upload-time = "2025-10-14T04:40:26.806Z" }, + { url = "https://files.pythonhosted.org/packages/bb/9a/31d62b611d901c3b9e5500c36aab0ff5eb442043fb3a1c254200d3d397d9/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cc00f04ed596e9dc0da42ed17ac5e596c6ccba999ba6bd92b0e0aef2f170f2d6", size = 155015, upload-time = "2025-10-14T04:40:28.284Z" }, + { url = "https://files.pythonhosted.org/packages/1f/f3/107e008fa2bff0c8b9319584174418e5e5285fef32f79d8ee6a430d0039c/charset_normalizer-3.4.4-cp310-cp310-win32.whl", hash = "sha256:f34be2938726fc13801220747472850852fe6b1ea75869a048d6f896838c896f", size = 99792, upload-time = "2025-10-14T04:40:29.613Z" }, + { url = "https://files.pythonhosted.org/packages/eb/66/e396e8a408843337d7315bab30dbf106c38966f1819f123257f5520f8a96/charset_normalizer-3.4.4-cp310-cp310-win_amd64.whl", hash = "sha256:a61900df84c667873b292c3de315a786dd8dac506704dea57bc957bd31e22c7d", size = 107198, upload-time = "2025-10-14T04:40:30.644Z" }, + { url = "https://files.pythonhosted.org/packages/b5/58/01b4f815bf0312704c267f2ccb6e5d42bcc7752340cd487bc9f8c3710597/charset_normalizer-3.4.4-cp310-cp310-win_arm64.whl", hash = "sha256:cead0978fc57397645f12578bfd2d5ea9138ea0fac82b2f63f7f7c6877986a69", size = 100262, upload-time = "2025-10-14T04:40:32.108Z" }, + { url = "https://files.pythonhosted.org/packages/ed/27/c6491ff4954e58a10f69ad90aca8a1b6fe9c5d3c6f380907af3c37435b59/charset_normalizer-3.4.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6e1fcf0720908f200cd21aa4e6750a48ff6ce4afe7ff5a79a90d5ed8a08296f8", size = 206988, upload-time = "2025-10-14T04:40:33.79Z" }, + { url = "https://files.pythonhosted.org/packages/94/59/2e87300fe67ab820b5428580a53cad894272dbb97f38a7a814a2a1ac1011/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5f819d5fe9234f9f82d75bdfa9aef3a3d72c4d24a6e57aeaebba32a704553aa0", size = 147324, upload-time = "2025-10-14T04:40:34.961Z" }, + { url = "https://files.pythonhosted.org/packages/07/fb/0cf61dc84b2b088391830f6274cb57c82e4da8bbc2efeac8c025edb88772/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a59cb51917aa591b1c4e6a43c132f0cdc3c76dbad6155df4e28ee626cc77a0a3", size = 142742, upload-time = "2025-10-14T04:40:36.105Z" }, + { url = "https://files.pythonhosted.org/packages/62/8b/171935adf2312cd745d290ed93cf16cf0dfe320863ab7cbeeae1dcd6535f/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8ef3c867360f88ac904fd3f5e1f902f13307af9052646963ee08ff4f131adafc", size = 160863, upload-time = "2025-10-14T04:40:37.188Z" }, + { url = "https://files.pythonhosted.org/packages/09/73/ad875b192bda14f2173bfc1bc9a55e009808484a4b256748d931b6948442/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d9e45d7faa48ee908174d8fe84854479ef838fc6a705c9315372eacbc2f02897", size = 157837, upload-time = "2025-10-14T04:40:38.435Z" }, + { url = "https://files.pythonhosted.org/packages/6d/fc/de9cce525b2c5b94b47c70a4b4fb19f871b24995c728e957ee68ab1671ea/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:840c25fb618a231545cbab0564a799f101b63b9901f2569faecd6b222ac72381", size = 151550, upload-time = "2025-10-14T04:40:40.053Z" }, + { url = "https://files.pythonhosted.org/packages/55/c2/43edd615fdfba8c6f2dfbd459b25a6b3b551f24ea21981e23fb768503ce1/charset_normalizer-3.4.4-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ca5862d5b3928c4940729dacc329aa9102900382fea192fc5e52eb69d6093815", size = 149162, upload-time = "2025-10-14T04:40:41.163Z" }, + { url = "https://files.pythonhosted.org/packages/03/86/bde4ad8b4d0e9429a4e82c1e8f5c659993a9a863ad62c7df05cf7b678d75/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d9c7f57c3d666a53421049053eaacdd14bbd0a528e2186fcb2e672effd053bb0", size = 150019, upload-time = "2025-10-14T04:40:42.276Z" }, + { url = "https://files.pythonhosted.org/packages/1f/86/a151eb2af293a7e7bac3a739b81072585ce36ccfb4493039f49f1d3cae8c/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:277e970e750505ed74c832b4bf75dac7476262ee2a013f5574dd49075879e161", size = 143310, upload-time = "2025-10-14T04:40:43.439Z" }, + { url = "https://files.pythonhosted.org/packages/b5/fe/43dae6144a7e07b87478fdfc4dbe9efd5defb0e7ec29f5f58a55aeef7bf7/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:31fd66405eaf47bb62e8cd575dc621c56c668f27d46a61d975a249930dd5e2a4", size = 162022, upload-time = "2025-10-14T04:40:44.547Z" }, + { url = "https://files.pythonhosted.org/packages/80/e6/7aab83774f5d2bca81f42ac58d04caf44f0cc2b65fc6db2b3b2e8a05f3b3/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:0d3d8f15c07f86e9ff82319b3d9ef6f4bf907608f53fe9d92b28ea9ae3d1fd89", size = 149383, upload-time = "2025-10-14T04:40:46.018Z" }, + { url = "https://files.pythonhosted.org/packages/4f/e8/b289173b4edae05c0dde07f69f8db476a0b511eac556dfe0d6bda3c43384/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:9f7fcd74d410a36883701fafa2482a6af2ff5ba96b9a620e9e0721e28ead5569", size = 159098, upload-time = "2025-10-14T04:40:47.081Z" }, + { url = "https://files.pythonhosted.org/packages/d8/df/fe699727754cae3f8478493c7f45f777b17c3ef0600e28abfec8619eb49c/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ebf3e58c7ec8a8bed6d66a75d7fb37b55e5015b03ceae72a8e7c74495551e224", size = 152991, upload-time = "2025-10-14T04:40:48.246Z" }, + { url = "https://files.pythonhosted.org/packages/1a/86/584869fe4ddb6ffa3bd9f491b87a01568797fb9bd8933f557dba9771beaf/charset_normalizer-3.4.4-cp311-cp311-win32.whl", hash = "sha256:eecbc200c7fd5ddb9a7f16c7decb07b566c29fa2161a16cf67b8d068bd21690a", size = 99456, upload-time = "2025-10-14T04:40:49.376Z" }, + { url = "https://files.pythonhosted.org/packages/65/f6/62fdd5feb60530f50f7e38b4f6a1d5203f4d16ff4f9f0952962c044e919a/charset_normalizer-3.4.4-cp311-cp311-win_amd64.whl", hash = "sha256:5ae497466c7901d54b639cf42d5b8c1b6a4fead55215500d2f486d34db48d016", size = 106978, upload-time = "2025-10-14T04:40:50.844Z" }, + { url = "https://files.pythonhosted.org/packages/7a/9d/0710916e6c82948b3be62d9d398cb4fcf4e97b56d6a6aeccd66c4b2f2bd5/charset_normalizer-3.4.4-cp311-cp311-win_arm64.whl", hash = "sha256:65e2befcd84bc6f37095f5961e68a6f077bf44946771354a28ad434c2cce0ae1", size = 99969, upload-time = "2025-10-14T04:40:52.272Z" }, + { url = "https://files.pythonhosted.org/packages/f3/85/1637cd4af66fa687396e757dec650f28025f2a2f5a5531a3208dc0ec43f2/charset_normalizer-3.4.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0a98e6759f854bd25a58a73fa88833fba3b7c491169f86ce1180c948ab3fd394", size = 208425, upload-time = "2025-10-14T04:40:53.353Z" }, + { url = "https://files.pythonhosted.org/packages/9d/6a/04130023fef2a0d9c62d0bae2649b69f7b7d8d24ea5536feef50551029df/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b5b290ccc2a263e8d185130284f8501e3e36c5e02750fc6b6bdeb2e9e96f1e25", size = 148162, upload-time = "2025-10-14T04:40:54.558Z" }, + { url = "https://files.pythonhosted.org/packages/78/29/62328d79aa60da22c9e0b9a66539feae06ca0f5a4171ac4f7dc285b83688/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74bb723680f9f7a6234dcf67aea57e708ec1fbdf5699fb91dfd6f511b0a320ef", size = 144558, upload-time = "2025-10-14T04:40:55.677Z" }, + { url = "https://files.pythonhosted.org/packages/86/bb/b32194a4bf15b88403537c2e120b817c61cd4ecffa9b6876e941c3ee38fe/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f1e34719c6ed0b92f418c7c780480b26b5d9c50349e9a9af7d76bf757530350d", size = 161497, upload-time = "2025-10-14T04:40:57.217Z" }, + { url = "https://files.pythonhosted.org/packages/19/89/a54c82b253d5b9b111dc74aca196ba5ccfcca8242d0fb64146d4d3183ff1/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2437418e20515acec67d86e12bf70056a33abdacb5cb1655042f6538d6b085a8", size = 159240, upload-time = "2025-10-14T04:40:58.358Z" }, + { url = "https://files.pythonhosted.org/packages/c0/10/d20b513afe03acc89ec33948320a5544d31f21b05368436d580dec4e234d/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:11d694519d7f29d6cd09f6ac70028dba10f92f6cdd059096db198c283794ac86", size = 153471, upload-time = "2025-10-14T04:40:59.468Z" }, + { url = "https://files.pythonhosted.org/packages/61/fa/fbf177b55bdd727010f9c0a3c49eefa1d10f960e5f09d1d887bf93c2e698/charset_normalizer-3.4.4-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ac1c4a689edcc530fc9d9aa11f5774b9e2f33f9a0c6a57864e90908f5208d30a", size = 150864, upload-time = "2025-10-14T04:41:00.623Z" }, + { url = "https://files.pythonhosted.org/packages/05/12/9fbc6a4d39c0198adeebbde20b619790e9236557ca59fc40e0e3cebe6f40/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:21d142cc6c0ec30d2efee5068ca36c128a30b0f2c53c1c07bd78cb6bc1d3be5f", size = 150647, upload-time = "2025-10-14T04:41:01.754Z" }, + { url = "https://files.pythonhosted.org/packages/ad/1f/6a9a593d52e3e8c5d2b167daf8c6b968808efb57ef4c210acb907c365bc4/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:5dbe56a36425d26d6cfb40ce79c314a2e4dd6211d51d6d2191c00bed34f354cc", size = 145110, upload-time = "2025-10-14T04:41:03.231Z" }, + { url = "https://files.pythonhosted.org/packages/30/42/9a52c609e72471b0fc54386dc63c3781a387bb4fe61c20231a4ebcd58bdd/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5bfbb1b9acf3334612667b61bd3002196fe2a1eb4dd74d247e0f2a4d50ec9bbf", size = 162839, upload-time = "2025-10-14T04:41:04.715Z" }, + { url = "https://files.pythonhosted.org/packages/c4/5b/c0682bbf9f11597073052628ddd38344a3d673fda35a36773f7d19344b23/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:d055ec1e26e441f6187acf818b73564e6e6282709e9bcb5b63f5b23068356a15", size = 150667, upload-time = "2025-10-14T04:41:05.827Z" }, + { url = "https://files.pythonhosted.org/packages/e4/24/a41afeab6f990cf2daf6cb8c67419b63b48cf518e4f56022230840c9bfb2/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:af2d8c67d8e573d6de5bc30cdb27e9b95e49115cd9baad5ddbd1a6207aaa82a9", size = 160535, upload-time = "2025-10-14T04:41:06.938Z" }, + { url = "https://files.pythonhosted.org/packages/2a/e5/6a4ce77ed243c4a50a1fecca6aaaab419628c818a49434be428fe24c9957/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:780236ac706e66881f3b7f2f32dfe90507a09e67d1d454c762cf642e6e1586e0", size = 154816, upload-time = "2025-10-14T04:41:08.101Z" }, + { url = "https://files.pythonhosted.org/packages/a8/ef/89297262b8092b312d29cdb2517cb1237e51db8ecef2e9af5edbe7b683b1/charset_normalizer-3.4.4-cp312-cp312-win32.whl", hash = "sha256:5833d2c39d8896e4e19b689ffc198f08ea58116bee26dea51e362ecc7cd3ed26", size = 99694, upload-time = "2025-10-14T04:41:09.23Z" }, + { url = "https://files.pythonhosted.org/packages/3d/2d/1e5ed9dd3b3803994c155cd9aacb60c82c331bad84daf75bcb9c91b3295e/charset_normalizer-3.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:a79cfe37875f822425b89a82333404539ae63dbdddf97f84dcbc3d339aae9525", size = 107131, upload-time = "2025-10-14T04:41:10.467Z" }, + { url = "https://files.pythonhosted.org/packages/d0/d9/0ed4c7098a861482a7b6a95603edce4c0d9db2311af23da1fb2b75ec26fc/charset_normalizer-3.4.4-cp312-cp312-win_arm64.whl", hash = "sha256:376bec83a63b8021bb5c8ea75e21c4ccb86e7e45ca4eb81146091b56599b80c3", size = 100390, upload-time = "2025-10-14T04:41:11.915Z" }, + { url = "https://files.pythonhosted.org/packages/97/45/4b3a1239bbacd321068ea6e7ac28875b03ab8bc0aa0966452db17cd36714/charset_normalizer-3.4.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e1f185f86a6f3403aa2420e815904c67b2f9ebc443f045edd0de921108345794", size = 208091, upload-time = "2025-10-14T04:41:13.346Z" }, + { url = "https://files.pythonhosted.org/packages/7d/62/73a6d7450829655a35bb88a88fca7d736f9882a27eacdca2c6d505b57e2e/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b39f987ae8ccdf0d2642338faf2abb1862340facc796048b604ef14919e55ed", size = 147936, upload-time = "2025-10-14T04:41:14.461Z" }, + { url = "https://files.pythonhosted.org/packages/89/c5/adb8c8b3d6625bef6d88b251bbb0d95f8205831b987631ab0c8bb5d937c2/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3162d5d8ce1bb98dd51af660f2121c55d0fa541b46dff7bb9b9f86ea1d87de72", size = 144180, upload-time = "2025-10-14T04:41:15.588Z" }, + { url = "https://files.pythonhosted.org/packages/91/ed/9706e4070682d1cc219050b6048bfd293ccf67b3d4f5a4f39207453d4b99/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:81d5eb2a312700f4ecaa977a8235b634ce853200e828fbadf3a9c50bab278328", size = 161346, upload-time = "2025-10-14T04:41:16.738Z" }, + { url = "https://files.pythonhosted.org/packages/d5/0d/031f0d95e4972901a2f6f09ef055751805ff541511dc1252ba3ca1f80cf5/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5bd2293095d766545ec1a8f612559f6b40abc0eb18bb2f5d1171872d34036ede", size = 158874, upload-time = "2025-10-14T04:41:17.923Z" }, + { url = "https://files.pythonhosted.org/packages/f5/83/6ab5883f57c9c801ce5e5677242328aa45592be8a00644310a008d04f922/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a8a8b89589086a25749f471e6a900d3f662d1d3b6e2e59dcecf787b1cc3a1894", size = 153076, upload-time = "2025-10-14T04:41:19.106Z" }, + { url = "https://files.pythonhosted.org/packages/75/1e/5ff781ddf5260e387d6419959ee89ef13878229732732ee73cdae01800f2/charset_normalizer-3.4.4-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc7637e2f80d8530ee4a78e878bce464f70087ce73cf7c1caf142416923b98f1", size = 150601, upload-time = "2025-10-14T04:41:20.245Z" }, + { url = "https://files.pythonhosted.org/packages/d7/57/71be810965493d3510a6ca79b90c19e48696fb1ff964da319334b12677f0/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f8bf04158c6b607d747e93949aa60618b61312fe647a6369f88ce2ff16043490", size = 150376, upload-time = "2025-10-14T04:41:21.398Z" }, + { url = "https://files.pythonhosted.org/packages/e5/d5/c3d057a78c181d007014feb7e9f2e65905a6c4ef182c0ddf0de2924edd65/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:554af85e960429cf30784dd47447d5125aaa3b99a6f0683589dbd27e2f45da44", size = 144825, upload-time = "2025-10-14T04:41:22.583Z" }, + { url = "https://files.pythonhosted.org/packages/e6/8c/d0406294828d4976f275ffbe66f00266c4b3136b7506941d87c00cab5272/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:74018750915ee7ad843a774364e13a3db91682f26142baddf775342c3f5b1133", size = 162583, upload-time = "2025-10-14T04:41:23.754Z" }, + { url = "https://files.pythonhosted.org/packages/d7/24/e2aa1f18c8f15c4c0e932d9287b8609dd30ad56dbe41d926bd846e22fb8d/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:c0463276121fdee9c49b98908b3a89c39be45d86d1dbaa22957e38f6321d4ce3", size = 150366, upload-time = "2025-10-14T04:41:25.27Z" }, + { url = "https://files.pythonhosted.org/packages/e4/5b/1e6160c7739aad1e2df054300cc618b06bf784a7a164b0f238360721ab86/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:362d61fd13843997c1c446760ef36f240cf81d3ebf74ac62652aebaf7838561e", size = 160300, upload-time = "2025-10-14T04:41:26.725Z" }, + { url = "https://files.pythonhosted.org/packages/7a/10/f882167cd207fbdd743e55534d5d9620e095089d176d55cb22d5322f2afd/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9a26f18905b8dd5d685d6d07b0cdf98a79f3c7a918906af7cc143ea2e164c8bc", size = 154465, upload-time = "2025-10-14T04:41:28.322Z" }, + { url = "https://files.pythonhosted.org/packages/89/66/c7a9e1b7429be72123441bfdbaf2bc13faab3f90b933f664db506dea5915/charset_normalizer-3.4.4-cp313-cp313-win32.whl", hash = "sha256:9b35f4c90079ff2e2edc5b26c0c77925e5d2d255c42c74fdb70fb49b172726ac", size = 99404, upload-time = "2025-10-14T04:41:29.95Z" }, + { url = "https://files.pythonhosted.org/packages/c4/26/b9924fa27db384bdcd97ab83b4f0a8058d96ad9626ead570674d5e737d90/charset_normalizer-3.4.4-cp313-cp313-win_amd64.whl", hash = "sha256:b435cba5f4f750aa6c0a0d92c541fb79f69a387c91e61f1795227e4ed9cece14", size = 107092, upload-time = "2025-10-14T04:41:31.188Z" }, + { url = "https://files.pythonhosted.org/packages/af/8f/3ed4bfa0c0c72a7ca17f0380cd9e4dd842b09f664e780c13cff1dcf2ef1b/charset_normalizer-3.4.4-cp313-cp313-win_arm64.whl", hash = "sha256:542d2cee80be6f80247095cc36c418f7bddd14f4a6de45af91dfad36d817bba2", size = 100408, upload-time = "2025-10-14T04:41:32.624Z" }, + { url = "https://files.pythonhosted.org/packages/2a/35/7051599bd493e62411d6ede36fd5af83a38f37c4767b92884df7301db25d/charset_normalizer-3.4.4-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:da3326d9e65ef63a817ecbcc0df6e94463713b754fe293eaa03da99befb9a5bd", size = 207746, upload-time = "2025-10-14T04:41:33.773Z" }, + { url = "https://files.pythonhosted.org/packages/10/9a/97c8d48ef10d6cd4fcead2415523221624bf58bcf68a802721a6bc807c8f/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8af65f14dc14a79b924524b1e7fffe304517b2bff5a58bf64f30b98bbc5079eb", size = 147889, upload-time = "2025-10-14T04:41:34.897Z" }, + { url = "https://files.pythonhosted.org/packages/10/bf/979224a919a1b606c82bd2c5fa49b5c6d5727aa47b4312bb27b1734f53cd/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74664978bb272435107de04e36db5a9735e78232b85b77d45cfb38f758efd33e", size = 143641, upload-time = "2025-10-14T04:41:36.116Z" }, + { url = "https://files.pythonhosted.org/packages/ba/33/0ad65587441fc730dc7bd90e9716b30b4702dc7b617e6ba4997dc8651495/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:752944c7ffbfdd10c074dc58ec2d5a8a4cd9493b314d367c14d24c17684ddd14", size = 160779, upload-time = "2025-10-14T04:41:37.229Z" }, + { url = "https://files.pythonhosted.org/packages/67/ed/331d6b249259ee71ddea93f6f2f0a56cfebd46938bde6fcc6f7b9a3d0e09/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d1f13550535ad8cff21b8d757a3257963e951d96e20ec82ab44bc64aeb62a191", size = 159035, upload-time = "2025-10-14T04:41:38.368Z" }, + { url = "https://files.pythonhosted.org/packages/67/ff/f6b948ca32e4f2a4576aa129d8bed61f2e0543bf9f5f2b7fc3758ed005c9/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ecaae4149d99b1c9e7b88bb03e3221956f68fd6d50be2ef061b2381b61d20838", size = 152542, upload-time = "2025-10-14T04:41:39.862Z" }, + { url = "https://files.pythonhosted.org/packages/16/85/276033dcbcc369eb176594de22728541a925b2632f9716428c851b149e83/charset_normalizer-3.4.4-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:cb6254dc36b47a990e59e1068afacdcd02958bdcce30bb50cc1700a8b9d624a6", size = 149524, upload-time = "2025-10-14T04:41:41.319Z" }, + { url = "https://files.pythonhosted.org/packages/9e/f2/6a2a1f722b6aba37050e626530a46a68f74e63683947a8acff92569f979a/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c8ae8a0f02f57a6e61203a31428fa1d677cbe50c93622b4149d5c0f319c1d19e", size = 150395, upload-time = "2025-10-14T04:41:42.539Z" }, + { url = "https://files.pythonhosted.org/packages/60/bb/2186cb2f2bbaea6338cad15ce23a67f9b0672929744381e28b0592676824/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:47cc91b2f4dd2833fddaedd2893006b0106129d4b94fdb6af1f4ce5a9965577c", size = 143680, upload-time = "2025-10-14T04:41:43.661Z" }, + { url = "https://files.pythonhosted.org/packages/7d/a5/bf6f13b772fbb2a90360eb620d52ed8f796f3c5caee8398c3b2eb7b1c60d/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:82004af6c302b5d3ab2cfc4cc5f29db16123b1a8417f2e25f9066f91d4411090", size = 162045, upload-time = "2025-10-14T04:41:44.821Z" }, + { url = "https://files.pythonhosted.org/packages/df/c5/d1be898bf0dc3ef9030c3825e5d3b83f2c528d207d246cbabe245966808d/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:2b7d8f6c26245217bd2ad053761201e9f9680f8ce52f0fcd8d0755aeae5b2152", size = 149687, upload-time = "2025-10-14T04:41:46.442Z" }, + { url = "https://files.pythonhosted.org/packages/a5/42/90c1f7b9341eef50c8a1cb3f098ac43b0508413f33affd762855f67a410e/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:799a7a5e4fb2d5898c60b640fd4981d6a25f1c11790935a44ce38c54e985f828", size = 160014, upload-time = "2025-10-14T04:41:47.631Z" }, + { url = "https://files.pythonhosted.org/packages/76/be/4d3ee471e8145d12795ab655ece37baed0929462a86e72372fd25859047c/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:99ae2cffebb06e6c22bdc25801d7b30f503cc87dbd283479e7b606f70aff57ec", size = 154044, upload-time = "2025-10-14T04:41:48.81Z" }, + { url = "https://files.pythonhosted.org/packages/b0/6f/8f7af07237c34a1defe7defc565a9bc1807762f672c0fde711a4b22bf9c0/charset_normalizer-3.4.4-cp314-cp314-win32.whl", hash = "sha256:f9d332f8c2a2fcbffe1378594431458ddbef721c1769d78e2cbc06280d8155f9", size = 99940, upload-time = "2025-10-14T04:41:49.946Z" }, + { url = "https://files.pythonhosted.org/packages/4b/51/8ade005e5ca5b0d80fb4aff72a3775b325bdc3d27408c8113811a7cbe640/charset_normalizer-3.4.4-cp314-cp314-win_amd64.whl", hash = "sha256:8a6562c3700cce886c5be75ade4a5db4214fda19fede41d9792d100288d8f94c", size = 107104, upload-time = "2025-10-14T04:41:51.051Z" }, + { url = "https://files.pythonhosted.org/packages/da/5f/6b8f83a55bb8278772c5ae54a577f3099025f9ade59d0136ac24a0df4bde/charset_normalizer-3.4.4-cp314-cp314-win_arm64.whl", hash = "sha256:de00632ca48df9daf77a2c65a484531649261ec9f25489917f09e455cb09ddb2", size = 100743, upload-time = "2025-10-14T04:41:52.122Z" }, + { url = "https://files.pythonhosted.org/packages/46/7c/0c4760bccf082737ca7ab84a4c2034fcc06b1f21cf3032ea98bd6feb1725/charset_normalizer-3.4.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a9768c477b9d7bd54bc0c86dbaebdec6f03306675526c9927c0e8a04e8f94af9", size = 209609, upload-time = "2025-10-14T04:42:10.922Z" }, + { url = "https://files.pythonhosted.org/packages/bb/a4/69719daef2f3d7f1819de60c9a6be981b8eeead7542d5ec4440f3c80e111/charset_normalizer-3.4.4-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1bee1e43c28aa63cb16e5c14e582580546b08e535299b8b6158a7c9c768a1f3d", size = 149029, upload-time = "2025-10-14T04:42:12.38Z" }, + { url = "https://files.pythonhosted.org/packages/e6/21/8d4e1d6c1e6070d3672908b8e4533a71b5b53e71d16828cc24d0efec564c/charset_normalizer-3.4.4-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:fd44c878ea55ba351104cb93cc85e74916eb8fa440ca7903e57575e97394f608", size = 144580, upload-time = "2025-10-14T04:42:13.549Z" }, + { url = "https://files.pythonhosted.org/packages/a7/0a/a616d001b3f25647a9068e0b9199f697ce507ec898cacb06a0d5a1617c99/charset_normalizer-3.4.4-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0f04b14ffe5fdc8c4933862d8306109a2c51e0704acfa35d51598eb45a1e89fc", size = 162340, upload-time = "2025-10-14T04:42:14.892Z" }, + { url = "https://files.pythonhosted.org/packages/85/93/060b52deb249a5450460e0585c88a904a83aec474ab8e7aba787f45e79f2/charset_normalizer-3.4.4-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:cd09d08005f958f370f539f186d10aec3377d55b9eeb0d796025d4886119d76e", size = 159619, upload-time = "2025-10-14T04:42:16.676Z" }, + { url = "https://files.pythonhosted.org/packages/dd/21/0274deb1cc0632cd587a9a0ec6b4674d9108e461cb4cd40d457adaeb0564/charset_normalizer-3.4.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4fe7859a4e3e8457458e2ff592f15ccb02f3da787fcd31e0183879c3ad4692a1", size = 153980, upload-time = "2025-10-14T04:42:17.917Z" }, + { url = "https://files.pythonhosted.org/packages/28/2b/e3d7d982858dccc11b31906976323d790dded2017a0572f093ff982d692f/charset_normalizer-3.4.4-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fa09f53c465e532f4d3db095e0c55b615f010ad81803d383195b6b5ca6cbf5f3", size = 152174, upload-time = "2025-10-14T04:42:19.018Z" }, + { url = "https://files.pythonhosted.org/packages/6e/ff/4a269f8e35f1e58b2df52c131a1fa019acb7ef3f8697b7d464b07e9b492d/charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7fa17817dc5625de8a027cb8b26d9fefa3ea28c8253929b8d6649e705d2835b6", size = 151666, upload-time = "2025-10-14T04:42:20.171Z" }, + { url = "https://files.pythonhosted.org/packages/da/c9/ec39870f0b330d58486001dd8e532c6b9a905f5765f58a6f8204926b4a93/charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:5947809c8a2417be3267efc979c47d76a079758166f7d43ef5ae8e9f92751f88", size = 145550, upload-time = "2025-10-14T04:42:21.324Z" }, + { url = "https://files.pythonhosted.org/packages/75/8f/d186ab99e40e0ed9f82f033d6e49001701c81244d01905dd4a6924191a30/charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:4902828217069c3c5c71094537a8e623f5d097858ac6ca8252f7b4d10b7560f1", size = 163721, upload-time = "2025-10-14T04:42:22.46Z" }, + { url = "https://files.pythonhosted.org/packages/96/b1/6047663b9744df26a7e479ac1e77af7134b1fcf9026243bb48ee2d18810f/charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:7c308f7e26e4363d79df40ca5b2be1c6ba9f02bdbccfed5abddb7859a6ce72cf", size = 152127, upload-time = "2025-10-14T04:42:23.712Z" }, + { url = "https://files.pythonhosted.org/packages/59/78/e5a6eac9179f24f704d1be67d08704c3c6ab9f00963963524be27c18ed87/charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:2c9d3c380143a1fedbff95a312aa798578371eb29da42106a29019368a475318", size = 161175, upload-time = "2025-10-14T04:42:24.87Z" }, + { url = "https://files.pythonhosted.org/packages/e5/43/0e626e42d54dd2f8dd6fc5e1c5ff00f05fbca17cb699bedead2cae69c62f/charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:cb01158d8b88ee68f15949894ccc6712278243d95f344770fa7593fa2d94410c", size = 155375, upload-time = "2025-10-14T04:42:27.246Z" }, + { url = "https://files.pythonhosted.org/packages/e9/91/d9615bf2e06f35e4997616ff31248c3657ed649c5ab9d35ea12fce54e380/charset_normalizer-3.4.4-cp39-cp39-win32.whl", hash = "sha256:2677acec1a2f8ef614c6888b5b4ae4060cc184174a938ed4e8ef690e15d3e505", size = 99692, upload-time = "2025-10-14T04:42:28.425Z" }, + { url = "https://files.pythonhosted.org/packages/d1/a9/6c040053909d9d1ef4fcab45fddec083aedc9052c10078339b47c8573ea8/charset_normalizer-3.4.4-cp39-cp39-win_amd64.whl", hash = "sha256:f8e160feb2aed042cd657a72acc0b481212ed28b1b9a95c0cee1621b524e1966", size = 107192, upload-time = "2025-10-14T04:42:29.482Z" }, + { url = "https://files.pythonhosted.org/packages/f0/c6/4fa536b2c0cd3edfb7ccf8469fa0f363ea67b7213a842b90909ca33dd851/charset_normalizer-3.4.4-cp39-cp39-win_arm64.whl", hash = "sha256:b5d84d37db046c5ca74ee7bb47dd6cbc13f80665fdde3e8040bdd3fb015ecb50", size = 100220, upload-time = "2025-10-14T04:42:30.632Z" }, + { url = "https://files.pythonhosted.org/packages/0a/4c/925909008ed5a988ccbb72dcc897407e5d6d3bd72410d69e051fc0c14647/charset_normalizer-3.4.4-py3-none-any.whl", hash = "sha256:7a32c560861a02ff789ad905a2fe94e3f840803362c84fecf1851cb4cf3dc37f", size = 53402, upload-time = "2025-10-14T04:42:31.76Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "cryptography" +version = "46.0.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi", marker = "platform_python_implementation != 'PyPy'" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9f/33/c00162f49c0e2fe8064a62cb92b93e50c74a72bc370ab92f86112b33ff62/cryptography-46.0.3.tar.gz", hash = "sha256:a8b17438104fed022ce745b362294d9ce35b4c2e45c1d958ad4a4b019285f4a1", size = 749258, upload-time = "2025-10-15T23:18:31.74Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1d/42/9c391dd801d6cf0d561b5890549d4b27bafcc53b39c31a817e69d87c625b/cryptography-46.0.3-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:109d4ddfadf17e8e7779c39f9b18111a09efb969a301a31e987416a0191ed93a", size = 7225004, upload-time = "2025-10-15T23:16:52.239Z" }, + { url = "https://files.pythonhosted.org/packages/1c/67/38769ca6b65f07461eb200e85fc1639b438bdc667be02cf7f2cd6a64601c/cryptography-46.0.3-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:09859af8466b69bc3c27bdf4f5d84a665e0f7ab5088412e9e2ec49758eca5cbc", size = 4296667, upload-time = "2025-10-15T23:16:54.369Z" }, + { url = "https://files.pythonhosted.org/packages/5c/49/498c86566a1d80e978b42f0d702795f69887005548c041636df6ae1ca64c/cryptography-46.0.3-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:01ca9ff2885f3acc98c29f1860552e37f6d7c7d013d7334ff2a9de43a449315d", size = 4450807, upload-time = "2025-10-15T23:16:56.414Z" }, + { url = "https://files.pythonhosted.org/packages/4b/0a/863a3604112174c8624a2ac3c038662d9e59970c7f926acdcfaed8d61142/cryptography-46.0.3-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:6eae65d4c3d33da080cff9c4ab1f711b15c1d9760809dad6ea763f3812d254cb", size = 4299615, upload-time = "2025-10-15T23:16:58.442Z" }, + { url = "https://files.pythonhosted.org/packages/64/02/b73a533f6b64a69f3cd3872acb6ebc12aef924d8d103133bb3ea750dc703/cryptography-46.0.3-cp311-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e5bf0ed4490068a2e72ac03d786693adeb909981cc596425d09032d372bcc849", size = 4016800, upload-time = "2025-10-15T23:17:00.378Z" }, + { url = "https://files.pythonhosted.org/packages/25/d5/16e41afbfa450cde85a3b7ec599bebefaef16b5c6ba4ec49a3532336ed72/cryptography-46.0.3-cp311-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:5ecfccd2329e37e9b7112a888e76d9feca2347f12f37918facbb893d7bb88ee8", size = 4984707, upload-time = "2025-10-15T23:17:01.98Z" }, + { url = "https://files.pythonhosted.org/packages/c9/56/e7e69b427c3878352c2fb9b450bd0e19ed552753491d39d7d0a2f5226d41/cryptography-46.0.3-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:a2c0cd47381a3229c403062f764160d57d4d175e022c1df84e168c6251a22eec", size = 4482541, upload-time = "2025-10-15T23:17:04.078Z" }, + { url = "https://files.pythonhosted.org/packages/78/f6/50736d40d97e8483172f1bb6e698895b92a223dba513b0ca6f06b2365339/cryptography-46.0.3-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:549e234ff32571b1f4076ac269fcce7a808d3bf98b76c8dd560e42dbc66d7d91", size = 4299464, upload-time = "2025-10-15T23:17:05.483Z" }, + { url = "https://files.pythonhosted.org/packages/00/de/d8e26b1a855f19d9994a19c702fa2e93b0456beccbcfe437eda00e0701f2/cryptography-46.0.3-cp311-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:c0a7bb1a68a5d3471880e264621346c48665b3bf1c3759d682fc0864c540bd9e", size = 4950838, upload-time = "2025-10-15T23:17:07.425Z" }, + { url = "https://files.pythonhosted.org/packages/8f/29/798fc4ec461a1c9e9f735f2fc58741b0daae30688f41b2497dcbc9ed1355/cryptography-46.0.3-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:10b01676fc208c3e6feeb25a8b83d81767e8059e1fe86e1dc62d10a3018fa926", size = 4481596, upload-time = "2025-10-15T23:17:09.343Z" }, + { url = "https://files.pythonhosted.org/packages/15/8d/03cd48b20a573adfff7652b76271078e3045b9f49387920e7f1f631d125e/cryptography-46.0.3-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:0abf1ffd6e57c67e92af68330d05760b7b7efb243aab8377e583284dbab72c71", size = 4426782, upload-time = "2025-10-15T23:17:11.22Z" }, + { url = "https://files.pythonhosted.org/packages/fa/b1/ebacbfe53317d55cf33165bda24c86523497a6881f339f9aae5c2e13e57b/cryptography-46.0.3-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a04bee9ab6a4da801eb9b51f1b708a1b5b5c9eb48c03f74198464c66f0d344ac", size = 4698381, upload-time = "2025-10-15T23:17:12.829Z" }, + { url = "https://files.pythonhosted.org/packages/96/92/8a6a9525893325fc057a01f654d7efc2c64b9de90413adcf605a85744ff4/cryptography-46.0.3-cp311-abi3-win32.whl", hash = "sha256:f260d0d41e9b4da1ed1e0f1ce571f97fe370b152ab18778e9e8f67d6af432018", size = 3055988, upload-time = "2025-10-15T23:17:14.65Z" }, + { url = "https://files.pythonhosted.org/packages/7e/bf/80fbf45253ea585a1e492a6a17efcb93467701fa79e71550a430c5e60df0/cryptography-46.0.3-cp311-abi3-win_amd64.whl", hash = "sha256:a9a3008438615669153eb86b26b61e09993921ebdd75385ddd748702c5adfddb", size = 3514451, upload-time = "2025-10-15T23:17:16.142Z" }, + { url = "https://files.pythonhosted.org/packages/2e/af/9b302da4c87b0beb9db4e756386a7c6c5b8003cd0e742277888d352ae91d/cryptography-46.0.3-cp311-abi3-win_arm64.whl", hash = "sha256:5d7f93296ee28f68447397bf5198428c9aeeab45705a55d53a6343455dcb2c3c", size = 2928007, upload-time = "2025-10-15T23:17:18.04Z" }, + { url = "https://files.pythonhosted.org/packages/f5/e2/a510aa736755bffa9d2f75029c229111a1d02f8ecd5de03078f4c18d91a3/cryptography-46.0.3-cp314-cp314t-macosx_10_9_universal2.whl", hash = "sha256:00a5e7e87938e5ff9ff5447ab086a5706a957137e6e433841e9d24f38a065217", size = 7158012, upload-time = "2025-10-15T23:17:19.982Z" }, + { url = "https://files.pythonhosted.org/packages/73/dc/9aa866fbdbb95b02e7f9d086f1fccfeebf8953509b87e3f28fff927ff8a0/cryptography-46.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:c8daeb2d2174beb4575b77482320303f3d39b8e81153da4f0fb08eb5fe86a6c5", size = 4288728, upload-time = "2025-10-15T23:17:21.527Z" }, + { url = "https://files.pythonhosted.org/packages/c5/fd/bc1daf8230eaa075184cbbf5f8cd00ba9db4fd32d63fb83da4671b72ed8a/cryptography-46.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:39b6755623145ad5eff1dab323f4eae2a32a77a7abef2c5089a04a3d04366715", size = 4435078, upload-time = "2025-10-15T23:17:23.042Z" }, + { url = "https://files.pythonhosted.org/packages/82/98/d3bd5407ce4c60017f8ff9e63ffee4200ab3e23fe05b765cab805a7db008/cryptography-46.0.3-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:db391fa7c66df6762ee3f00c95a89e6d428f4d60e7abc8328f4fe155b5ac6e54", size = 4293460, upload-time = "2025-10-15T23:17:24.885Z" }, + { url = "https://files.pythonhosted.org/packages/26/e9/e23e7900983c2b8af7a08098db406cf989d7f09caea7897e347598d4cd5b/cryptography-46.0.3-cp314-cp314t-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:78a97cf6a8839a48c49271cdcbd5cf37ca2c1d6b7fdd86cc864f302b5e9bf459", size = 3995237, upload-time = "2025-10-15T23:17:26.449Z" }, + { url = "https://files.pythonhosted.org/packages/91/15/af68c509d4a138cfe299d0d7ddb14afba15233223ebd933b4bbdbc7155d3/cryptography-46.0.3-cp314-cp314t-manylinux_2_28_ppc64le.whl", hash = "sha256:dfb781ff7eaa91a6f7fd41776ec37c5853c795d3b358d4896fdbb5df168af422", size = 4967344, upload-time = "2025-10-15T23:17:28.06Z" }, + { url = "https://files.pythonhosted.org/packages/ca/e3/8643d077c53868b681af077edf6b3cb58288b5423610f21c62aadcbe99f4/cryptography-46.0.3-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:6f61efb26e76c45c4a227835ddeae96d83624fb0d29eb5df5b96e14ed1a0afb7", size = 4466564, upload-time = "2025-10-15T23:17:29.665Z" }, + { url = "https://files.pythonhosted.org/packages/0e/43/c1e8726fa59c236ff477ff2b5dc071e54b21e5a1e51aa2cee1676f1c986f/cryptography-46.0.3-cp314-cp314t-manylinux_2_34_aarch64.whl", hash = "sha256:23b1a8f26e43f47ceb6d6a43115f33a5a37d57df4ea0ca295b780ae8546e8044", size = 4292415, upload-time = "2025-10-15T23:17:31.686Z" }, + { url = "https://files.pythonhosted.org/packages/42/f9/2f8fefdb1aee8a8e3256a0568cffc4e6d517b256a2fe97a029b3f1b9fe7e/cryptography-46.0.3-cp314-cp314t-manylinux_2_34_ppc64le.whl", hash = "sha256:b419ae593c86b87014b9be7396b385491ad7f320bde96826d0dd174459e54665", size = 4931457, upload-time = "2025-10-15T23:17:33.478Z" }, + { url = "https://files.pythonhosted.org/packages/79/30/9b54127a9a778ccd6d27c3da7563e9f2d341826075ceab89ae3b41bf5be2/cryptography-46.0.3-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:50fc3343ac490c6b08c0cf0d704e881d0d660be923fd3076db3e932007e726e3", size = 4466074, upload-time = "2025-10-15T23:17:35.158Z" }, + { url = "https://files.pythonhosted.org/packages/ac/68/b4f4a10928e26c941b1b6a179143af9f4d27d88fe84a6a3c53592d2e76bf/cryptography-46.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:22d7e97932f511d6b0b04f2bfd818d73dcd5928db509460aaf48384778eb6d20", size = 4420569, upload-time = "2025-10-15T23:17:37.188Z" }, + { url = "https://files.pythonhosted.org/packages/a3/49/3746dab4c0d1979888f125226357d3262a6dd40e114ac29e3d2abdf1ec55/cryptography-46.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:d55f3dffadd674514ad19451161118fd010988540cee43d8bc20675e775925de", size = 4681941, upload-time = "2025-10-15T23:17:39.236Z" }, + { url = "https://files.pythonhosted.org/packages/fd/30/27654c1dbaf7e4a3531fa1fc77986d04aefa4d6d78259a62c9dc13d7ad36/cryptography-46.0.3-cp314-cp314t-win32.whl", hash = "sha256:8a6e050cb6164d3f830453754094c086ff2d0b2f3a897a1d9820f6139a1f0914", size = 3022339, upload-time = "2025-10-15T23:17:40.888Z" }, + { url = "https://files.pythonhosted.org/packages/f6/30/640f34ccd4d2a1bc88367b54b926b781b5a018d65f404d409aba76a84b1c/cryptography-46.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:760f83faa07f8b64e9c33fc963d790a2edb24efb479e3520c14a45741cd9b2db", size = 3494315, upload-time = "2025-10-15T23:17:42.769Z" }, + { url = "https://files.pythonhosted.org/packages/ba/8b/88cc7e3bd0a8e7b861f26981f7b820e1f46aa9d26cc482d0feba0ecb4919/cryptography-46.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:516ea134e703e9fe26bcd1277a4b59ad30586ea90c365a87781d7887a646fe21", size = 2919331, upload-time = "2025-10-15T23:17:44.468Z" }, + { url = "https://files.pythonhosted.org/packages/fd/23/45fe7f376a7df8daf6da3556603b36f53475a99ce4faacb6ba2cf3d82021/cryptography-46.0.3-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:cb3d760a6117f621261d662bccc8ef5bc32ca673e037c83fbe565324f5c46936", size = 7218248, upload-time = "2025-10-15T23:17:46.294Z" }, + { url = "https://files.pythonhosted.org/packages/27/32/b68d27471372737054cbd34c84981f9edbc24fe67ca225d389799614e27f/cryptography-46.0.3-cp38-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:4b7387121ac7d15e550f5cb4a43aef2559ed759c35df7336c402bb8275ac9683", size = 4294089, upload-time = "2025-10-15T23:17:48.269Z" }, + { url = "https://files.pythonhosted.org/packages/26/42/fa8389d4478368743e24e61eea78846a0006caffaf72ea24a15159215a14/cryptography-46.0.3-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:15ab9b093e8f09daab0f2159bb7e47532596075139dd74365da52ecc9cb46c5d", size = 4440029, upload-time = "2025-10-15T23:17:49.837Z" }, + { url = "https://files.pythonhosted.org/packages/5f/eb/f483db0ec5ac040824f269e93dd2bd8a21ecd1027e77ad7bdf6914f2fd80/cryptography-46.0.3-cp38-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:46acf53b40ea38f9c6c229599a4a13f0d46a6c3fa9ef19fc1a124d62e338dfa0", size = 4297222, upload-time = "2025-10-15T23:17:51.357Z" }, + { url = "https://files.pythonhosted.org/packages/fd/cf/da9502c4e1912cb1da3807ea3618a6829bee8207456fbbeebc361ec38ba3/cryptography-46.0.3-cp38-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:10ca84c4668d066a9878890047f03546f3ae0a6b8b39b697457b7757aaf18dbc", size = 4012280, upload-time = "2025-10-15T23:17:52.964Z" }, + { url = "https://files.pythonhosted.org/packages/6b/8f/9adb86b93330e0df8b3dcf03eae67c33ba89958fc2e03862ef1ac2b42465/cryptography-46.0.3-cp38-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:36e627112085bb3b81b19fed209c05ce2a52ee8b15d161b7c643a7d5a88491f3", size = 4978958, upload-time = "2025-10-15T23:17:54.965Z" }, + { url = "https://files.pythonhosted.org/packages/d1/a0/5fa77988289c34bdb9f913f5606ecc9ada1adb5ae870bd0d1054a7021cc4/cryptography-46.0.3-cp38-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:1000713389b75c449a6e979ffc7dcc8ac90b437048766cef052d4d30b8220971", size = 4473714, upload-time = "2025-10-15T23:17:56.754Z" }, + { url = "https://files.pythonhosted.org/packages/14/e5/fc82d72a58d41c393697aa18c9abe5ae1214ff6f2a5c18ac470f92777895/cryptography-46.0.3-cp38-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:b02cf04496f6576afffef5ddd04a0cb7d49cf6be16a9059d793a30b035f6b6ac", size = 4296970, upload-time = "2025-10-15T23:17:58.588Z" }, + { url = "https://files.pythonhosted.org/packages/78/06/5663ed35438d0b09056973994f1aec467492b33bd31da36e468b01ec1097/cryptography-46.0.3-cp38-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:71e842ec9bc7abf543b47cf86b9a743baa95f4677d22baa4c7d5c69e49e9bc04", size = 4940236, upload-time = "2025-10-15T23:18:00.897Z" }, + { url = "https://files.pythonhosted.org/packages/fc/59/873633f3f2dcd8a053b8dd1d38f783043b5fce589c0f6988bf55ef57e43e/cryptography-46.0.3-cp38-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:402b58fc32614f00980b66d6e56a5b4118e6cb362ae8f3fda141ba4689bd4506", size = 4472642, upload-time = "2025-10-15T23:18:02.749Z" }, + { url = "https://files.pythonhosted.org/packages/3d/39/8e71f3930e40f6877737d6f69248cf74d4e34b886a3967d32f919cc50d3b/cryptography-46.0.3-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ef639cb3372f69ec44915fafcd6698b6cc78fbe0c2ea41be867f6ed612811963", size = 4423126, upload-time = "2025-10-15T23:18:04.85Z" }, + { url = "https://files.pythonhosted.org/packages/cd/c7/f65027c2810e14c3e7268353b1681932b87e5a48e65505d8cc17c99e36ae/cryptography-46.0.3-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:3b51b8ca4f1c6453d8829e1eb7299499ca7f313900dd4d89a24b8b87c0a780d4", size = 4686573, upload-time = "2025-10-15T23:18:06.908Z" }, + { url = "https://files.pythonhosted.org/packages/0a/6e/1c8331ddf91ca4730ab3086a0f1be19c65510a33b5a441cb334e7a2d2560/cryptography-46.0.3-cp38-abi3-win32.whl", hash = "sha256:6276eb85ef938dc035d59b87c8a7dc559a232f954962520137529d77b18ff1df", size = 3036695, upload-time = "2025-10-15T23:18:08.672Z" }, + { url = "https://files.pythonhosted.org/packages/90/45/b0d691df20633eff80955a0fc7695ff9051ffce8b69741444bd9ed7bd0db/cryptography-46.0.3-cp38-abi3-win_amd64.whl", hash = "sha256:416260257577718c05135c55958b674000baef9a1c7d9e8f306ec60d71db850f", size = 3501720, upload-time = "2025-10-15T23:18:10.632Z" }, + { url = "https://files.pythonhosted.org/packages/e8/cb/2da4cc83f5edb9c3257d09e1e7ab7b23f049c7962cae8d842bbef0a9cec9/cryptography-46.0.3-cp38-abi3-win_arm64.whl", hash = "sha256:d89c3468de4cdc4f08a57e214384d0471911a3830fcdaf7a8cc587e42a866372", size = 2918740, upload-time = "2025-10-15T23:18:12.277Z" }, + { url = "https://files.pythonhosted.org/packages/d9/cd/1a8633802d766a0fa46f382a77e096d7e209e0817892929655fe0586ae32/cryptography-46.0.3-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a23582810fedb8c0bc47524558fb6c56aac3fc252cb306072fd2815da2a47c32", size = 3689163, upload-time = "2025-10-15T23:18:13.821Z" }, + { url = "https://files.pythonhosted.org/packages/4c/59/6b26512964ace6480c3e54681a9859c974172fb141c38df11eadd8416947/cryptography-46.0.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:e7aec276d68421f9574040c26e2a7c3771060bc0cff408bae1dcb19d3ab1e63c", size = 3429474, upload-time = "2025-10-15T23:18:15.477Z" }, + { url = "https://files.pythonhosted.org/packages/06/8a/e60e46adab4362a682cf142c7dcb5bf79b782ab2199b0dcb81f55970807f/cryptography-46.0.3-pp311-pypy311_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7ce938a99998ed3c8aa7e7272dca1a610401ede816d36d0693907d863b10d9ea", size = 3698132, upload-time = "2025-10-15T23:18:17.056Z" }, + { url = "https://files.pythonhosted.org/packages/da/38/f59940ec4ee91e93d3311f7532671a5cef5570eb04a144bf203b58552d11/cryptography-46.0.3-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:191bb60a7be5e6f54e30ba16fdfae78ad3a342a0599eb4193ba88e3f3d6e185b", size = 4243992, upload-time = "2025-10-15T23:18:18.695Z" }, + { url = "https://files.pythonhosted.org/packages/b0/0c/35b3d92ddebfdfda76bb485738306545817253d0a3ded0bfe80ef8e67aa5/cryptography-46.0.3-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c70cc23f12726be8f8bc72e41d5065d77e4515efae3690326764ea1b07845cfb", size = 4409944, upload-time = "2025-10-15T23:18:20.597Z" }, + { url = "https://files.pythonhosted.org/packages/99/55/181022996c4063fc0e7666a47049a1ca705abb9c8a13830f074edb347495/cryptography-46.0.3-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:9394673a9f4de09e28b5356e7fff97d778f8abad85c9d5ac4a4b7e25a0de7717", size = 4242957, upload-time = "2025-10-15T23:18:22.18Z" }, + { url = "https://files.pythonhosted.org/packages/ba/af/72cd6ef29f9c5f731251acadaeb821559fe25f10852f44a63374c9ca08c1/cryptography-46.0.3-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:94cd0549accc38d1494e1f8de71eca837d0509d0d44bf11d158524b0e12cebf9", size = 4409447, upload-time = "2025-10-15T23:18:24.209Z" }, + { url = "https://files.pythonhosted.org/packages/0d/c3/e90f4a4feae6410f914f8ebac129b9ae7a8c92eb60a638012dde42030a9d/cryptography-46.0.3-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:6b5063083824e5509fdba180721d55909ffacccc8adbec85268b48439423d78c", size = 3438528, upload-time = "2025-10-15T23:18:26.227Z" }, +] + +[[package]] +name = "emoji" +version = "2.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/78/0d2db9382c92a163d7095fc08efff7800880f830a152cfced40161e7638d/emoji-2.15.0.tar.gz", hash = "sha256:eae4ab7d86456a70a00a985125a03263a5eac54cd55e51d7e184b1ed3b6757e4", size = 615483, upload-time = "2025-09-21T12:13:02.755Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e1/5e/4b5aaaabddfacfe36ba7768817bd1f71a7a810a43705e531f3ae4c690767/emoji-2.15.0-py3-none-any.whl", hash = "sha256:205296793d66a89d88af4688fa57fd6496732eb48917a87175a023c8138995eb", size = 608433, upload-time = "2025-09-21T12:13:01.197Z" }, +] + +[[package]] +name = "github3-py" +version = "4.0.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pyjwt", extra = ["crypto"] }, + { name = "python-dateutil" }, + { name = "requests" }, + { name = "uritemplate" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/89/91/603bcaf8cd1b3927de64bf56c3a8915f6653ea7281919140c5bcff2bfe7b/github3.py-4.0.1.tar.gz", hash = "sha256:30d571076753efc389edc7f9aaef338a4fcb24b54d8968d5f39b1342f45ddd36", size = 36214038, upload-time = "2023-04-26T17:56:37.677Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/61/ad/2394d4fb542574678b0ba342daf734d4d811768da3c2ee0c84d509dcb26c/github3.py-4.0.1-py3-none-any.whl", hash = "sha256:a89af7de25650612d1da2f0609622bcdeb07ee8a45a1c06b2d16a05e4234e753", size = 151800, upload-time = "2023-04-26T17:56:25.015Z" }, +] + +[[package]] +name = "good-first-issue" +version = "0.1.0" +source = { editable = "." } +dependencies = [ + { name = "emoji" }, + { name = "github3-py" }, + { name = "numerize" }, + { name = "python-slugify" }, + { name = "requests" }, + { name = "toml" }, +] + +[package.optional-dependencies] +dev = [ + { name = "loguru" }, + { name = "mypy" }, + { name = "ruff" }, + { name = "types-python-slugify" }, + { name = "types-toml" }, +] + +[package.metadata] +requires-dist = [ + { name = "emoji", specifier = ">=0.6.0" }, + { name = "github3-py", specifier = ">=4.0.1" }, + { name = "loguru", marker = "extra == 'dev'", specifier = ">=0.7.2" }, + { name = "mypy", marker = "extra == 'dev'", specifier = ">=1.7.1" }, + { name = "numerize", specifier = ">=0.12" }, + { name = "python-slugify", specifier = ">=4.0.1" }, + { name = "requests", specifier = ">=2.23.0" }, + { name = "ruff", marker = "extra == 'dev'", specifier = ">=0.1.8" }, + { name = "toml", specifier = ">=0.10.2" }, + { name = "types-python-slugify", marker = "extra == 'dev'", specifier = ">=8.0.0.3" }, + { name = "types-toml", marker = "extra == 'dev'", specifier = ">=0.10.8.7" }, +] +provides-extras = ["dev"] + +[[package]] +name = "idna" +version = "3.11" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902", size = 194582, upload-time = "2025-10-12T14:55:20.501Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008, upload-time = "2025-10-12T14:55:18.883Z" }, +] + +[[package]] +name = "librt" +version = "0.7.8" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e7/24/5f3646ff414285e0f7708fa4e946b9bf538345a41d1c375c439467721a5e/librt-0.7.8.tar.gz", hash = "sha256:1a4ede613941d9c3470b0368be851df6bb78ab218635512d0370b27a277a0862", size = 148323, upload-time = "2026-01-14T12:56:16.876Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/44/13/57b06758a13550c5f09563893b004f98e9537ee6ec67b7df85c3571c8832/librt-0.7.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b45306a1fc5f53c9330fbee134d8b3227fe5da2ab09813b892790400aa49352d", size = 56521, upload-time = "2026-01-14T12:54:40.066Z" }, + { url = "https://files.pythonhosted.org/packages/c2/24/bbea34d1452a10612fb45ac8356f95351ba40c2517e429602160a49d1fd0/librt-0.7.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:864c4b7083eeee250ed55135d2127b260d7eb4b5e953a9e5df09c852e327961b", size = 58456, upload-time = "2026-01-14T12:54:41.471Z" }, + { url = "https://files.pythonhosted.org/packages/04/72/a168808f92253ec3a810beb1eceebc465701197dbc7e865a1c9ceb3c22c7/librt-0.7.8-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:6938cc2de153bc927ed8d71c7d2f2ae01b4e96359126c602721340eb7ce1a92d", size = 164392, upload-time = "2026-01-14T12:54:42.843Z" }, + { url = "https://files.pythonhosted.org/packages/14/5c/4c0d406f1b02735c2e7af8ff1ff03a6577b1369b91aa934a9fa2cc42c7ce/librt-0.7.8-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:66daa6ac5de4288a5bbfbe55b4caa7bf0cd26b3269c7a476ffe8ce45f837f87d", size = 172959, upload-time = "2026-01-14T12:54:44.602Z" }, + { url = "https://files.pythonhosted.org/packages/82/5f/3e85351c523f73ad8d938989e9a58c7f59fb9c17f761b9981b43f0025ce7/librt-0.7.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4864045f49dc9c974dadb942ac56a74cd0479a2aafa51ce272c490a82322ea3c", size = 186717, upload-time = "2026-01-14T12:54:45.986Z" }, + { url = "https://files.pythonhosted.org/packages/08/f8/18bfe092e402d00fe00d33aa1e01dda1bd583ca100b393b4373847eade6d/librt-0.7.8-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a36515b1328dc5b3ffce79fe204985ca8572525452eacabee2166f44bb387b2c", size = 184585, upload-time = "2026-01-14T12:54:47.139Z" }, + { url = "https://files.pythonhosted.org/packages/4e/fc/f43972ff56fd790a9fa55028a52ccea1875100edbb856b705bd393b601e3/librt-0.7.8-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b7e7f140c5169798f90b80d6e607ed2ba5059784968a004107c88ad61fb3641d", size = 180497, upload-time = "2026-01-14T12:54:48.946Z" }, + { url = "https://files.pythonhosted.org/packages/e1/3a/25e36030315a410d3ad0b7d0f19f5f188e88d1613d7d3fd8150523ea1093/librt-0.7.8-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ff71447cb778a4f772ddc4ce360e6ba9c95527ed84a52096bd1bbf9fee2ec7c0", size = 200052, upload-time = "2026-01-14T12:54:50.382Z" }, + { url = "https://files.pythonhosted.org/packages/fc/b8/f3a5a1931ae2a6ad92bf6893b9ef44325b88641d58723529e2c2935e8abe/librt-0.7.8-cp310-cp310-win32.whl", hash = "sha256:047164e5f68b7a8ebdf9fae91a3c2161d3192418aadd61ddd3a86a56cbe3dc85", size = 43477, upload-time = "2026-01-14T12:54:51.815Z" }, + { url = "https://files.pythonhosted.org/packages/fe/91/c4202779366bc19f871b4ad25db10fcfa1e313c7893feb942f32668e8597/librt-0.7.8-cp310-cp310-win_amd64.whl", hash = "sha256:d6f254d096d84156a46a84861183c183d30734e52383602443292644d895047c", size = 49806, upload-time = "2026-01-14T12:54:53.149Z" }, + { url = "https://files.pythonhosted.org/packages/1b/a3/87ea9c1049f2c781177496ebee29430e4631f439b8553a4969c88747d5d8/librt-0.7.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ff3e9c11aa260c31493d4b3197d1e28dd07768594a4f92bec4506849d736248f", size = 56507, upload-time = "2026-01-14T12:54:54.156Z" }, + { url = "https://files.pythonhosted.org/packages/5e/4a/23bcef149f37f771ad30203d561fcfd45b02bc54947b91f7a9ac34815747/librt-0.7.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ddb52499d0b3ed4aa88746aaf6f36a08314677d5c346234c3987ddc506404eac", size = 58455, upload-time = "2026-01-14T12:54:55.978Z" }, + { url = "https://files.pythonhosted.org/packages/22/6e/46eb9b85c1b9761e0f42b6e6311e1cc544843ac897457062b9d5d0b21df4/librt-0.7.8-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:e9c0afebbe6ce177ae8edba0c7c4d626f2a0fc12c33bb993d163817c41a7a05c", size = 164956, upload-time = "2026-01-14T12:54:57.311Z" }, + { url = "https://files.pythonhosted.org/packages/7a/3f/aa7c7f6829fb83989feb7ba9aa11c662b34b4bd4bd5b262f2876ba3db58d/librt-0.7.8-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:631599598e2c76ded400c0a8722dec09217c89ff64dc54b060f598ed68e7d2a8", size = 174364, upload-time = "2026-01-14T12:54:59.089Z" }, + { url = "https://files.pythonhosted.org/packages/3f/2d/d57d154b40b11f2cb851c4df0d4c4456bacd9b1ccc4ecb593ddec56c1a8b/librt-0.7.8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9c1ba843ae20db09b9d5c80475376168feb2640ce91cd9906414f23cc267a1ff", size = 188034, upload-time = "2026-01-14T12:55:00.141Z" }, + { url = "https://files.pythonhosted.org/packages/59/f9/36c4dad00925c16cd69d744b87f7001792691857d3b79187e7a673e812fb/librt-0.7.8-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b5b007bb22ea4b255d3ee39dfd06d12534de2fcc3438567d9f48cdaf67ae1ae3", size = 186295, upload-time = "2026-01-14T12:55:01.303Z" }, + { url = "https://files.pythonhosted.org/packages/23/9b/8a9889d3df5efb67695a67785028ccd58e661c3018237b73ad081691d0cb/librt-0.7.8-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:dbd79caaf77a3f590cbe32dc2447f718772d6eea59656a7dcb9311161b10fa75", size = 181470, upload-time = "2026-01-14T12:55:02.492Z" }, + { url = "https://files.pythonhosted.org/packages/43/64/54d6ef11afca01fef8af78c230726a9394759f2addfbf7afc5e3cc032a45/librt-0.7.8-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:87808a8d1e0bd62a01cafc41f0fd6818b5a5d0ca0d8a55326a81643cdda8f873", size = 201713, upload-time = "2026-01-14T12:55:03.919Z" }, + { url = "https://files.pythonhosted.org/packages/2d/29/73e7ed2991330b28919387656f54109139b49e19cd72902f466bd44415fd/librt-0.7.8-cp311-cp311-win32.whl", hash = "sha256:31724b93baa91512bd0a376e7cf0b59d8b631ee17923b1218a65456fa9bda2e7", size = 43803, upload-time = "2026-01-14T12:55:04.996Z" }, + { url = "https://files.pythonhosted.org/packages/3f/de/66766ff48ed02b4d78deea30392ae200bcbd99ae61ba2418b49fd50a4831/librt-0.7.8-cp311-cp311-win_amd64.whl", hash = "sha256:978e8b5f13e52cf23a9e80f3286d7546baa70bc4ef35b51d97a709d0b28e537c", size = 50080, upload-time = "2026-01-14T12:55:06.489Z" }, + { url = "https://files.pythonhosted.org/packages/6f/e3/33450438ff3a8c581d4ed7f798a70b07c3206d298cf0b87d3806e72e3ed8/librt-0.7.8-cp311-cp311-win_arm64.whl", hash = "sha256:20e3946863d872f7cabf7f77c6c9d370b8b3d74333d3a32471c50d3a86c0a232", size = 43383, upload-time = "2026-01-14T12:55:07.49Z" }, + { url = "https://files.pythonhosted.org/packages/56/04/79d8fcb43cae376c7adbab7b2b9f65e48432c9eced62ac96703bcc16e09b/librt-0.7.8-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:9b6943885b2d49c48d0cff23b16be830ba46b0152d98f62de49e735c6e655a63", size = 57472, upload-time = "2026-01-14T12:55:08.528Z" }, + { url = "https://files.pythonhosted.org/packages/b4/ba/60b96e93043d3d659da91752689023a73981336446ae82078cddf706249e/librt-0.7.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:46ef1f4b9b6cc364b11eea0ecc0897314447a66029ee1e55859acb3dd8757c93", size = 58986, upload-time = "2026-01-14T12:55:09.466Z" }, + { url = "https://files.pythonhosted.org/packages/7c/26/5215e4cdcc26e7be7eee21955a7e13cbf1f6d7d7311461a6014544596fac/librt-0.7.8-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:907ad09cfab21e3c86e8f1f87858f7049d1097f77196959c033612f532b4e592", size = 168422, upload-time = "2026-01-14T12:55:10.499Z" }, + { url = "https://files.pythonhosted.org/packages/0f/84/e8d1bc86fa0159bfc24f3d798d92cafd3897e84c7fea7fe61b3220915d76/librt-0.7.8-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2991b6c3775383752b3ca0204842743256f3ad3deeb1d0adc227d56b78a9a850", size = 177478, upload-time = "2026-01-14T12:55:11.577Z" }, + { url = "https://files.pythonhosted.org/packages/57/11/d0268c4b94717a18aa91df1100e767b010f87b7ae444dafaa5a2d80f33a6/librt-0.7.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:03679b9856932b8c8f674e87aa3c55ea11c9274301f76ae8dc4d281bda55cf62", size = 192439, upload-time = "2026-01-14T12:55:12.7Z" }, + { url = "https://files.pythonhosted.org/packages/8d/56/1e8e833b95fe684f80f8894ae4d8b7d36acc9203e60478fcae599120a975/librt-0.7.8-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3968762fec1b2ad34ce57458b6de25dbb4142713e9ca6279a0d352fa4e9f452b", size = 191483, upload-time = "2026-01-14T12:55:13.838Z" }, + { url = "https://files.pythonhosted.org/packages/17/48/f11cf28a2cb6c31f282009e2208312aa84a5ee2732859f7856ee306176d5/librt-0.7.8-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:bb7a7807523a31f03061288cc4ffc065d684c39db7644c676b47d89553c0d714", size = 185376, upload-time = "2026-01-14T12:55:15.017Z" }, + { url = "https://files.pythonhosted.org/packages/b8/6a/d7c116c6da561b9155b184354a60a3d5cdbf08fc7f3678d09c95679d13d9/librt-0.7.8-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad64a14b1e56e702e19b24aae108f18ad1bf7777f3af5fcd39f87d0c5a814449", size = 206234, upload-time = "2026-01-14T12:55:16.571Z" }, + { url = "https://files.pythonhosted.org/packages/61/de/1975200bb0285fc921c5981d9978ce6ce11ae6d797df815add94a5a848a3/librt-0.7.8-cp312-cp312-win32.whl", hash = "sha256:0241a6ed65e6666236ea78203a73d800dbed896cf12ae25d026d75dc1fcd1dac", size = 44057, upload-time = "2026-01-14T12:55:18.077Z" }, + { url = "https://files.pythonhosted.org/packages/8e/cd/724f2d0b3461426730d4877754b65d39f06a41ac9d0a92d5c6840f72b9ae/librt-0.7.8-cp312-cp312-win_amd64.whl", hash = "sha256:6db5faf064b5bab9675c32a873436b31e01d66ca6984c6f7f92621656033a708", size = 50293, upload-time = "2026-01-14T12:55:19.179Z" }, + { url = "https://files.pythonhosted.org/packages/bd/cf/7e899acd9ee5727ad8160fdcc9994954e79fab371c66535c60e13b968ffc/librt-0.7.8-cp312-cp312-win_arm64.whl", hash = "sha256:57175aa93f804d2c08d2edb7213e09276bd49097611aefc37e3fa38d1fb99ad0", size = 43574, upload-time = "2026-01-14T12:55:20.185Z" }, + { url = "https://files.pythonhosted.org/packages/a1/fe/b1f9de2829cf7fc7649c1dcd202cfd873837c5cc2fc9e526b0e7f716c3d2/librt-0.7.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4c3995abbbb60b3c129490fa985dfe6cac11d88fc3c36eeb4fb1449efbbb04fc", size = 57500, upload-time = "2026-01-14T12:55:21.219Z" }, + { url = "https://files.pythonhosted.org/packages/eb/d4/4a60fbe2e53b825f5d9a77325071d61cd8af8506255067bf0c8527530745/librt-0.7.8-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:44e0c2cbc9bebd074cf2cdbe472ca185e824be4e74b1c63a8e934cea674bebf2", size = 59019, upload-time = "2026-01-14T12:55:22.256Z" }, + { url = "https://files.pythonhosted.org/packages/6a/37/61ff80341ba5159afa524445f2d984c30e2821f31f7c73cf166dcafa5564/librt-0.7.8-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:4d2f1e492cae964b3463a03dc77a7fe8742f7855d7258c7643f0ee32b6651dd3", size = 169015, upload-time = "2026-01-14T12:55:23.24Z" }, + { url = "https://files.pythonhosted.org/packages/1c/86/13d4f2d6a93f181ebf2fc953868826653ede494559da8268023fe567fca3/librt-0.7.8-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:451e7ffcef8f785831fdb791bd69211f47e95dc4c6ddff68e589058806f044c6", size = 178161, upload-time = "2026-01-14T12:55:24.826Z" }, + { url = "https://files.pythonhosted.org/packages/88/26/e24ef01305954fc4d771f1f09f3dd682f9eb610e1bec188ffb719374d26e/librt-0.7.8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3469e1af9f1380e093ae06bedcbdd11e407ac0b303a56bbe9afb1d6824d4982d", size = 193015, upload-time = "2026-01-14T12:55:26.04Z" }, + { url = "https://files.pythonhosted.org/packages/88/a0/92b6bd060e720d7a31ed474d046a69bd55334ec05e9c446d228c4b806ae3/librt-0.7.8-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f11b300027ce19a34f6d24ebb0a25fd0e24a9d53353225a5c1e6cadbf2916b2e", size = 192038, upload-time = "2026-01-14T12:55:27.208Z" }, + { url = "https://files.pythonhosted.org/packages/06/bb/6f4c650253704279c3a214dad188101d1b5ea23be0606628bc6739456624/librt-0.7.8-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4adc73614f0d3c97874f02f2c7fd2a27854e7e24ad532ea6b965459c5b757eca", size = 186006, upload-time = "2026-01-14T12:55:28.594Z" }, + { url = "https://files.pythonhosted.org/packages/dc/00/1c409618248d43240cadf45f3efb866837fa77e9a12a71481912135eb481/librt-0.7.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:60c299e555f87e4c01b2eca085dfccda1dde87f5a604bb45c2906b8305819a93", size = 206888, upload-time = "2026-01-14T12:55:30.214Z" }, + { url = "https://files.pythonhosted.org/packages/d9/83/b2cfe8e76ff5c1c77f8a53da3d5de62d04b5ebf7cf913e37f8bca43b5d07/librt-0.7.8-cp313-cp313-win32.whl", hash = "sha256:b09c52ed43a461994716082ee7d87618096851319bf695d57ec123f2ab708951", size = 44126, upload-time = "2026-01-14T12:55:31.44Z" }, + { url = "https://files.pythonhosted.org/packages/a9/0b/c59d45de56a51bd2d3a401fc63449c0ac163e4ef7f523ea8b0c0dee86ec5/librt-0.7.8-cp313-cp313-win_amd64.whl", hash = "sha256:f8f4a901a3fa28969d6e4519deceab56c55a09d691ea7b12ca830e2fa3461e34", size = 50262, upload-time = "2026-01-14T12:55:33.01Z" }, + { url = "https://files.pythonhosted.org/packages/fc/b9/973455cec0a1ec592395250c474164c4a58ebf3e0651ee920fef1a2623f1/librt-0.7.8-cp313-cp313-win_arm64.whl", hash = "sha256:43d4e71b50763fcdcf64725ac680d8cfa1706c928b844794a7aa0fa9ac8e5f09", size = 43600, upload-time = "2026-01-14T12:55:34.054Z" }, + { url = "https://files.pythonhosted.org/packages/1a/73/fa8814c6ce2d49c3827829cadaa1589b0bf4391660bd4510899393a23ebc/librt-0.7.8-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:be927c3c94c74b05128089a955fba86501c3b544d1d300282cc1b4bd370cb418", size = 57049, upload-time = "2026-01-14T12:55:35.056Z" }, + { url = "https://files.pythonhosted.org/packages/53/fe/f6c70956da23ea235fd2e3cc16f4f0b4ebdfd72252b02d1164dd58b4e6c3/librt-0.7.8-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:7b0803e9008c62a7ef79058233db7ff6f37a9933b8f2573c05b07ddafa226611", size = 58689, upload-time = "2026-01-14T12:55:36.078Z" }, + { url = "https://files.pythonhosted.org/packages/1f/4d/7a2481444ac5fba63050d9abe823e6bc16896f575bfc9c1e5068d516cdce/librt-0.7.8-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:79feb4d00b2a4e0e05c9c56df707934f41fcb5fe53fd9efb7549068d0495b758", size = 166808, upload-time = "2026-01-14T12:55:37.595Z" }, + { url = "https://files.pythonhosted.org/packages/ac/3c/10901d9e18639f8953f57c8986796cfbf4c1c514844a41c9197cf87cb707/librt-0.7.8-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b9122094e3f24aa759c38f46bd8863433820654927370250f460ae75488b66ea", size = 175614, upload-time = "2026-01-14T12:55:38.756Z" }, + { url = "https://files.pythonhosted.org/packages/db/01/5cbdde0951a5090a80e5ba44e6357d375048123c572a23eecfb9326993a7/librt-0.7.8-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7e03bea66af33c95ce3addf87a9bf1fcad8d33e757bc479957ddbc0e4f7207ac", size = 189955, upload-time = "2026-01-14T12:55:39.939Z" }, + { url = "https://files.pythonhosted.org/packages/6a/b4/e80528d2f4b7eaf1d437fcbd6fc6ba4cbeb3e2a0cb9ed5a79f47c7318706/librt-0.7.8-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:f1ade7f31675db00b514b98f9ab9a7698c7282dad4be7492589109471852d398", size = 189370, upload-time = "2026-01-14T12:55:41.057Z" }, + { url = "https://files.pythonhosted.org/packages/c1/ab/938368f8ce31a9787ecd4becb1e795954782e4312095daf8fd22420227c8/librt-0.7.8-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:a14229ac62adcf1b90a15992f1ab9c69ae8b99ffb23cb64a90878a6e8a2f5b81", size = 183224, upload-time = "2026-01-14T12:55:42.328Z" }, + { url = "https://files.pythonhosted.org/packages/3c/10/559c310e7a6e4014ac44867d359ef8238465fb499e7eb31b6bfe3e3f86f5/librt-0.7.8-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5bcaaf624fd24e6a0cb14beac37677f90793a96864c67c064a91458611446e83", size = 203541, upload-time = "2026-01-14T12:55:43.501Z" }, + { url = "https://files.pythonhosted.org/packages/f8/db/a0db7acdb6290c215f343835c6efda5b491bb05c3ddc675af558f50fdba3/librt-0.7.8-cp314-cp314-win32.whl", hash = "sha256:7aa7d5457b6c542ecaed79cec4ad98534373c9757383973e638ccced0f11f46d", size = 40657, upload-time = "2026-01-14T12:55:44.668Z" }, + { url = "https://files.pythonhosted.org/packages/72/e0/4f9bdc2a98a798511e81edcd6b54fe82767a715e05d1921115ac70717f6f/librt-0.7.8-cp314-cp314-win_amd64.whl", hash = "sha256:3d1322800771bee4a91f3b4bd4e49abc7d35e65166821086e5afd1e6c0d9be44", size = 46835, upload-time = "2026-01-14T12:55:45.655Z" }, + { url = "https://files.pythonhosted.org/packages/f9/3d/59c6402e3dec2719655a41ad027a7371f8e2334aa794ed11533ad5f34969/librt-0.7.8-cp314-cp314-win_arm64.whl", hash = "sha256:5363427bc6a8c3b1719f8f3845ea53553d301382928a86e8fab7984426949bce", size = 39885, upload-time = "2026-01-14T12:55:47.138Z" }, + { url = "https://files.pythonhosted.org/packages/4e/9c/2481d80950b83085fb14ba3c595db56330d21bbc7d88a19f20165f3538db/librt-0.7.8-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:ca916919793a77e4a98d4a1701e345d337ce53be4a16620f063191f7322ac80f", size = 59161, upload-time = "2026-01-14T12:55:48.45Z" }, + { url = "https://files.pythonhosted.org/packages/96/79/108df2cfc4e672336765d54e3ff887294c1cc36ea4335c73588875775527/librt-0.7.8-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:54feb7b4f2f6706bb82325e836a01be805770443e2400f706e824e91f6441dde", size = 61008, upload-time = "2026-01-14T12:55:49.527Z" }, + { url = "https://files.pythonhosted.org/packages/46/f2/30179898f9994a5637459d6e169b6abdc982012c0a4b2d4c26f50c06f911/librt-0.7.8-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:39a4c76fee41007070f872b648cc2f711f9abf9a13d0c7162478043377b52c8e", size = 187199, upload-time = "2026-01-14T12:55:50.587Z" }, + { url = "https://files.pythonhosted.org/packages/b4/da/f7563db55cebdc884f518ba3791ad033becc25ff68eb70902b1747dc0d70/librt-0.7.8-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ac9c8a458245c7de80bc1b9765b177055efff5803f08e548dd4bb9ab9a8d789b", size = 198317, upload-time = "2026-01-14T12:55:51.991Z" }, + { url = "https://files.pythonhosted.org/packages/b3/6c/4289acf076ad371471fa86718c30ae353e690d3de6167f7db36f429272f1/librt-0.7.8-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:95b67aa7eff150f075fda09d11f6bfb26edffd300f6ab1666759547581e8f666", size = 210334, upload-time = "2026-01-14T12:55:53.682Z" }, + { url = "https://files.pythonhosted.org/packages/4a/7f/377521ac25b78ac0a5ff44127a0360ee6d5ddd3ce7327949876a30533daa/librt-0.7.8-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:535929b6eff670c593c34ff435d5440c3096f20fa72d63444608a5aef64dd581", size = 211031, upload-time = "2026-01-14T12:55:54.827Z" }, + { url = "https://files.pythonhosted.org/packages/c5/b1/e1e96c3e20b23d00cf90f4aad48f0deb4cdfec2f0ed8380d0d85acf98bbf/librt-0.7.8-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:63937bd0f4d1cb56653dc7ae900d6c52c41f0015e25aaf9902481ee79943b33a", size = 204581, upload-time = "2026-01-14T12:55:56.811Z" }, + { url = "https://files.pythonhosted.org/packages/43/71/0f5d010e92ed9747e14bef35e91b6580533510f1e36a8a09eb79ee70b2f0/librt-0.7.8-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:cf243da9e42d914036fd362ac3fa77d80a41cadcd11ad789b1b5eec4daaf67ca", size = 224731, upload-time = "2026-01-14T12:55:58.175Z" }, + { url = "https://files.pythonhosted.org/packages/22/f0/07fb6ab5c39a4ca9af3e37554f9d42f25c464829254d72e4ebbd81da351c/librt-0.7.8-cp314-cp314t-win32.whl", hash = "sha256:171ca3a0a06c643bd0a2f62a8944e1902c94aa8e5da4db1ea9a8daf872685365", size = 41173, upload-time = "2026-01-14T12:55:59.315Z" }, + { url = "https://files.pythonhosted.org/packages/24/d4/7e4be20993dc6a782639625bd2f97f3c66125c7aa80c82426956811cfccf/librt-0.7.8-cp314-cp314t-win_amd64.whl", hash = "sha256:445b7304145e24c60288a2f172b5ce2ca35c0f81605f5299f3fa567e189d2e32", size = 47668, upload-time = "2026-01-14T12:56:00.261Z" }, + { url = "https://files.pythonhosted.org/packages/fc/85/69f92b2a7b3c0f88ffe107c86b952b397004b5b8ea5a81da3d9c04c04422/librt-0.7.8-cp314-cp314t-win_arm64.whl", hash = "sha256:8766ece9de08527deabcd7cb1b4f1a967a385d26e33e536d6d8913db6ef74f06", size = 40550, upload-time = "2026-01-14T12:56:01.542Z" }, + { url = "https://files.pythonhosted.org/packages/3b/9b/2668bb01f568bc89ace53736df950845f8adfcacdf6da087d5cef12110cb/librt-0.7.8-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c7e8f88f79308d86d8f39c491773cbb533d6cb7fa6476f35d711076ee04fceb6", size = 56680, upload-time = "2026-01-14T12:56:02.602Z" }, + { url = "https://files.pythonhosted.org/packages/b3/d4/dbb3edf2d0ec4ba08dcaf1865833d32737ad208962d4463c022cea6e9d3c/librt-0.7.8-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:389bd25a0db916e1d6bcb014f11aa9676cedaa485e9ec3752dfe19f196fd377b", size = 58612, upload-time = "2026-01-14T12:56:03.616Z" }, + { url = "https://files.pythonhosted.org/packages/0f/c9/64b029de4ac9901fcd47832c650a0fd050555a452bd455ce8deddddfbb9f/librt-0.7.8-cp39-cp39-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:73fd300f501a052f2ba52ede721232212f3b06503fa12665408ecfc9d8fd149c", size = 163654, upload-time = "2026-01-14T12:56:04.975Z" }, + { url = "https://files.pythonhosted.org/packages/81/5c/95e2abb1b48eb8f8c7fc2ae945321a6b82777947eb544cc785c3f37165b2/librt-0.7.8-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6d772edc6a5f7835635c7562f6688e031f0b97e31d538412a852c49c9a6c92d5", size = 172477, upload-time = "2026-01-14T12:56:06.103Z" }, + { url = "https://files.pythonhosted.org/packages/7e/27/9bdf12e05b0eb089dd008d9c8aabc05748aad9d40458ade5e627c9538158/librt-0.7.8-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bfde8a130bd0f239e45503ab39fab239ace094d63ee1d6b67c25a63d741c0f71", size = 186220, upload-time = "2026-01-14T12:56:09.958Z" }, + { url = "https://files.pythonhosted.org/packages/53/6a/c3774f4cc95e68ed444a39f2c8bd383fd18673db7d6b98cfa709f6634b93/librt-0.7.8-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:fdec6e2368ae4f796fc72fad7fd4bd1753715187e6d870932b0904609e7c878e", size = 183841, upload-time = "2026-01-14T12:56:11.109Z" }, + { url = "https://files.pythonhosted.org/packages/58/6b/48702c61cf83e9c04ad5cec8cad7e5e22a2cde23a13db8ef341598897ddd/librt-0.7.8-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:00105e7d541a8f2ee5be52caacea98a005e0478cfe78c8080fbb7b5d2b340c63", size = 179751, upload-time = "2026-01-14T12:56:12.278Z" }, + { url = "https://files.pythonhosted.org/packages/35/87/5f607fc73a131d4753f4db948833063c6aad18e18a4e6fbf64316c37ae65/librt-0.7.8-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c6f8947d3dfd7f91066c5b4385812c18be26c9d5a99ca56667547f2c39149d94", size = 199319, upload-time = "2026-01-14T12:56:13.425Z" }, + { url = "https://files.pythonhosted.org/packages/6e/cc/b7c5ac28ae0f0645a9681248bae4ede665bba15d6f761c291853c5c5b78e/librt-0.7.8-cp39-cp39-win32.whl", hash = "sha256:41d7bb1e07916aeb12ae4a44e3025db3691c4149ab788d0315781b4d29b86afb", size = 43434, upload-time = "2026-01-14T12:56:14.781Z" }, + { url = "https://files.pythonhosted.org/packages/e4/5d/dce0c92f786495adf2c1e6784d9c50a52fb7feb1cfb17af97a08281a6e82/librt-0.7.8-cp39-cp39-win_amd64.whl", hash = "sha256:e90a8e237753c83b8e484d478d9a996dc5e39fd5bd4c6ce32563bc8123f132be", size = 49801, upload-time = "2026-01-14T12:56:15.827Z" }, +] + +[[package]] +name = "loguru" +version = "0.7.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "win32-setctime", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3a/05/a1dae3dffd1116099471c643b8924f5aa6524411dc6c63fdae648c4f1aca/loguru-0.7.3.tar.gz", hash = "sha256:19480589e77d47b8d85b2c827ad95d49bf31b0dcde16593892eb51dd18706eb6", size = 63559, upload-time = "2024-12-06T11:20:56.608Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0c/29/0348de65b8cc732daa3e33e67806420b2ae89bdce2b04af740289c5c6c8c/loguru-0.7.3-py3-none-any.whl", hash = "sha256:31a33c10c8e1e10422bfd431aeb5d351c7cf7fa671e3c4df004162264b28220c", size = 61595, upload-time = "2024-12-06T11:20:54.538Z" }, +] + +[[package]] +name = "mypy" +version = "1.19.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "librt", marker = "platform_python_implementation != 'PyPy'" }, + { name = "mypy-extensions" }, + { name = "pathspec" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f5/db/4efed9504bc01309ab9c2da7e352cc223569f05478012b5d9ece38fd44d2/mypy-1.19.1.tar.gz", hash = "sha256:19d88bb05303fe63f71dd2c6270daca27cb9401c4ca8255fe50d1d920e0eb9ba", size = 3582404, upload-time = "2025-12-15T05:03:48.42Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2f/63/e499890d8e39b1ff2df4c0c6ce5d371b6844ee22b8250687a99fd2f657a8/mypy-1.19.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5f05aa3d375b385734388e844bc01733bd33c644ab48e9684faa54e5389775ec", size = 13101333, upload-time = "2025-12-15T05:03:03.28Z" }, + { url = "https://files.pythonhosted.org/packages/72/4b/095626fc136fba96effc4fd4a82b41d688ab92124f8c4f7564bffe5cf1b0/mypy-1.19.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:022ea7279374af1a5d78dfcab853fe6a536eebfda4b59deab53cd21f6cd9f00b", size = 12164102, upload-time = "2025-12-15T05:02:33.611Z" }, + { url = "https://files.pythonhosted.org/packages/0c/5b/952928dd081bf88a83a5ccd49aaecfcd18fd0d2710c7ff07b8fb6f7032b9/mypy-1.19.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee4c11e460685c3e0c64a4c5de82ae143622410950d6be863303a1c4ba0e36d6", size = 12765799, upload-time = "2025-12-15T05:03:28.44Z" }, + { url = "https://files.pythonhosted.org/packages/2a/0d/93c2e4a287f74ef11a66fb6d49c7a9f05e47b0a4399040e6719b57f500d2/mypy-1.19.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:de759aafbae8763283b2ee5869c7255391fbc4de3ff171f8f030b5ec48381b74", size = 13522149, upload-time = "2025-12-15T05:02:36.011Z" }, + { url = "https://files.pythonhosted.org/packages/7b/0e/33a294b56aaad2b338d203e3a1d8b453637ac36cb278b45005e0901cf148/mypy-1.19.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ab43590f9cd5108f41aacf9fca31841142c786827a74ab7cc8a2eacb634e09a1", size = 13810105, upload-time = "2025-12-15T05:02:40.327Z" }, + { url = "https://files.pythonhosted.org/packages/0e/fd/3e82603a0cb66b67c5e7abababce6bf1a929ddf67bf445e652684af5c5a0/mypy-1.19.1-cp310-cp310-win_amd64.whl", hash = "sha256:2899753e2f61e571b3971747e302d5f420c3fd09650e1951e99f823bc3089dac", size = 10057200, upload-time = "2025-12-15T05:02:51.012Z" }, + { url = "https://files.pythonhosted.org/packages/ef/47/6b3ebabd5474d9cdc170d1342fbf9dddc1b0ec13ec90bf9004ee6f391c31/mypy-1.19.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d8dfc6ab58ca7dda47d9237349157500468e404b17213d44fc1cb77bce532288", size = 13028539, upload-time = "2025-12-15T05:03:44.129Z" }, + { url = "https://files.pythonhosted.org/packages/5c/a6/ac7c7a88a3c9c54334f53a941b765e6ec6c4ebd65d3fe8cdcfbe0d0fd7db/mypy-1.19.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e3f276d8493c3c97930e354b2595a44a21348b320d859fb4a2b9f66da9ed27ab", size = 12083163, upload-time = "2025-12-15T05:03:37.679Z" }, + { url = "https://files.pythonhosted.org/packages/67/af/3afa9cf880aa4a2c803798ac24f1d11ef72a0c8079689fac5cfd815e2830/mypy-1.19.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2abb24cf3f17864770d18d673c85235ba52456b36a06b6afc1e07c1fdcd3d0e6", size = 12687629, upload-time = "2025-12-15T05:02:31.526Z" }, + { url = "https://files.pythonhosted.org/packages/2d/46/20f8a7114a56484ab268b0ab372461cb3a8f7deed31ea96b83a4e4cfcfca/mypy-1.19.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a009ffa5a621762d0c926a078c2d639104becab69e79538a494bcccb62cc0331", size = 13436933, upload-time = "2025-12-15T05:03:15.606Z" }, + { url = "https://files.pythonhosted.org/packages/5b/f8/33b291ea85050a21f15da910002460f1f445f8007adb29230f0adea279cb/mypy-1.19.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f7cee03c9a2e2ee26ec07479f38ea9c884e301d42c6d43a19d20fb014e3ba925", size = 13661754, upload-time = "2025-12-15T05:02:26.731Z" }, + { url = "https://files.pythonhosted.org/packages/fd/a3/47cbd4e85bec4335a9cd80cf67dbc02be21b5d4c9c23ad6b95d6c5196bac/mypy-1.19.1-cp311-cp311-win_amd64.whl", hash = "sha256:4b84a7a18f41e167f7995200a1d07a4a6810e89d29859df936f1c3923d263042", size = 10055772, upload-time = "2025-12-15T05:03:26.179Z" }, + { url = "https://files.pythonhosted.org/packages/06/8a/19bfae96f6615aa8a0604915512e0289b1fad33d5909bf7244f02935d33a/mypy-1.19.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:a8174a03289288c1f6c46d55cef02379b478bfbc8e358e02047487cad44c6ca1", size = 13206053, upload-time = "2025-12-15T05:03:46.622Z" }, + { url = "https://files.pythonhosted.org/packages/a5/34/3e63879ab041602154ba2a9f99817bb0c85c4df19a23a1443c8986e4d565/mypy-1.19.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ffcebe56eb09ff0c0885e750036a095e23793ba6c2e894e7e63f6d89ad51f22e", size = 12219134, upload-time = "2025-12-15T05:03:24.367Z" }, + { url = "https://files.pythonhosted.org/packages/89/cc/2db6f0e95366b630364e09845672dbee0cbf0bbe753a204b29a944967cd9/mypy-1.19.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b64d987153888790bcdb03a6473d321820597ab8dd9243b27a92153c4fa50fd2", size = 12731616, upload-time = "2025-12-15T05:02:44.725Z" }, + { url = "https://files.pythonhosted.org/packages/00/be/dd56c1fd4807bc1eba1cf18b2a850d0de7bacb55e158755eb79f77c41f8e/mypy-1.19.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c35d298c2c4bba75feb2195655dfea8124d855dfd7343bf8b8c055421eaf0cf8", size = 13620847, upload-time = "2025-12-15T05:03:39.633Z" }, + { url = "https://files.pythonhosted.org/packages/6d/42/332951aae42b79329f743bf1da088cd75d8d4d9acc18fbcbd84f26c1af4e/mypy-1.19.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:34c81968774648ab5ac09c29a375fdede03ba253f8f8287847bd480782f73a6a", size = 13834976, upload-time = "2025-12-15T05:03:08.786Z" }, + { url = "https://files.pythonhosted.org/packages/6f/63/e7493e5f90e1e085c562bb06e2eb32cae27c5057b9653348d38b47daaecc/mypy-1.19.1-cp312-cp312-win_amd64.whl", hash = "sha256:b10e7c2cd7870ba4ad9b2d8a6102eb5ffc1f16ca35e3de6bfa390c1113029d13", size = 10118104, upload-time = "2025-12-15T05:03:10.834Z" }, + { url = "https://files.pythonhosted.org/packages/de/9f/a6abae693f7a0c697dbb435aac52e958dc8da44e92e08ba88d2e42326176/mypy-1.19.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e3157c7594ff2ef1634ee058aafc56a82db665c9438fd41b390f3bde1ab12250", size = 13201927, upload-time = "2025-12-15T05:02:29.138Z" }, + { url = "https://files.pythonhosted.org/packages/9a/a4/45c35ccf6e1c65afc23a069f50e2c66f46bd3798cbe0d680c12d12935caa/mypy-1.19.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bdb12f69bcc02700c2b47e070238f42cb87f18c0bc1fc4cdb4fb2bc5fd7a3b8b", size = 12206730, upload-time = "2025-12-15T05:03:01.325Z" }, + { url = "https://files.pythonhosted.org/packages/05/bb/cdcf89678e26b187650512620eec8368fded4cfd99cfcb431e4cdfd19dec/mypy-1.19.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f859fb09d9583a985be9a493d5cfc5515b56b08f7447759a0c5deaf68d80506e", size = 12724581, upload-time = "2025-12-15T05:03:20.087Z" }, + { url = "https://files.pythonhosted.org/packages/d1/32/dd260d52babf67bad8e6770f8e1102021877ce0edea106e72df5626bb0ec/mypy-1.19.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c9a6538e0415310aad77cb94004ca6482330fece18036b5f360b62c45814c4ef", size = 13616252, upload-time = "2025-12-15T05:02:49.036Z" }, + { url = "https://files.pythonhosted.org/packages/71/d0/5e60a9d2e3bd48432ae2b454b7ef2b62a960ab51292b1eda2a95edd78198/mypy-1.19.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:da4869fc5e7f62a88f3fe0b5c919d1d9f7ea3cef92d3689de2823fd27e40aa75", size = 13840848, upload-time = "2025-12-15T05:02:55.95Z" }, + { url = "https://files.pythonhosted.org/packages/98/76/d32051fa65ecf6cc8c6610956473abdc9b4c43301107476ac03559507843/mypy-1.19.1-cp313-cp313-win_amd64.whl", hash = "sha256:016f2246209095e8eda7538944daa1d60e1e8134d98983b9fc1e92c1fc0cb8dd", size = 10135510, upload-time = "2025-12-15T05:02:58.438Z" }, + { url = "https://files.pythonhosted.org/packages/de/eb/b83e75f4c820c4247a58580ef86fcd35165028f191e7e1ba57128c52782d/mypy-1.19.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:06e6170bd5836770e8104c8fdd58e5e725cfeb309f0a6c681a811f557e97eac1", size = 13199744, upload-time = "2025-12-15T05:03:30.823Z" }, + { url = "https://files.pythonhosted.org/packages/94/28/52785ab7bfa165f87fcbb61547a93f98bb20e7f82f90f165a1f69bce7b3d/mypy-1.19.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:804bd67b8054a85447c8954215a906d6eff9cabeabe493fb6334b24f4bfff718", size = 12215815, upload-time = "2025-12-15T05:02:42.323Z" }, + { url = "https://files.pythonhosted.org/packages/0a/c6/bdd60774a0dbfb05122e3e925f2e9e846c009e479dcec4821dad881f5b52/mypy-1.19.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:21761006a7f497cb0d4de3d8ef4ca70532256688b0523eee02baf9eec895e27b", size = 12740047, upload-time = "2025-12-15T05:03:33.168Z" }, + { url = "https://files.pythonhosted.org/packages/32/2a/66ba933fe6c76bd40d1fe916a83f04fed253152f451a877520b3c4a5e41e/mypy-1.19.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:28902ee51f12e0f19e1e16fbe2f8f06b6637f482c459dd393efddd0ec7f82045", size = 13601998, upload-time = "2025-12-15T05:03:13.056Z" }, + { url = "https://files.pythonhosted.org/packages/e3/da/5055c63e377c5c2418760411fd6a63ee2b96cf95397259038756c042574f/mypy-1.19.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:481daf36a4c443332e2ae9c137dfee878fcea781a2e3f895d54bd3002a900957", size = 13807476, upload-time = "2025-12-15T05:03:17.977Z" }, + { url = "https://files.pythonhosted.org/packages/cd/09/4ebd873390a063176f06b0dbf1f7783dd87bd120eae7727fa4ae4179b685/mypy-1.19.1-cp314-cp314-win_amd64.whl", hash = "sha256:8bb5c6f6d043655e055be9b542aa5f3bdd30e4f3589163e85f93f3640060509f", size = 10281872, upload-time = "2025-12-15T05:03:05.549Z" }, + { url = "https://files.pythonhosted.org/packages/b5/f7/88436084550ca9af5e610fa45286be04c3b63374df3e021c762fe8c4369f/mypy-1.19.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7bcfc336a03a1aaa26dfce9fff3e287a3ba99872a157561cbfcebe67c13308e3", size = 13102606, upload-time = "2025-12-15T05:02:46.833Z" }, + { url = "https://files.pythonhosted.org/packages/ca/a5/43dfad311a734b48a752790571fd9e12d61893849a01bff346a54011957f/mypy-1.19.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b7951a701c07ea584c4fe327834b92a30825514c868b1f69c30445093fdd9d5a", size = 12164496, upload-time = "2025-12-15T05:03:41.947Z" }, + { url = "https://files.pythonhosted.org/packages/88/f0/efbfa391395cce2f2771f937e0620cfd185ec88f2b9cd88711028a768e96/mypy-1.19.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b13cfdd6c87fc3efb69ea4ec18ef79c74c3f98b4e5498ca9b85ab3b2c2329a67", size = 12772068, upload-time = "2025-12-15T05:02:53.689Z" }, + { url = "https://files.pythonhosted.org/packages/25/05/58b3ba28f5aed10479e899a12d2120d582ba9fa6288851b20bf1c32cbb4f/mypy-1.19.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4f28f99c824ecebcdaa2e55d82953e38ff60ee5ec938476796636b86afa3956e", size = 13520385, upload-time = "2025-12-15T05:02:38.328Z" }, + { url = "https://files.pythonhosted.org/packages/c5/a0/c006ccaff50b31e542ae69b92fe7e2f55d99fba3a55e01067dd564325f85/mypy-1.19.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c608937067d2fc5a4dd1a5ce92fd9e1398691b8c5d012d66e1ddd430e9244376", size = 13796221, upload-time = "2025-12-15T05:03:22.147Z" }, + { url = "https://files.pythonhosted.org/packages/b2/ff/8bdb051cd710f01b880472241bd36b3f817a8e1c5d5540d0b761675b6de2/mypy-1.19.1-cp39-cp39-win_amd64.whl", hash = "sha256:409088884802d511ee52ca067707b90c883426bd95514e8cfda8281dc2effe24", size = 10055456, upload-time = "2025-12-15T05:03:35.169Z" }, + { url = "https://files.pythonhosted.org/packages/8d/f4/4ce9a05ce5ded1de3ec1c1d96cf9f9504a04e54ce0ed55cfa38619a32b8d/mypy-1.19.1-py3-none-any.whl", hash = "sha256:f1235f5ea01b7db5468d53ece6aaddf1ad0b88d9e7462b86ef96fe04995d7247", size = 2471239, upload-time = "2025-12-15T05:03:07.248Z" }, +] + +[[package]] +name = "mypy-extensions" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/6e/371856a3fb9d31ca8dac321cda606860fa4548858c0cc45d9d1d4ca2628b/mypy_extensions-1.1.0.tar.gz", hash = "sha256:52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558", size = 6343, upload-time = "2025-04-22T14:54:24.164Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl", hash = "sha256:1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505", size = 4963, upload-time = "2025-04-22T14:54:22.983Z" }, +] + +[[package]] +name = "numerize" +version = "0.12" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6a/cf/c5dfa6ca5b6553f30860337020d76c582fd81b48da58982a6f2ff1f1fe40/numerize-0.12.tar.gz", hash = "sha256:5548fe72adceb2c7964998179697d80117bb117f57cd02f872cf5db40d615c04", size = 2721, upload-time = "2018-08-14T14:48:33.212Z" } + +[[package]] +name = "pathspec" +version = "1.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4c/b2/bb8e495d5262bfec41ab5cb18f522f1012933347fb5d9e62452d446baca2/pathspec-1.0.3.tar.gz", hash = "sha256:bac5cf97ae2c2876e2d25ebb15078eb04d76e4b98921ee31c6f85ade8b59444d", size = 130841, upload-time = "2026-01-09T15:46:46.009Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/32/2b/121e912bd60eebd623f873fd090de0e84f322972ab25a7f9044c056804ed/pathspec-1.0.3-py3-none-any.whl", hash = "sha256:e80767021c1cc524aa3fb14bedda9c34406591343cc42797b386ce7b9354fb6c", size = 55021, upload-time = "2026-01-09T15:46:44.652Z" }, +] + +[[package]] +name = "pycparser" +version = "2.23" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fe/cf/d2d3b9f5699fb1e4615c8e32ff220203e43b248e1dfcc6736ad9057731ca/pycparser-2.23.tar.gz", hash = "sha256:78816d4f24add8f10a06d6f05b4d424ad9e96cfebf68a4ddc99c65c0720d00c2", size = 173734, upload-time = "2025-09-09T13:23:47.91Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/e3/59cd50310fc9b59512193629e1984c1f95e5c8ae6e5d8c69532ccc65a7fe/pycparser-2.23-py3-none-any.whl", hash = "sha256:e5c6e8d3fbad53479cab09ac03729e0a9faf2bee3db8208a550daf5af81a5934", size = 118140, upload-time = "2025-09-09T13:23:46.651Z" }, +] + +[[package]] +name = "pyjwt" +version = "2.10.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e7/46/bd74733ff231675599650d3e47f361794b22ef3e3770998dda30d3b63726/pyjwt-2.10.1.tar.gz", hash = "sha256:3cc5772eb20009233caf06e9d8a0577824723b44e6648ee0a2aedb6cf9381953", size = 87785, upload-time = "2024-11-28T03:43:29.933Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/61/ad/689f02752eeec26aed679477e80e632ef1b682313be70793d798c1d5fc8f/PyJWT-2.10.1-py3-none-any.whl", hash = "sha256:dcdd193e30abefd5debf142f9adfcdd2b58004e644f25406ffaebd50bd98dacb", size = 22997, upload-time = "2024-11-28T03:43:27.893Z" }, +] + +[package.optional-dependencies] +crypto = [ + { name = "cryptography" }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, +] + +[[package]] +name = "python-slugify" +version = "8.0.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "text-unidecode" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/87/c7/5e1547c44e31da50a460df93af11a535ace568ef89d7a811069ead340c4a/python-slugify-8.0.4.tar.gz", hash = "sha256:59202371d1d05b54a9e7720c5e038f928f45daaffe41dd10822f3907b937c856", size = 10921, upload-time = "2024-02-08T18:32:45.488Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a4/62/02da182e544a51a5c3ccf4b03ab79df279f9c60c5e82d5e8bec7ca26ac11/python_slugify-8.0.4-py2.py3-none-any.whl", hash = "sha256:276540b79961052b66b7d116620b36518847f52d5fd9e3a70164fc8c50faa6b8", size = 10051, upload-time = "2024-02-08T18:32:43.911Z" }, +] + +[[package]] +name = "requests" +version = "2.32.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf", size = 134517, upload-time = "2025-08-18T20:46:02.573Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", size = 64738, upload-time = "2025-08-18T20:46:00.542Z" }, +] + +[[package]] +name = "ruff" +version = "0.14.13" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/50/0a/1914efb7903174b381ee2ffeebb4253e729de57f114e63595114c8ca451f/ruff-0.14.13.tar.gz", hash = "sha256:83cd6c0763190784b99650a20fec7633c59f6ebe41c5cc9d45ee42749563ad47", size = 6059504, upload-time = "2026-01-15T20:15:16.918Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c3/ae/0deefbc65ca74b0ab1fd3917f94dc3b398233346a74b8bbb0a916a1a6bf6/ruff-0.14.13-py3-none-linux_armv6l.whl", hash = "sha256:76f62c62cd37c276cb03a275b198c7c15bd1d60c989f944db08a8c1c2dbec18b", size = 13062418, upload-time = "2026-01-15T20:14:50.779Z" }, + { url = "https://files.pythonhosted.org/packages/47/df/5916604faa530a97a3c154c62a81cb6b735c0cb05d1e26d5ad0f0c8ac48a/ruff-0.14.13-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:914a8023ece0528d5cc33f5a684f5f38199bbb566a04815c2c211d8f40b5d0ed", size = 13442344, upload-time = "2026-01-15T20:15:07.94Z" }, + { url = "https://files.pythonhosted.org/packages/4c/f3/e0e694dd69163c3a1671e102aa574a50357536f18a33375050334d5cd517/ruff-0.14.13-py3-none-macosx_11_0_arm64.whl", hash = "sha256:d24899478c35ebfa730597a4a775d430ad0d5631b8647a3ab368c29b7e7bd063", size = 12354720, upload-time = "2026-01-15T20:15:09.854Z" }, + { url = "https://files.pythonhosted.org/packages/c3/e8/67f5fcbbaee25e8fc3b56cc33e9892eca7ffe09f773c8e5907757a7e3bdb/ruff-0.14.13-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9aaf3870f14d925bbaf18b8a2347ee0ae7d95a2e490e4d4aea6813ed15ebc80e", size = 12774493, upload-time = "2026-01-15T20:15:20.908Z" }, + { url = "https://files.pythonhosted.org/packages/6b/ce/d2e9cb510870b52a9565d885c0d7668cc050e30fa2c8ac3fb1fda15c083d/ruff-0.14.13-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac5b7f63dd3b27cc811850f5ffd8fff845b00ad70e60b043aabf8d6ecc304e09", size = 12815174, upload-time = "2026-01-15T20:15:05.74Z" }, + { url = "https://files.pythonhosted.org/packages/88/00/c38e5da58beebcf4fa32d0ddd993b63dfacefd02ab7922614231330845bf/ruff-0.14.13-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:78d2b1097750d90ba82ce4ba676e85230a0ed694178ca5e61aa9b459970b3eb9", size = 13680909, upload-time = "2026-01-15T20:15:14.537Z" }, + { url = "https://files.pythonhosted.org/packages/61/61/cd37c9dd5bd0a3099ba79b2a5899ad417d8f3b04038810b0501a80814fd7/ruff-0.14.13-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:7d0bf87705acbbcb8d4c24b2d77fbb73d40210a95c3903b443cd9e30824a5032", size = 15144215, upload-time = "2026-01-15T20:15:22.886Z" }, + { url = "https://files.pythonhosted.org/packages/56/8a/85502d7edbf98c2df7b8876f316c0157359165e16cdf98507c65c8d07d3d/ruff-0.14.13-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a3eb5da8e2c9e9f13431032fdcbe7681de9ceda5835efee3269417c13f1fed5c", size = 14706067, upload-time = "2026-01-15T20:14:48.271Z" }, + { url = "https://files.pythonhosted.org/packages/7e/2f/de0df127feb2ee8c1e54354dc1179b4a23798f0866019528c938ba439aca/ruff-0.14.13-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:642442b42957093811cd8d2140dfadd19c7417030a7a68cf8d51fcdd5f217427", size = 14133916, upload-time = "2026-01-15T20:14:57.357Z" }, + { url = "https://files.pythonhosted.org/packages/0d/77/9b99686bb9fe07a757c82f6f95e555c7a47801a9305576a9c67e0a31d280/ruff-0.14.13-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4acdf009f32b46f6e8864af19cbf6841eaaed8638e65c8dac845aea0d703c841", size = 13859207, upload-time = "2026-01-15T20:14:55.111Z" }, + { url = "https://files.pythonhosted.org/packages/7d/46/2bdcb34a87a179a4d23022d818c1c236cb40e477faf0d7c9afb6813e5876/ruff-0.14.13-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:591a7f68860ea4e003917d19b5c4f5ac39ff558f162dc753a2c5de897fd5502c", size = 14043686, upload-time = "2026-01-15T20:14:52.841Z" }, + { url = "https://files.pythonhosted.org/packages/1a/a9/5c6a4f56a0512c691cf143371bcf60505ed0f0860f24a85da8bd123b2bf1/ruff-0.14.13-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:774c77e841cc6e046fc3e91623ce0903d1cd07e3a36b1a9fe79b81dab3de506b", size = 12663837, upload-time = "2026-01-15T20:15:18.921Z" }, + { url = "https://files.pythonhosted.org/packages/fe/bb/b920016ece7651fa7fcd335d9d199306665486694d4361547ccb19394c44/ruff-0.14.13-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:61f4e40077a1248436772bb6512db5fc4457fe4c49e7a94ea7c5088655dd21ae", size = 12805867, upload-time = "2026-01-15T20:14:59.272Z" }, + { url = "https://files.pythonhosted.org/packages/7d/b3/0bd909851e5696cd21e32a8fc25727e5f58f1934b3596975503e6e85415c/ruff-0.14.13-py3-none-musllinux_1_2_i686.whl", hash = "sha256:6d02f1428357fae9e98ac7aa94b7e966fd24151088510d32cf6f902d6c09235e", size = 13208528, upload-time = "2026-01-15T20:15:03.732Z" }, + { url = "https://files.pythonhosted.org/packages/3b/3b/e2d94cb613f6bbd5155a75cbe072813756363eba46a3f2177a1fcd0cd670/ruff-0.14.13-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:e399341472ce15237be0c0ae5fbceca4b04cd9bebab1a2b2c979e015455d8f0c", size = 13929242, upload-time = "2026-01-15T20:15:11.918Z" }, + { url = "https://files.pythonhosted.org/packages/6a/c5/abd840d4132fd51a12f594934af5eba1d5d27298a6f5b5d6c3be45301caf/ruff-0.14.13-py3-none-win32.whl", hash = "sha256:ef720f529aec113968b45dfdb838ac8934e519711da53a0456038a0efecbd680", size = 12919024, upload-time = "2026-01-15T20:14:43.647Z" }, + { url = "https://files.pythonhosted.org/packages/c2/55/6384b0b8ce731b6e2ade2b5449bf07c0e4c31e8a2e68ea65b3bafadcecc5/ruff-0.14.13-py3-none-win_amd64.whl", hash = "sha256:6070bd026e409734b9257e03e3ef18c6e1a216f0435c6751d7a8ec69cb59abef", size = 14097887, upload-time = "2026-01-15T20:15:01.48Z" }, + { url = "https://files.pythonhosted.org/packages/4d/e1/7348090988095e4e39560cfc2f7555b1b2a7357deba19167b600fdf5215d/ruff-0.14.13-py3-none-win_arm64.whl", hash = "sha256:7ab819e14f1ad9fe39f246cfcc435880ef7a9390d81a2b6ac7e01039083dd247", size = 13080224, upload-time = "2026-01-15T20:14:45.853Z" }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, +] + +[[package]] +name = "text-unidecode" +version = "1.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ab/e2/e9a00f0ccb71718418230718b3d900e71a5d16e701a3dae079a21e9cd8f8/text-unidecode-1.3.tar.gz", hash = "sha256:bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93", size = 76885, upload-time = "2019-08-30T21:36:45.405Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a6/a5/c0b6468d3824fe3fde30dbb5e1f687b291608f9473681bbf7dabbf5a87d7/text_unidecode-1.3-py2.py3-none-any.whl", hash = "sha256:1311f10e8b895935241623731c2ba64f4c455287888b18189350b67134a822e8", size = 78154, upload-time = "2019-08-30T21:37:03.543Z" }, +] + +[[package]] +name = "toml" +version = "0.10.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/be/ba/1f744cdc819428fc6b5084ec34d9b30660f6f9daaf70eead706e3203ec3c/toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f", size = 22253, upload-time = "2020-11-01T01:40:22.204Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", size = 16588, upload-time = "2020-11-01T01:40:20.672Z" }, +] + +[[package]] +name = "tomli" +version = "2.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/82/30/31573e9457673ab10aa432461bee537ce6cef177667deca369efb79df071/tomli-2.4.0.tar.gz", hash = "sha256:aa89c3f6c277dd275d8e243ad24f3b5e701491a860d5121f2cdd399fbb31fc9c", size = 17477, upload-time = "2026-01-11T11:22:38.165Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3c/d9/3dc2289e1f3b32eb19b9785b6a006b28ee99acb37d1d47f78d4c10e28bf8/tomli-2.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b5ef256a3fd497d4973c11bf142e9ed78b150d36f5773f1ca6088c230ffc5867", size = 153663, upload-time = "2026-01-11T11:21:45.27Z" }, + { url = "https://files.pythonhosted.org/packages/51/32/ef9f6845e6b9ca392cd3f64f9ec185cc6f09f0a2df3db08cbe8809d1d435/tomli-2.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5572e41282d5268eb09a697c89a7bee84fae66511f87533a6f88bd2f7b652da9", size = 148469, upload-time = "2026-01-11T11:21:46.873Z" }, + { url = "https://files.pythonhosted.org/packages/d6/c2/506e44cce89a8b1b1e047d64bd495c22c9f71f21e05f380f1a950dd9c217/tomli-2.4.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:551e321c6ba03b55676970b47cb1b73f14a0a4dce6a3e1a9458fd6d921d72e95", size = 236039, upload-time = "2026-01-11T11:21:48.503Z" }, + { url = "https://files.pythonhosted.org/packages/b3/40/e1b65986dbc861b7e986e8ec394598187fa8aee85b1650b01dd925ca0be8/tomli-2.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5e3f639a7a8f10069d0e15408c0b96a2a828cfdec6fca05296ebcdcc28ca7c76", size = 243007, upload-time = "2026-01-11T11:21:49.456Z" }, + { url = "https://files.pythonhosted.org/packages/9c/6f/6e39ce66b58a5b7ae572a0f4352ff40c71e8573633deda43f6a379d56b3e/tomli-2.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1b168f2731796b045128c45982d3a4874057626da0e2ef1fdd722848b741361d", size = 240875, upload-time = "2026-01-11T11:21:50.755Z" }, + { url = "https://files.pythonhosted.org/packages/aa/ad/cb089cb190487caa80204d503c7fd0f4d443f90b95cf4ef5cf5aa0f439b0/tomli-2.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:133e93646ec4300d651839d382d63edff11d8978be23da4cc106f5a18b7d0576", size = 246271, upload-time = "2026-01-11T11:21:51.81Z" }, + { url = "https://files.pythonhosted.org/packages/0b/63/69125220e47fd7a3a27fd0de0c6398c89432fec41bc739823bcc66506af6/tomli-2.4.0-cp311-cp311-win32.whl", hash = "sha256:b6c78bdf37764092d369722d9946cb65b8767bfa4110f902a1b2542d8d173c8a", size = 96770, upload-time = "2026-01-11T11:21:52.647Z" }, + { url = "https://files.pythonhosted.org/packages/1e/0d/a22bb6c83f83386b0008425a6cd1fa1c14b5f3dd4bad05e98cf3dbbf4a64/tomli-2.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:d3d1654e11d724760cdb37a3d7691f0be9db5fbdaef59c9f532aabf87006dbaa", size = 107626, upload-time = "2026-01-11T11:21:53.459Z" }, + { url = "https://files.pythonhosted.org/packages/2f/6d/77be674a3485e75cacbf2ddba2b146911477bd887dda9d8c9dfb2f15e871/tomli-2.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:cae9c19ed12d4e8f3ebf46d1a75090e4c0dc16271c5bce1c833ac168f08fb614", size = 94842, upload-time = "2026-01-11T11:21:54.831Z" }, + { url = "https://files.pythonhosted.org/packages/3c/43/7389a1869f2f26dba52404e1ef13b4784b6b37dac93bac53457e3ff24ca3/tomli-2.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:920b1de295e72887bafa3ad9f7a792f811847d57ea6b1215154030cf131f16b1", size = 154894, upload-time = "2026-01-11T11:21:56.07Z" }, + { url = "https://files.pythonhosted.org/packages/e9/05/2f9bf110b5294132b2edf13fe6ca6ae456204f3d749f623307cbb7a946f2/tomli-2.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7d6d9a4aee98fac3eab4952ad1d73aee87359452d1c086b5ceb43ed02ddb16b8", size = 149053, upload-time = "2026-01-11T11:21:57.467Z" }, + { url = "https://files.pythonhosted.org/packages/e8/41/1eda3ca1abc6f6154a8db4d714a4d35c4ad90adc0bcf700657291593fbf3/tomli-2.4.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:36b9d05b51e65b254ea6c2585b59d2c4cb91c8a3d91d0ed0f17591a29aaea54a", size = 243481, upload-time = "2026-01-11T11:21:58.661Z" }, + { url = "https://files.pythonhosted.org/packages/d2/6d/02ff5ab6c8868b41e7d4b987ce2b5f6a51d3335a70aa144edd999e055a01/tomli-2.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1c8a885b370751837c029ef9bc014f27d80840e48bac415f3412e6593bbc18c1", size = 251720, upload-time = "2026-01-11T11:22:00.178Z" }, + { url = "https://files.pythonhosted.org/packages/7b/57/0405c59a909c45d5b6f146107c6d997825aa87568b042042f7a9c0afed34/tomli-2.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8768715ffc41f0008abe25d808c20c3d990f42b6e2e58305d5da280ae7d1fa3b", size = 247014, upload-time = "2026-01-11T11:22:01.238Z" }, + { url = "https://files.pythonhosted.org/packages/2c/0e/2e37568edd944b4165735687cbaf2fe3648129e440c26d02223672ee0630/tomli-2.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7b438885858efd5be02a9a133caf5812b8776ee0c969fea02c45e8e3f296ba51", size = 251820, upload-time = "2026-01-11T11:22:02.727Z" }, + { url = "https://files.pythonhosted.org/packages/5a/1c/ee3b707fdac82aeeb92d1a113f803cf6d0f37bdca0849cb489553e1f417a/tomli-2.4.0-cp312-cp312-win32.whl", hash = "sha256:0408e3de5ec77cc7f81960c362543cbbd91ef883e3138e81b729fc3eea5b9729", size = 97712, upload-time = "2026-01-11T11:22:03.777Z" }, + { url = "https://files.pythonhosted.org/packages/69/13/c07a9177d0b3bab7913299b9278845fc6eaaca14a02667c6be0b0a2270c8/tomli-2.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:685306e2cc7da35be4ee914fd34ab801a6acacb061b6a7abca922aaf9ad368da", size = 108296, upload-time = "2026-01-11T11:22:04.86Z" }, + { url = "https://files.pythonhosted.org/packages/18/27/e267a60bbeeee343bcc279bb9e8fbed0cbe224bc7b2a3dc2975f22809a09/tomli-2.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:5aa48d7c2356055feef06a43611fc401a07337d5b006be13a30f6c58f869e3c3", size = 94553, upload-time = "2026-01-11T11:22:05.854Z" }, + { url = "https://files.pythonhosted.org/packages/34/91/7f65f9809f2936e1f4ce6268ae1903074563603b2a2bd969ebbda802744f/tomli-2.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:84d081fbc252d1b6a982e1870660e7330fb8f90f676f6e78b052ad4e64714bf0", size = 154915, upload-time = "2026-01-11T11:22:06.703Z" }, + { url = "https://files.pythonhosted.org/packages/20/aa/64dd73a5a849c2e8f216b755599c511badde80e91e9bc2271baa7b2cdbb1/tomli-2.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9a08144fa4cba33db5255f9b74f0b89888622109bd2776148f2597447f92a94e", size = 149038, upload-time = "2026-01-11T11:22:07.56Z" }, + { url = "https://files.pythonhosted.org/packages/9e/8a/6d38870bd3d52c8d1505ce054469a73f73a0fe62c0eaf5dddf61447e32fa/tomli-2.4.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c73add4bb52a206fd0c0723432db123c0c75c280cbd67174dd9d2db228ebb1b4", size = 242245, upload-time = "2026-01-11T11:22:08.344Z" }, + { url = "https://files.pythonhosted.org/packages/59/bb/8002fadefb64ab2669e5b977df3f5e444febea60e717e755b38bb7c41029/tomli-2.4.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1fb2945cbe303b1419e2706e711b7113da57b7db31ee378d08712d678a34e51e", size = 250335, upload-time = "2026-01-11T11:22:09.951Z" }, + { url = "https://files.pythonhosted.org/packages/a5/3d/4cdb6f791682b2ea916af2de96121b3cb1284d7c203d97d92d6003e91c8d/tomli-2.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bbb1b10aa643d973366dc2cb1ad94f99c1726a02343d43cbc011edbfac579e7c", size = 245962, upload-time = "2026-01-11T11:22:11.27Z" }, + { url = "https://files.pythonhosted.org/packages/f2/4a/5f25789f9a460bd858ba9756ff52d0830d825b458e13f754952dd15fb7bb/tomli-2.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4cbcb367d44a1f0c2be408758b43e1ffb5308abe0ea222897d6bfc8e8281ef2f", size = 250396, upload-time = "2026-01-11T11:22:12.325Z" }, + { url = "https://files.pythonhosted.org/packages/aa/2f/b73a36fea58dfa08e8b3a268750e6853a6aac2a349241a905ebd86f3047a/tomli-2.4.0-cp313-cp313-win32.whl", hash = "sha256:7d49c66a7d5e56ac959cb6fc583aff0651094ec071ba9ad43df785abc2320d86", size = 97530, upload-time = "2026-01-11T11:22:13.865Z" }, + { url = "https://files.pythonhosted.org/packages/3b/af/ca18c134b5d75de7e8dc551c5234eaba2e8e951f6b30139599b53de9c187/tomli-2.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:3cf226acb51d8f1c394c1b310e0e0e61fecdd7adcb78d01e294ac297dd2e7f87", size = 108227, upload-time = "2026-01-11T11:22:15.224Z" }, + { url = "https://files.pythonhosted.org/packages/22/c3/b386b832f209fee8073c8138ec50f27b4460db2fdae9ffe022df89a57f9b/tomli-2.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:d20b797a5c1ad80c516e41bc1fb0443ddb5006e9aaa7bda2d71978346aeb9132", size = 94748, upload-time = "2026-01-11T11:22:16.009Z" }, + { url = "https://files.pythonhosted.org/packages/f3/c4/84047a97eb1004418bc10bdbcfebda209fca6338002eba2dc27cc6d13563/tomli-2.4.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:26ab906a1eb794cd4e103691daa23d95c6919cc2fa9160000ac02370cc9dd3f6", size = 154725, upload-time = "2026-01-11T11:22:17.269Z" }, + { url = "https://files.pythonhosted.org/packages/a8/5d/d39038e646060b9d76274078cddf146ced86dc2b9e8bbf737ad5983609a0/tomli-2.4.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:20cedb4ee43278bc4f2fee6cb50daec836959aadaf948db5172e776dd3d993fc", size = 148901, upload-time = "2026-01-11T11:22:18.287Z" }, + { url = "https://files.pythonhosted.org/packages/73/e5/383be1724cb30f4ce44983d249645684a48c435e1cd4f8b5cded8a816d3c/tomli-2.4.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:39b0b5d1b6dd03684b3fb276407ebed7090bbec989fa55838c98560c01113b66", size = 243375, upload-time = "2026-01-11T11:22:19.154Z" }, + { url = "https://files.pythonhosted.org/packages/31/f0/bea80c17971c8d16d3cc109dc3585b0f2ce1036b5f4a8a183789023574f2/tomli-2.4.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a26d7ff68dfdb9f87a016ecfd1e1c2bacbe3108f4e0f8bcd2228ef9a766c787d", size = 250639, upload-time = "2026-01-11T11:22:20.168Z" }, + { url = "https://files.pythonhosted.org/packages/2c/8f/2853c36abbb7608e3f945d8a74e32ed3a74ee3a1f468f1ffc7d1cb3abba6/tomli-2.4.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:20ffd184fb1df76a66e34bd1b36b4a4641bd2b82954befa32fe8163e79f1a702", size = 246897, upload-time = "2026-01-11T11:22:21.544Z" }, + { url = "https://files.pythonhosted.org/packages/49/f0/6c05e3196ed5337b9fe7ea003e95fd3819a840b7a0f2bf5a408ef1dad8ed/tomli-2.4.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:75c2f8bbddf170e8effc98f5e9084a8751f8174ea6ccf4fca5398436e0320bc8", size = 254697, upload-time = "2026-01-11T11:22:23.058Z" }, + { url = "https://files.pythonhosted.org/packages/f3/f5/2922ef29c9f2951883525def7429967fc4d8208494e5ab524234f06b688b/tomli-2.4.0-cp314-cp314-win32.whl", hash = "sha256:31d556d079d72db7c584c0627ff3a24c5d3fb4f730221d3444f3efb1b2514776", size = 98567, upload-time = "2026-01-11T11:22:24.033Z" }, + { url = "https://files.pythonhosted.org/packages/7b/31/22b52e2e06dd2a5fdbc3ee73226d763b184ff21fc24e20316a44ccc4d96b/tomli-2.4.0-cp314-cp314-win_amd64.whl", hash = "sha256:43e685b9b2341681907759cf3a04e14d7104b3580f808cfde1dfdb60ada85475", size = 108556, upload-time = "2026-01-11T11:22:25.378Z" }, + { url = "https://files.pythonhosted.org/packages/48/3d/5058dff3255a3d01b705413f64f4306a141a8fd7a251e5a495e3f192a998/tomli-2.4.0-cp314-cp314-win_arm64.whl", hash = "sha256:3d895d56bd3f82ddd6faaff993c275efc2ff38e52322ea264122d72729dca2b2", size = 96014, upload-time = "2026-01-11T11:22:26.138Z" }, + { url = "https://files.pythonhosted.org/packages/b8/4e/75dab8586e268424202d3a1997ef6014919c941b50642a1682df43204c22/tomli-2.4.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:5b5807f3999fb66776dbce568cc9a828544244a8eb84b84b9bafc080c99597b9", size = 163339, upload-time = "2026-01-11T11:22:27.143Z" }, + { url = "https://files.pythonhosted.org/packages/06/e3/b904d9ab1016829a776d97f163f183a48be6a4deb87304d1e0116a349519/tomli-2.4.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c084ad935abe686bd9c898e62a02a19abfc9760b5a79bc29644463eaf2840cb0", size = 159490, upload-time = "2026-01-11T11:22:28.399Z" }, + { url = "https://files.pythonhosted.org/packages/e3/5a/fc3622c8b1ad823e8ea98a35e3c632ee316d48f66f80f9708ceb4f2a0322/tomli-2.4.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0f2e3955efea4d1cfbcb87bc321e00dc08d2bcb737fd1d5e398af111d86db5df", size = 269398, upload-time = "2026-01-11T11:22:29.345Z" }, + { url = "https://files.pythonhosted.org/packages/fd/33/62bd6152c8bdd4c305ad9faca48f51d3acb2df1f8791b1477d46ff86e7f8/tomli-2.4.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0e0fe8a0b8312acf3a88077a0802565cb09ee34107813bba1c7cd591fa6cfc8d", size = 276515, upload-time = "2026-01-11T11:22:30.327Z" }, + { url = "https://files.pythonhosted.org/packages/4b/ff/ae53619499f5235ee4211e62a8d7982ba9e439a0fb4f2f351a93d67c1dd2/tomli-2.4.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:413540dce94673591859c4c6f794dfeaa845e98bf35d72ed59636f869ef9f86f", size = 273806, upload-time = "2026-01-11T11:22:32.56Z" }, + { url = "https://files.pythonhosted.org/packages/47/71/cbca7787fa68d4d0a9f7072821980b39fbb1b6faeb5f5cf02f4a5559fa28/tomli-2.4.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:0dc56fef0e2c1c470aeac5b6ca8cc7b640bb93e92d9803ddaf9ea03e198f5b0b", size = 281340, upload-time = "2026-01-11T11:22:33.505Z" }, + { url = "https://files.pythonhosted.org/packages/f5/00/d595c120963ad42474cf6ee7771ad0d0e8a49d0f01e29576ee9195d9ecdf/tomli-2.4.0-cp314-cp314t-win32.whl", hash = "sha256:d878f2a6707cc9d53a1be1414bbb419e629c3d6e67f69230217bb663e76b5087", size = 108106, upload-time = "2026-01-11T11:22:34.451Z" }, + { url = "https://files.pythonhosted.org/packages/de/69/9aa0c6a505c2f80e519b43764f8b4ba93b5a0bbd2d9a9de6e2b24271b9a5/tomli-2.4.0-cp314-cp314t-win_amd64.whl", hash = "sha256:2add28aacc7425117ff6364fe9e06a183bb0251b03f986df0e78e974047571fd", size = 120504, upload-time = "2026-01-11T11:22:35.764Z" }, + { url = "https://files.pythonhosted.org/packages/b3/9f/f1668c281c58cfae01482f7114a4b88d345e4c140386241a1a24dcc9e7bc/tomli-2.4.0-cp314-cp314t-win_arm64.whl", hash = "sha256:2b1e3b80e1d5e52e40e9b924ec43d81570f0e7d09d11081b797bc4692765a3d4", size = 99561, upload-time = "2026-01-11T11:22:36.624Z" }, + { url = "https://files.pythonhosted.org/packages/23/d1/136eb2cb77520a31e1f64cbae9d33ec6df0d78bdf4160398e86eec8a8754/tomli-2.4.0-py3-none-any.whl", hash = "sha256:1f776e7d669ebceb01dee46484485f43a4048746235e683bcdffacdf1fb4785a", size = 14477, upload-time = "2026-01-11T11:22:37.446Z" }, +] + +[[package]] +name = "types-python-slugify" +version = "8.0.2.20240310" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d2/cb/7fdc1982b117d216a9ebbe4ecc6619690991c48f994d93dee7888f459976/types-python-slugify-8.0.2.20240310.tar.gz", hash = "sha256:5157b508c7fed587520c70d77f62aea0fafdc6620893c2ec8972f13a1faf5560", size = 3661, upload-time = "2024-03-10T02:19:03.582Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ce/6d/873300a60133e51b284a5287a618d3d948a65160e3954b90b3dc5e562667/types_python_slugify-8.0.2.20240310-py3-none-any.whl", hash = "sha256:0efec18b802c69ebd22dcee55c91afaeaa80e1e40ddd66ccabf69fd42ce87b74", size = 3566, upload-time = "2024-03-10T02:19:02.575Z" }, +] + +[[package]] +name = "types-toml" +version = "0.10.8.20240310" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/86/47/3e4c75042792bff8e90d7991aa5c51812cc668828cc6cce711e97f63a607/types-toml-0.10.8.20240310.tar.gz", hash = "sha256:3d41501302972436a6b8b239c850b26689657e25281b48ff0ec06345b8830331", size = 4392, upload-time = "2024-03-10T02:18:37.518Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/da/a2/d32ab58c0b216912638b140ab2170ee4b8644067c293b170e19fba340ccc/types_toml-0.10.8.20240310-py3-none-any.whl", hash = "sha256:627b47775d25fa29977d9c70dc0cbab3f314f32c8d8d0c012f2ef5de7aaec05d", size = 4777, upload-time = "2024-03-10T02:18:36.568Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" }, +] + +[[package]] +name = "uritemplate" +version = "4.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/98/60/f174043244c5306c9988380d2cb10009f91563fc4b31293d27e17201af56/uritemplate-4.2.0.tar.gz", hash = "sha256:480c2ed180878955863323eea31b0ede668795de182617fef9c6ca09e6ec9d0e", size = 33267, upload-time = "2025-06-02T15:12:06.318Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a9/99/3ae339466c9183ea5b8ae87b34c0b897eda475d2aec2307cae60e5cd4f29/uritemplate-4.2.0-py3-none-any.whl", hash = "sha256:962201ba1c4edcab02e60f9a0d3821e82dfc5d2d6662a21abd533879bdb8a686", size = 11488, upload-time = "2025-06-02T15:12:03.405Z" }, +] + +[[package]] +name = "urllib3" +version = "2.6.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", hash = "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed", size = 435556, upload-time = "2026-01-07T16:24:43.925Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", hash = "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4", size = 131584, upload-time = "2026-01-07T16:24:42.685Z" }, +] + +[[package]] +name = "win32-setctime" +version = "1.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b3/8f/705086c9d734d3b663af0e9bb3d4de6578d08f46b1b101c2442fd9aecaa2/win32_setctime-1.2.0.tar.gz", hash = "sha256:ae1fdf948f5640aae05c511ade119313fb6a30d7eabe25fef9764dca5873c4c0", size = 4867, upload-time = "2024-12-07T15:28:28.314Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e1/07/c6fe3ad3e685340704d314d765b7912993bcb8dc198f0e7a89382d37974b/win32_setctime-1.2.0-py3-none-any.whl", hash = "sha256:95d644c4e708aba81dc3704a116d8cbc974d70b3bdb8be1d150e36be6e9d1390", size = 4083, upload-time = "2024-12-07T15:28:26.465Z" }, +] From 4137d5e2461d7d4c1aa0ceb9424c5ec9b1b3d744 Mon Sep 17 00:00:00 2001 From: Jai Pradeesh Date: Tue, 20 Jan 2026 13:37:42 -0800 Subject: [PATCH 07/15] Fix cron workflow by adding uv setup - Add astral-sh/setup-uv@v7 step (fixes make pre-build failure) - Update runner to blacksmith-2vcpu-ubuntu-2404 - Bump actions/checkout to v6 - Bump actions/setup-python to v6 Signed-off-by: Jai Pradeesh --- .github/workflows/ci.yml | 9 ++++++--- .github/workflows/cron.yml | 9 ++++++--- vercel.json | 3 +-- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index aa3ab899..87cc1f5a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -4,16 +4,19 @@ on: [push] jobs: test: - runs-on: ubuntu-latest + runs-on: blacksmith-2vcpu-ubuntu-2404 steps: - name: Checkout repo - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Set up Python 3.12 - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: '3.12' + - name: Install uv + uses: astral-sh/setup-uv@v7 + - name: Install dependencies run: make pre-build diff --git a/.github/workflows/cron.yml b/.github/workflows/cron.yml index d3d88282..d325c698 100644 --- a/.github/workflows/cron.yml +++ b/.github/workflows/cron.yml @@ -7,16 +7,19 @@ on: jobs: deploy: - runs-on: ubuntu-latest + runs-on: blacksmith-2vcpu-ubuntu-2404 steps: - name: Checkout repo - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Set up Python 3.12 - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: '3.12' + - name: Install uv + uses: astral-sh/setup-uv@v7 + - name: Set up bun uses: oven-sh/setup-bun@v1 diff --git a/vercel.json b/vercel.json index 6872d58a..d61609a9 100644 --- a/vercel.json +++ b/vercel.json @@ -1,6 +1,5 @@ { "$schema": "https://openapi.vercel.sh/vercel.json", "buildCommand": "make generate-prod", - "framework": "nuxtjs", - "installCommand": "yum install -y python3-pip" + "framework": "nuxtjs" } From d85c8c43183d74323922dba6c7e55f95a3aa24df Mon Sep 17 00:00:00 2001 From: Jai Pradeesh Date: Tue, 20 Jan 2026 14:10:48 -0800 Subject: [PATCH 08/15] Add global rate limiter with coordinated backoff - Add GitHubRateLimiter class for thread-safe API throttling - Share single GitHub client across all workers - Proactively pause when quota drops below 100 - Coordinate all workers to pause together on rate limit hit - Reduce MAX_CONCURRENCY from 10 to 5 - Remove unused itertools and Mapping imports --- gfi/populate.py | 120 ++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 97 insertions(+), 23 deletions(-) diff --git a/gfi/populate.py b/gfi/populate.py index b06443a3..f57300cf 100644 --- a/gfi/populate.py +++ b/gfi/populate.py @@ -1,15 +1,15 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -import itertools import json import random import re +import threading import time from collections import Counter from concurrent.futures import ThreadPoolExecutor from operator import itemgetter from os import getenv, path -from typing import TypedDict, Dict, Union, Sequence, Optional, Mapping +from typing import TypedDict, Dict, Union, Sequence, Optional import toml @@ -19,7 +19,7 @@ from slugify import slugify from loguru import logger -MAX_CONCURRENCY = 10 # max number of requests to make to GitHub in parallel (reduced to avoid rate limits) +MAX_CONCURRENCY = 5 # max number of requests to make to GitHub in parallel REPO_DATA_FILE = "data/repositories.toml" REPO_GENERATED_DATA_FILE = "data/generated.json" TAGS_GENERATED_DATA_FILE = "data/tags.json" @@ -44,6 +44,72 @@ class RepoNotFoundException(Exception): """Exception class for repo not found.""" +class GitHubRateLimiter: + """Thread-safe rate limiter for GitHub API requests.""" + + def __init__(self, client, requests_per_second=1.0): + self._client = client + self._lock = threading.Lock() + self._min_interval = 1.0 / requests_per_second + self._last_request_time = 0.0 + self._remaining = None + self._reset_time = None + self._paused_until = 0.0 + + def acquire(self): + """Block until it's safe to make an API request.""" + with self._lock: + # Check for coordinated pause + if time.time() < self._paused_until: + wait_time = self._paused_until - time.time() + logger.info("Waiting {:.0f}s for rate limit reset", wait_time) + time.sleep(wait_time) + + # Refresh rate limit info periodically + if self._remaining is None or self._remaining % 100 == 0: + self._update_rate_limit() + + # Proactive pause if quota low + if self._remaining is not None and self._remaining < 100: + if self._reset_time: + wait_time = max(0, self._reset_time - time.time() + 5) + if wait_time > 0: + logger.warning("Low quota ({}). Pausing {:.0f}s", self._remaining, wait_time) + self._paused_until = time.time() + wait_time + time.sleep(wait_time) + self._remaining = None + + # Enforce minimum interval + elapsed = time.time() - self._last_request_time + if elapsed < self._min_interval: + time.sleep(self._min_interval - elapsed) + + self._last_request_time = time.time() + if self._remaining: + self._remaining -= 1 + + def _update_rate_limit(self): + try: + info = self._client.rate_limit()['resources']['core'] + self._remaining = info['remaining'] + self._reset_time = info['reset'] + logger.debug("Rate limit: {}/{}", self._remaining, info['limit']) + except Exception as e: + logger.warning("Failed to check rate limit: {}", e) + + def report_rate_limit_hit(self): + """Call when ForbiddenError received - triggers coordinated pause.""" + with self._lock: + self._update_rate_limit() + if self._reset_time: + wait_time = max(60, self._reset_time - time.time() + 5) + else: + wait_time = 60 + self._paused_until = time.time() + wait_time + self._remaining = 0 + logger.warning("Rate limit hit. All workers pause for {:.0f}s", wait_time) + + def parse_github_url(url: str) -> dict: """Take the GitHub repo URL and return a tuple with owner login and repo name.""" match = GH_URL_PATTERN.search(url) @@ -60,36 +126,37 @@ class RepositoryIdentifier(TypedDict): RepositoryInfo = Dict["str", Union[str, int, Sequence]] -def get_repository_info(identifier: RepositoryIdentifier) -> Optional[RepositoryInfo]: +def get_repository_info( + identifier: RepositoryIdentifier, + client, + rate_limiter: GitHubRateLimiter +) -> Optional[RepositoryInfo]: """Get the relevant information needed for the repository from its owner login and name.""" owner, name = identifier["owner"], identifier["name"] logger.info("Getting info for {}/{}", owner, name) - # create a logged in GitHub client - client = login(token=getenv("GH_ACCESS_TOKEN")) - max_retries = 3 for attempt in range(max_retries): try: + rate_limiter.acquire() repository = client.repository(owner, name) # Don't find issues inside archived repos. if repository.archived: return None - good_first_issues = set( - itertools.chain.from_iterable( - repository.issues( - labels=label, - state=ISSUE_STATE, - number=ISSUE_LIMIT, - sort=ISSUE_SORT, - direction=ISSUE_SORT_DIRECTION, - ) - for label in ISSUE_LABELS + good_first_issues = set() + for label in ISSUE_LABELS: + rate_limiter.acquire() + issues_for_label = repository.issues( + labels=label, + state=ISSUE_STATE, + number=ISSUE_LIMIT, + sort=ISSUE_SORT, + direction=ISSUE_SORT_DIRECTION, ) - ) + good_first_issues.update(issues_for_label) logger.info("\t found {} good first issues", len(good_first_issues)) # check if repo has at least one good first issue if good_first_issues and repository.language: @@ -126,11 +193,10 @@ def get_repository_info(identifier: RepositoryIdentifier) -> Optional[Repository return None except exceptions.ForbiddenError: + rate_limiter.report_rate_limit_hit() if attempt < max_retries - 1: - wait_time = 60 * (attempt + 1) # 60s, 120s, 180s - logger.warning("Rate limited on {}/{}. Waiting {}s before retry...", - owner, name, wait_time) - time.sleep(wait_time) + logger.warning("Rate limited on {}/{}. Retrying after coordinated pause...", + owner, name) else: logger.error("Rate limit exceeded after {} retries: {}/{}", max_retries, owner, name) @@ -175,8 +241,16 @@ def get_repository_info(identifier: RepositoryIdentifier) -> Optional[Repository # shuffle the order of the repositories random.shuffle(repositories) + # Create shared client and rate limiter + client = login(token=getenv("GH_ACCESS_TOKEN")) + rate_limiter = GitHubRateLimiter(client, requests_per_second=1.0) + + # Wrapper to pass shared dependencies + def process_repo(identifier): + return get_repository_info(identifier, client, rate_limiter) + with ThreadPoolExecutor(max_workers=MAX_CONCURRENCY) as executor: - results = executor.map(get_repository_info, repositories) + results = executor.map(process_repo, repositories) # filter out repositories with valid data and increment tag counts for result in results: From 8095bdc10517c176b49c415080f600e5c2d5b21f Mon Sep 17 00:00:00 2001 From: Jai Pradeesh Date: Tue, 20 Jan 2026 17:53:25 -0800 Subject: [PATCH 09/15] Add activity validation and update README labels - Skip repos inactive for more than 90 days in populate script - Update README to mention all beginner-friendly labels searched Signed-off-by: Jai Pradeesh --- README.md | 2 +- data/repositories.toml | 4 ++++ gfi/populate.py | 8 ++++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f5d1e68d..f215a3e9 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ To maintain the quality of projects in Good First Issue, please make sure your G | Requirement | Description | |-------------|-------------| -| Good First Issues | At least 3 open issues with the `good first issue` label | +| Good First Issues | At least 3 open issues with beginner-friendly labels (`good first issue`, `beginner`, `easy`, `help wanted`, etc.) | | Contributors | At least 10 contributors | | README.md | Detailed setup instructions | | CONTRIBUTING.md | Guidelines for new contributors | diff --git a/data/repositories.toml b/data/repositories.toml index 96ba26f5..5b41ff39 100644 --- a/data/repositories.toml +++ b/data/repositories.toml @@ -54,6 +54,7 @@ repositories = [ 'github.com/Automattic/wp-calypso', 'github.com/automl/auto-sklearn', 'github.com/Avaiga/taipy', + 'github.com/amelioro/ameliorate', 'github.com/aws-amplify/amplify-cli', 'github.com/aws-amplify/amplify-js', 'github.com/aws/amazon-vpc-cni-k8s', @@ -421,6 +422,7 @@ repositories = [ 'github.com/mesonbuild/meson', 'github.com/MessageKit/MessageKit', 'github.com/MetaMask/metamask-extension', + 'github.com/Michele0303/tiktok-live-recorder', 'github.com/microsoft/ChakraCore', 'github.com/microsoft/graspologic', 'github.com/microsoft/GSL', @@ -532,6 +534,7 @@ repositories = [ 'github.com/phpmd/phpmd', 'github.com/phpmyadmin/phpmyadmin', 'github.com/phpservermon/phpservermon', + 'github.com/physicshub/physicshub.github.io', 'github.com/pieces-app/example-ts', 'github.com/playframework/playframework', 'github.com/Plume-org/Plume', @@ -731,6 +734,7 @@ repositories = [ 'github.com/trailofbits/manticore', 'github.com/tridactyl/tridactyl', 'github.com/tweag/asterius', + 'github.com/typetools/checker-framework', 'github.com/typescript-eslint/typescript-eslint', 'github.com/tzapu/WiFiManager', 'github.com/ubuntu/microk8s', diff --git a/gfi/populate.py b/gfi/populate.py index f57300cf..37a17cb7 100644 --- a/gfi/populate.py +++ b/gfi/populate.py @@ -7,6 +7,7 @@ import time from collections import Counter from concurrent.futures import ThreadPoolExecutor +from datetime import datetime, timezone from operator import itemgetter from os import getenv, path from typing import TypedDict, Dict, Union, Sequence, Optional @@ -30,6 +31,7 @@ ISSUE_SORT_DIRECTION = "desc" ISSUE_LIMIT = 10 SLUGIFY_REPLACEMENTS = [["#", "sharp"], ["+", "plus"]] +MAX_INACTIVITY_DAYS = 90 # Skip repos inactive for more than 3 months if not path.exists(LABELS_DATA_FILE): raise RuntimeError("No labels data file found. Exiting.") @@ -146,6 +148,12 @@ def get_repository_info( if repository.archived: return None + # Skip repos with no recent activity + days_since_push = (datetime.now(timezone.utc) - repository.pushed_at).days + if days_since_push > MAX_INACTIVITY_DAYS: + logger.info("\t skipping due to inactivity ({} days since last push)", days_since_push) + return None + good_first_issues = set() for label in ISSUE_LABELS: rate_limiter.acquire() From 5d03ed28df1372086d9929959e698a24786d358a Mon Sep 17 00:00:00 2001 From: Jai Pradeesh Date: Wed, 21 Jan 2026 10:15:04 -0800 Subject: [PATCH 10/15] Add prowler-cloud/prowler to repositories --- data/repositories.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/data/repositories.toml b/data/repositories.toml index 5b41ff39..9f447bab 100644 --- a/data/repositories.toml +++ b/data/repositories.toml @@ -548,6 +548,7 @@ repositories = [ 'github.com/PrestaShop/PrestaShop', 'github.com/PrismJS/prism', 'github.com/projectcontour/contour', + 'github.com/prowler-cloud/prowler', 'github.com/Provenance-Emu/Provenance', 'github.com/prysmaticlabs/prysm', 'github.com/pterodactyl/panel', From 7702018383c5ef56aebe2ccfb5d18fc9bc6a5efc Mon Sep 17 00:00:00 2001 From: Jai Pradeesh Date: Tue, 27 Jan 2026 08:25:17 +0530 Subject: [PATCH 11/15] Add AI guidelines Signed-off-by: Jai Pradeesh --- CONTRIBUTING.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7eeab886..41b706ce 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -100,3 +100,15 @@ make format 1. Create a new branch for your changes 2. Make your changes and test them locally 3. Submit a pull request with a clear description of what you changed and why + +## AI Usage Guidelines + +If you use AI tools (Claude, Copilot, ChatGPT, etc.) when contributing: + +- **Disclose AI usage** in your pull request description +- **Review and test** all AI-generated code before submitting +- **Ensure accuracy** - don't submit code you haven't verified works + +Low-quality AI-generated PRs or issues will be closed without review. + +_Inspired by [Ghostty's AI Policy](https://github.com/ghostty-org/ghostty/blob/main/AI_POLICY.md)._ From 423eb47613dc1e7e9d62e89536c0f7251e88bb97 Mon Sep 17 00:00:00 2001 From: Jai Pradeesh <68369919+jai-deepsource@users.noreply.github.com> Date: Sun, 1 Mar 2026 14:35:16 -0800 Subject: [PATCH 12/15] Add 11 repositories from form submissions (#2606) - Reviewed all submissions received until March 1, 2026 22:32 UTC - Added: adenhq/hive, arc53/DocsGPT, aregtech/areg-sdk, arferreira/rapina, giselles-ai/giselle, kestra-io/kestra, kstonekuan/tambourine-voice, lingdojo/kana-dojo, mlco2/codecarbon, petertzy/markdown-reader, sandstorm-io/sandstorm - Rejected 34 submissions that did not meet validation criteria - Skipped prowler-cloud/prowler (already added in 5d03ed2) --- data/repositories.toml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/data/repositories.toml b/data/repositories.toml index 9f447bab..edf6d236 100644 --- a/data/repositories.toml +++ b/data/repositories.toml @@ -4,6 +4,7 @@ repositories = [ 'github.com/AcademySoftwareFoundation/openvdb', 'github.com/activecm/rita', 'github.com/AdityaMulgundkar/flutter_opencv', + 'github.com/adenhq/hive', 'github.com/agenta-ai/agenta', 'github.com/agershun/alasql', 'github.com/akiran/react-slick', @@ -31,6 +32,7 @@ repositories = [ 'github.com/apache/trafficserver', 'github.com/apifytech/apify-js', 'github.com/apoclyps/reviews', + 'github.com/arc53/DocsGPT', 'github.com/apollographql/apollo-kotlin', 'github.com/apostrophecms/apostrophe', 'github.com/appbaseio/reactivesearch', @@ -38,10 +40,12 @@ repositories = [ 'github.com/appsmithorg/appsmith', 'github.com/appwrite/appwrite', 'github.com/arduino/arduino-cli', + 'github.com/aregtech/areg-sdk', 'github.com/ArduPilot/ardupilot', 'github.com/argoproj/argo', 'github.com/argoproj/argo-cd', 'github.com/arguflow/arguflow', + 'github.com/arferreira/rapina', 'github.com/ARMmbed/mbedtls', 'github.com/Arsenic-ATG/Qt-calculator', 'github.com/artalar/reatom', @@ -246,6 +250,7 @@ repositories = [ 'github.com/geopandas/geopandas', 'github.com/getgauge/taiko', 'github.com/getzola/zola', + 'github.com/giselles-ai/giselle', 'github.com/git-cola/git-cola', 'github.com/git-tfs/git-tfs', 'github.com/gitcoinco/web', @@ -351,6 +356,7 @@ repositories = [ 'github.com/keephq/keep', 'github.com/kelektiv/node-cron', 'github.com/keras-team/keras', + 'github.com/kestra-io/kestra', 'github.com/kevinanielsen/go-fast-cdn', 'github.com/keystonejs/keystone', 'github.com/kiali/kiali', @@ -359,6 +365,7 @@ repositories = [ 'github.com/Kong/insomnia', 'github.com/Kong/kong', 'github.com/krassowski/jupyterlab-lsp', + 'github.com/kstonekuan/tambourine-voice', 'github.com/krishdevdb/reseter.css', 'github.com/kshashikumar/mysql-gui', 'github.com/ktorio/ktor', @@ -384,6 +391,7 @@ repositories = [ 'github.com/lightdash/lightdash', 'github.com/lightningnetwork/lnd', 'github.com/line/armeria', + 'github.com/lingdojo/kana-dojo', 'github.com/linkedin/cruise-control', 'github.com/linkerd/linkerd2', 'github.com/linq2db/linq2db', @@ -437,6 +445,7 @@ repositories = [ 'github.com/mimblewimble/grin', 'github.com/mindsphere/mindconnect-nodejs', 'github.com/miroiu/nodify', + 'github.com/mlco2/codecarbon', 'github.com/mlflow/mlflow', 'github.com/mljar/mljar-supervised', 'github.com/mlpack/mlpack', @@ -530,6 +539,7 @@ repositories = [ 'github.com/pantsbuild/pants', 'github.com/parse-community/parse-server', 'github.com/pester/Pester', + 'github.com/petertzy/markdown-reader', 'github.com/PHP-FFMpeg/PHP-FFMpeg', 'github.com/phpmd/phpmd', 'github.com/phpmyadmin/phpmyadmin', @@ -622,6 +632,7 @@ repositories = [ 'github.com/rust-windowing/winit', 'github.com/rustsim/nalgebra', 'github.com/Sable/soot', + 'github.com/sandstorm-io/sandstorm', 'github.com/SAP/chevrotain', 'github.com/SasanLabs/VulnerableApp', 'github.com/sayanarijit/xplr', From b00284946d2836c0bc1f7983a7e1f4d7ed1458ab Mon Sep 17 00:00:00 2001 From: 24f1001527 <24f1001527@ds.study.iitm.ac.in> Date: Mon, 2 Mar 2026 04:06:33 +0530 Subject: [PATCH 13/15] Remove repositories that no longer exist (#2598) --- data/repositories.toml | 3 --- 1 file changed, 3 deletions(-) diff --git a/data/repositories.toml b/data/repositories.toml index edf6d236..fc2f02c0 100644 --- a/data/repositories.toml +++ b/data/repositories.toml @@ -828,7 +828,4 @@ repositories = [ 'github.com/zsh-users/zsh-completions', 'github.com/zsh-users/zsh-syntax-highlighting', 'github.com/zulip/zulip', - 'github.com/ZupIT/charlescd', - 'github.com/ZupIT/ritchie-cli', - 'github.com/ZupIT/ritchie-formulas' ] From 83c66c7f6e21c59099e87aa0b05d192f465d5f4a Mon Sep 17 00:00:00 2001 From: Jai Pradeesh <68369919+jai-deepsource@users.noreply.github.com> Date: Sun, 1 Mar 2026 14:37:44 -0800 Subject: [PATCH 14/15] Delete PULL_REQUEST_TEMPLATE (#2607) Signed-off-by: Jai Pradeesh <68369919+jai-deepsource@users.noreply.github.com> --- .github/PULL_REQUEST_TEMPLATE.md | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index a343b36e..00000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,9 +0,0 @@ -#### ℹ️ Repository information - -**The repository has**: - -- [ ] At least three issues with the `good first issue` label. -- [ ] At least 10 contributors. -- [ ] Detailed setup instructions for the project. -- [ ] CONTRIBUTING.md -- [ ] Actively maintained. From b401201fd9fb9805895f98daf134c4ca4327abe8 Mon Sep 17 00:00:00 2001 From: Miles Georgi Date: Mon, 2 Mar 2026 14:34:29 -0800 Subject: [PATCH 15/15] Add Foobara to data/repositories.toml (#2570) --- data/repositories.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/data/repositories.toml b/data/repositories.toml index fc2f02c0..3ee42fb3 100644 --- a/data/repositories.toml +++ b/data/repositories.toml @@ -237,6 +237,7 @@ repositories = [ 'github.com/flarum/core', 'github.com/flipt-io/flipt', 'github.com/flutter/flutter', + 'github.com/foobara/foobara', 'github.com/fortio/fortio', 'github.com/fossasia/open-event-server', 'github.com/Foundry376/Mailspring',