### Explanation:
- **Base Case**: If the length of the list `arr` is less than or equal to one (`len(arr) <= 1`), it means the list is already sorted and can be returned as it is.
- **Pivot Selection**: The chosen `pivot` element can be any element from the list (e.g., `len(arr)//2`). For simplicity here we choose this way.
- **Partitioning**:
- Elements less than or equal to `pivot` are placed into a new list called `left`.
- Elements equal to `pivot` are placed into another new list called `middle`.
- Elements greater than or equal to `pivot` are placed into yet another new list called `right`.
- **Recursive Sorting**: The function recursively applies itself on these three lists (`left`, middle`, and right`) and concatenates them back together.
This implementation ensures that all elements less than or equal to any given element will appear before that element in their respective partitions.
Note: Having a separate repo for ONNX weights is intended to be a temporary solution until WebML gains more traction. If you would like to make your models web-ready, we recommend converting to ONNX using 🤗 Optimum and structuring your repo like this one (with ONNX weights located in a subfolder named onnx).
Files
21 files · 21.2 GBWeights 1.34 GB (smallest of 8 ONNX variants). Sizes and sha256 from the signed manifest.