koichi12 commited on
Commit
e0a38d8
·
verified ·
1 Parent(s): aa7c027

Add files using upload-large-folder tool

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +1 -0
  2. tuning-competition-baseline/.venv/lib/python3.11/site-packages/Cython/Plex/DFA.cpython-311-x86_64-linux-gnu.so +3 -0
  3. tuning-competition-baseline/.venv/lib/python3.11/site-packages/nvidia_nvtx_cu11-11.8.86.dist-info/INSTALLER +1 -0
  4. tuning-competition-baseline/.venv/lib/python3.11/site-packages/nvidia_nvtx_cu11-11.8.86.dist-info/License.txt +1568 -0
  5. tuning-competition-baseline/.venv/lib/python3.11/site-packages/nvidia_nvtx_cu11-11.8.86.dist-info/RECORD +36 -0
  6. tuning-competition-baseline/.venv/lib/python3.11/site-packages/nvidia_nvtx_cu11-11.8.86.dist-info/top_level.txt +1 -0
  7. tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/__init__.py +15 -0
  8. tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/__pycache__/__init__.cpython-311.pyc +0 -0
  9. tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/__pycache__/_manylinux.cpython-311.pyc +0 -0
  10. tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/__pycache__/_musllinux.cpython-311.pyc +0 -0
  11. tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/__pycache__/_parser.cpython-311.pyc +0 -0
  12. tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/__pycache__/_structures.cpython-311.pyc +0 -0
  13. tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/__pycache__/_tokenizer.cpython-311.pyc +0 -0
  14. tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/__pycache__/markers.cpython-311.pyc +0 -0
  15. tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/__pycache__/metadata.cpython-311.pyc +0 -0
  16. tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/__pycache__/requirements.cpython-311.pyc +0 -0
  17. tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/__pycache__/specifiers.cpython-311.pyc +0 -0
  18. tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/__pycache__/tags.cpython-311.pyc +0 -0
  19. tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/__pycache__/utils.cpython-311.pyc +0 -0
  20. tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/__pycache__/version.cpython-311.pyc +0 -0
  21. tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/_elffile.py +110 -0
  22. tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/_manylinux.py +263 -0
  23. tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/_musllinux.py +85 -0
  24. tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/_structures.py +61 -0
  25. tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/_tokenizer.py +194 -0
  26. tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/licenses/__init__.py +145 -0
  27. tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/licenses/__pycache__/__init__.cpython-311.pyc +0 -0
  28. tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/licenses/__pycache__/_spdx.cpython-311.pyc +0 -0
  29. tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/licenses/_spdx.py +759 -0
  30. tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/requirements.py +91 -0
  31. tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/utils.py +163 -0
  32. tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/idna/__pycache__/__init__.cpython-311.pyc +0 -0
  33. tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/idna/__pycache__/codec.cpython-311.pyc +0 -0
  34. tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/idna/__pycache__/compat.cpython-311.pyc +0 -0
  35. tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/idna/__pycache__/core.cpython-311.pyc +0 -0
  36. tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/idna/__pycache__/intranges.cpython-311.pyc +0 -0
  37. tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/idna/__pycache__/package_data.cpython-311.pyc +0 -0
  38. tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/idna/uts46data.py +0 -0
  39. tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/pkg_resources/__init__.py +0 -0
  40. tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__init__.py +627 -0
  41. tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__main__.py +55 -0
  42. tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__pycache__/__main__.cpython-311.pyc +0 -0
  43. tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__pycache__/android.cpython-311.pyc +0 -0
  44. tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__pycache__/api.cpython-311.pyc +0 -0
  45. tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__pycache__/macos.cpython-311.pyc +0 -0
  46. tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__pycache__/unix.cpython-311.pyc +0 -0
  47. tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__pycache__/windows.cpython-311.pyc +0 -0
  48. tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/android.py +249 -0
  49. tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/api.py +292 -0
  50. tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/macos.py +130 -0
.gitattributes CHANGED
@@ -37,3 +37,4 @@ tuning-competition-baseline/.venv/lib/python3.11/site-packages/Cython/Plex/Machi
37
  tuning-competition-baseline/.venv/lib/python3.11/site-packages/networkx/algorithms/isomorphism/tests/__pycache__/test_vf2pp_helpers.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
38
  tuning-competition-baseline/.venv/lib/python3.11/site-packages/Cython/Compiler/__pycache__/Symtab.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
39
  tuning-competition-baseline/.venv/lib/python3.11/site-packages/Cython/Plex/Scanners.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
 
 
37
  tuning-competition-baseline/.venv/lib/python3.11/site-packages/networkx/algorithms/isomorphism/tests/__pycache__/test_vf2pp_helpers.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
38
  tuning-competition-baseline/.venv/lib/python3.11/site-packages/Cython/Compiler/__pycache__/Symtab.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
39
  tuning-competition-baseline/.venv/lib/python3.11/site-packages/Cython/Plex/Scanners.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
40
+ tuning-competition-baseline/.venv/lib/python3.11/site-packages/Cython/Plex/DFA.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
tuning-competition-baseline/.venv/lib/python3.11/site-packages/Cython/Plex/DFA.cpython-311-x86_64-linux-gnu.so ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:842bea7cec4d1baf3ae29befacb20b40fe8985d7debafc80376ac9163595012b
3
+ size 128360
tuning-competition-baseline/.venv/lib/python3.11/site-packages/nvidia_nvtx_cu11-11.8.86.dist-info/INSTALLER ADDED
@@ -0,0 +1 @@
 
 
1
+ pip
tuning-competition-baseline/.venv/lib/python3.11/site-packages/nvidia_nvtx_cu11-11.8.86.dist-info/License.txt ADDED
@@ -0,0 +1,1568 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ End User License Agreement
2
+ --------------------------
3
+
4
+
5
+ Preface
6
+ -------
7
+
8
+ The Software License Agreement in Chapter 1 and the Supplement
9
+ in Chapter 2 contain license terms and conditions that govern
10
+ the use of NVIDIA software. By accepting this agreement, you
11
+ agree to comply with all the terms and conditions applicable
12
+ to the product(s) included herein.
13
+
14
+
15
+ NVIDIA Driver
16
+
17
+
18
+ Description
19
+
20
+ This package contains the operating system driver and
21
+ fundamental system software components for NVIDIA GPUs.
22
+
23
+
24
+ NVIDIA CUDA Toolkit
25
+
26
+
27
+ Description
28
+
29
+ The NVIDIA CUDA Toolkit provides command-line and graphical
30
+ tools for building, debugging and optimizing the performance
31
+ of applications accelerated by NVIDIA GPUs, runtime and math
32
+ libraries, and documentation including programming guides,
33
+ user manuals, and API references.
34
+
35
+
36
+ Default Install Location of CUDA Toolkit
37
+
38
+ Windows platform:
39
+
40
+ %ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v#.#
41
+
42
+ Linux platform:
43
+
44
+ /usr/local/cuda-#.#
45
+
46
+ Mac platform:
47
+
48
+ /Developer/NVIDIA/CUDA-#.#
49
+
50
+
51
+ NVIDIA CUDA Samples
52
+
53
+
54
+ Description
55
+
56
+ This package includes over 100+ CUDA examples that demonstrate
57
+ various CUDA programming principles, and efficient CUDA
58
+ implementation of algorithms in specific application domains.
59
+
60
+
61
+ Default Install Location of CUDA Samples
62
+
63
+ Windows platform:
64
+
65
+ %ProgramData%\NVIDIA Corporation\CUDA Samples\v#.#
66
+
67
+ Linux platform:
68
+
69
+ /usr/local/cuda-#.#/samples
70
+
71
+ and
72
+
73
+ $HOME/NVIDIA_CUDA-#.#_Samples
74
+
75
+ Mac platform:
76
+
77
+ /Developer/NVIDIA/CUDA-#.#/samples
78
+
79
+
80
+ NVIDIA Nsight Visual Studio Edition (Windows only)
81
+
82
+
83
+ Description
84
+
85
+ NVIDIA Nsight Development Platform, Visual Studio Edition is a
86
+ development environment integrated into Microsoft Visual
87
+ Studio that provides tools for debugging, profiling, analyzing
88
+ and optimizing your GPU computing and graphics applications.
89
+
90
+
91
+ Default Install Location of Nsight Visual Studio Edition
92
+
93
+ Windows platform:
94
+
95
+ %ProgramFiles(x86)%\NVIDIA Corporation\Nsight Visual Studio Edition #.#
96
+
97
+
98
+ 1. License Agreement for NVIDIA Software Development Kits
99
+ ---------------------------------------------------------
100
+
101
+
102
+ Release Date: July 26, 2018
103
+ ---------------------------
104
+
105
+
106
+ Important NoticeRead before downloading, installing,
107
+ copying or using the licensed software:
108
+ -------------------------------------------------------
109
+
110
+ This license agreement, including exhibits attached
111
+ ("Agreement”) is a legal agreement between you and NVIDIA
112
+ Corporation ("NVIDIA") and governs your use of a NVIDIA
113
+ software development kit (“SDK”).
114
+
115
+ Each SDK has its own set of software and materials, but here
116
+ is a description of the types of items that may be included in
117
+ a SDK: source code, header files, APIs, data sets and assets
118
+ (examples include images, textures, models, scenes, videos,
119
+ native API input/output files), binary software, sample code,
120
+ libraries, utility programs, programming code and
121
+ documentation.
122
+
123
+ This Agreement can be accepted only by an adult of legal age
124
+ of majority in the country in which the SDK is used.
125
+
126
+ If you are entering into this Agreement on behalf of a company
127
+ or other legal entity, you represent that you have the legal
128
+ authority to bind the entity to this Agreement, in which case
129
+ “you” will mean the entity you represent.
130
+
131
+ If you don’t have the required age or authority to accept
132
+ this Agreement, or if you don’t accept all the terms and
133
+ conditions of this Agreement, do not download, install or use
134
+ the SDK.
135
+
136
+ You agree to use the SDK only for purposes that are permitted
137
+ by (a) this Agreement, and (b) any applicable law, regulation
138
+ or generally accepted practices or guidelines in the relevant
139
+ jurisdictions.
140
+
141
+
142
+ 1.1. License
143
+
144
+
145
+ 1.1.1. License Grant
146
+
147
+ Subject to the terms of this Agreement, NVIDIA hereby grants
148
+ you a non-exclusive, non-transferable license, without the
149
+ right to sublicense (except as expressly provided in this
150
+ Agreement) to:
151
+
152
+ 1. Install and use the SDK,
153
+
154
+ 2. Modify and create derivative works of sample source code
155
+ delivered in the SDK, and
156
+
157
+ 3. Distribute those portions of the SDK that are identified
158
+ in this Agreement as distributable, as incorporated in
159
+ object code format into a software application that meets
160
+ the distribution requirements indicated in this Agreement.
161
+
162
+
163
+ 1.1.2. Distribution Requirements
164
+
165
+ These are the distribution requirements for you to exercise
166
+ the distribution grant:
167
+
168
+ 1. Your application must have material additional
169
+ functionality, beyond the included portions of the SDK.
170
+
171
+ 2. The distributable portions of the SDK shall only be
172
+ accessed by your application.
173
+
174
+ 3. The following notice shall be included in modifications
175
+ and derivative works of sample source code distributed:
176
+ “This software contains source code provided by NVIDIA
177
+ Corporation.”
178
+
179
+ 4. Unless a developer tool is identified in this Agreement
180
+ as distributable, it is delivered for your internal use
181
+ only.
182
+
183
+ 5. The terms under which you distribute your application
184
+ must be consistent with the terms of this Agreement,
185
+ including (without limitation) terms relating to the
186
+ license grant and license restrictions and protection of
187
+ NVIDIA’s intellectual property rights. Additionally, you
188
+ agree that you will protect the privacy, security and
189
+ legal rights of your application users.
190
+
191
+ 6. You agree to notify NVIDIA in writing of any known or
192
+ suspected distribution or use of the SDK not in compliance
193
+ with the requirements of this Agreement, and to enforce
194
+ the terms of your agreements with respect to distributed
195
+ SDK.
196
+
197
+
198
+ 1.1.3. Authorized Users
199
+
200
+ You may allow employees and contractors of your entity or of
201
+ your subsidiary(ies) to access and use the SDK from your
202
+ secure network to perform work on your behalf.
203
+
204
+ If you are an academic institution you may allow users
205
+ enrolled or employed by the academic institution to access and
206
+ use the SDK from your secure network.
207
+
208
+ You are responsible for the compliance with the terms of this
209
+ Agreement by your authorized users. If you become aware that
210
+ your authorized users didn’t follow the terms of this
211
+ Agreement, you agree to take reasonable steps to resolve the
212
+ non-compliance and prevent new occurrences.
213
+
214
+
215
+ 1.1.4. Pre-Release SDK
216
+
217
+ The SDK versions identified as alpha, beta, preview or
218
+ otherwise as pre-release, may not be fully functional, may
219
+ contain errors or design flaws, and may have reduced or
220
+ different security, privacy, accessibility, availability, and
221
+ reliability standards relative to commercial versions of
222
+ NVIDIA software and materials. Use of a pre-release SDK may
223
+ result in unexpected results, loss of data, project delays or
224
+ other unpredictable damage or loss.
225
+
226
+ You may use a pre-release SDK at your own risk, understanding
227
+ that pre-release SDKs are not intended for use in production
228
+ or business-critical systems.
229
+
230
+ NVIDIA may choose not to make available a commercial version
231
+ of any pre-release SDK. NVIDIA may also choose to abandon
232
+ development and terminate the availability of a pre-release
233
+ SDK at any time without liability.
234
+
235
+
236
+ 1.1.5. Updates
237
+
238
+ NVIDIA may, at its option, make available patches, workarounds
239
+ or other updates to this SDK. Unless the updates are provided
240
+ with their separate governing terms, they are deemed part of
241
+ the SDK licensed to you as provided in this Agreement. You
242
+ agree that the form and content of the SDK that NVIDIA
243
+ provides may change without prior notice to you. While NVIDIA
244
+ generally maintains compatibility between versions, NVIDIA may
245
+ in some cases make changes that introduce incompatibilities in
246
+ future versions of the SDK.
247
+
248
+
249
+ 1.1.6. Third Party Licenses
250
+
251
+ The SDK may come bundled with, or otherwise include or be
252
+ distributed with, third party software licensed by a NVIDIA
253
+ supplier and/or open source software provided under an open
254
+ source license. Use of third party software is subject to the
255
+ third-party license terms, or in the absence of third party
256
+ terms, the terms of this Agreement. Copyright to third party
257
+ software is held by the copyright holders indicated in the
258
+ third-party software or license.
259
+
260
+
261
+ 1.1.7. Reservation of Rights
262
+
263
+ NVIDIA reserves all rights, title, and interest in and to the
264
+ SDK, not expressly granted to you under this Agreement.
265
+
266
+
267
+ 1.2. Limitations
268
+
269
+ The following license limitations apply to your use of the
270
+ SDK:
271
+
272
+ 1. You may not reverse engineer, decompile or disassemble,
273
+ or remove copyright or other proprietary notices from any
274
+ portion of the SDK or copies of the SDK.
275
+
276
+ 2. Except as expressly provided in this Agreement, you may
277
+ not copy, sell, rent, sublicense, transfer, distribute,
278
+ modify, or create derivative works of any portion of the
279
+ SDK. For clarity, you may not distribute or sublicense the
280
+ SDK as a stand-alone product.
281
+
282
+ 3. Unless you have an agreement with NVIDIA for this
283
+ purpose, you may not indicate that an application created
284
+ with the SDK is sponsored or endorsed by NVIDIA.
285
+
286
+ 4. You may not bypass, disable, or circumvent any
287
+ encryption, security, digital rights management or
288
+ authentication mechanism in the SDK.
289
+
290
+ 5. You may not use the SDK in any manner that would cause it
291
+ to become subject to an open source software license. As
292
+ examples, licenses that require as a condition of use,
293
+ modification, and/or distribution that the SDK be:
294
+
295
+ a. Disclosed or distributed in source code form;
296
+
297
+ b. Licensed for the purpose of making derivative works;
298
+ or
299
+
300
+ c. Redistributable at no charge.
301
+
302
+ 6. Unless you have an agreement with NVIDIA for this
303
+ purpose, you may not use the SDK with any system or
304
+ application where the use or failure of the system or
305
+ application can reasonably be expected to threaten or
306
+ result in personal injury, death, or catastrophic loss.
307
+ Examples include use in avionics, navigation, military,
308
+ medical, life support or other life critical applications.
309
+ NVIDIA does not design, test or manufacture the SDK for
310
+ these critical uses and NVIDIA shall not be liable to you
311
+ or any third party, in whole or in part, for any claims or
312
+ damages arising from such uses.
313
+
314
+ 7. You agree to defend, indemnify and hold harmless NVIDIA
315
+ and its affiliates, and their respective employees,
316
+ contractors, agents, officers and directors, from and
317
+ against any and all claims, damages, obligations, losses,
318
+ liabilities, costs or debt, fines, restitutions and
319
+ expenses (including but not limited to attorney’s fees
320
+ and costs incident to establishing the right of
321
+ indemnification) arising out of or related to your use of
322
+ the SDK outside of the scope of this Agreement, or not in
323
+ compliance with its terms.
324
+
325
+
326
+ 1.3. Ownership
327
+
328
+ 1. NVIDIA or its licensors hold all rights, title and
329
+ interest in and to the SDK and its modifications and
330
+ derivative works, including their respective intellectual
331
+ property rights, subject to your rights described in this
332
+ section. This SDK may include software and materials from
333
+ NVIDIA’s licensors, and these licensors are intended
334
+ third party beneficiaries that may enforce this Agreement
335
+ with respect to their intellectual property rights.
336
+
337
+ 2. You hold all rights, title and interest in and to your
338
+ applications and your derivative works of the sample
339
+ source code delivered in the SDK, including their
340
+ respective intellectual property rights, subject to
341
+ NVIDIA’s rights described in this section.
342
+
343
+ 3. You may, but don’t have to, provide to NVIDIA
344
+ suggestions, feature requests or other feedback regarding
345
+ the SDK, including possible enhancements or modifications
346
+ to the SDK. For any feedback that you voluntarily provide,
347
+ you hereby grant NVIDIA and its affiliates a perpetual,
348
+ non-exclusive, worldwide, irrevocable license to use,
349
+ reproduce, modify, license, sublicense (through multiple
350
+ tiers of sublicensees), and distribute (through multiple
351
+ tiers of distributors) it without the payment of any
352
+ royalties or fees to you. NVIDIA will use feedback at its
353
+ choice. NVIDIA is constantly looking for ways to improve
354
+ its products, so you may send feedback to NVIDIA through
355
+ the developer portal at https://developer.nvidia.com.
356
+
357
+
358
+ 1.4. No Warranties
359
+
360
+ THE SDK IS PROVIDED BY NVIDIA “AS IS” AND “WITH ALL
361
+ FAULTS.” TO THE MAXIMUM EXTENT PERMITTED BY LAW, NVIDIA AND
362
+ ITS AFFILIATES EXPRESSLY DISCLAIM ALL WARRANTIES OF ANY KIND
363
+ OR NATURE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING,
364
+ BUT NOT LIMITED TO, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
365
+ FOR A PARTICULAR PURPOSE, TITLE, NON-INFRINGEMENT, OR THE
366
+ ABSENCE OF ANY DEFECTS THEREIN, WHETHER LATENT OR PATENT. NO
367
+ WARRANTY IS MADE ON THE BASIS OF TRADE USAGE, COURSE OF
368
+ DEALING OR COURSE OF TRADE.
369
+
370
+
371
+ 1.5. Limitation of Liability
372
+
373
+ TO THE MAXIMUM EXTENT PERMITTED BY LAW, NVIDIA AND ITS
374
+ AFFILIATES SHALL NOT BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
375
+ PUNITIVE OR CONSEQUENTIAL DAMAGES, OR ANY LOST PROFITS, LOSS
376
+ OF USE, LOSS OF DATA OR LOSS OF GOODWILL, OR THE COSTS OF
377
+ PROCURING SUBSTITUTE PRODUCTS, ARISING OUT OF OR IN CONNECTION
378
+ WITH THIS AGREEMENT OR THE USE OR PERFORMANCE OF THE SDK,
379
+ WHETHER SUCH LIABILITY ARISES FROM ANY CLAIM BASED UPON BREACH
380
+ OF CONTRACT, BREACH OF WARRANTY, TORT (INCLUDING NEGLIGENCE),
381
+ PRODUCT LIABILITY OR ANY OTHER CAUSE OF ACTION OR THEORY OF
382
+ LIABILITY. IN NO EVENT WILL NVIDIA’S AND ITS AFFILIATES
383
+ TOTAL CUMULATIVE LIABILITY UNDER OR ARISING OUT OF THIS
384
+ AGREEMENT EXCEED US$10.00. THE NATURE OF THE LIABILITY OR THE
385
+ NUMBER OF CLAIMS OR SUITS SHALL NOT ENLARGE OR EXTEND THIS
386
+ LIMIT.
387
+
388
+ These exclusions and limitations of liability shall apply
389
+ regardless if NVIDIA or its affiliates have been advised of
390
+ the possibility of such damages, and regardless of whether a
391
+ remedy fails its essential purpose. These exclusions and
392
+ limitations of liability form an essential basis of the
393
+ bargain between the parties, and, absent any of these
394
+ exclusions or limitations of liability, the provisions of this
395
+ Agreement, including, without limitation, the economic terms,
396
+ would be substantially different.
397
+
398
+
399
+ 1.6. Termination
400
+
401
+ 1. This Agreement will continue to apply until terminated by
402
+ either you or NVIDIA as described below.
403
+
404
+ 2. If you want to terminate this Agreement, you may do so by
405
+ stopping to use the SDK.
406
+
407
+ 3. NVIDIA may, at any time, terminate this Agreement if:
408
+
409
+ a. (i) you fail to comply with any term of this
410
+ Agreement and the non-compliance is not fixed within
411
+ thirty (30) days following notice from NVIDIA (or
412
+ immediately if you violate NVIDIA’s intellectual
413
+ property rights);
414
+
415
+ b. (ii) you commence or participate in any legal
416
+ proceeding against NVIDIA with respect to the SDK; or
417
+
418
+ c. (iii) NVIDIA decides to no longer provide the SDK in
419
+ a country or, in NVIDIA’s sole discretion, the
420
+ continued use of it is no longer commercially viable.
421
+
422
+ 4. Upon any termination of this Agreement, you agree to
423
+ promptly discontinue use of the SDK and destroy all copies
424
+ in your possession or control. Your prior distributions in
425
+ accordance with this Agreement are not affected by the
426
+ termination of this Agreement. Upon written request, you
427
+ will certify in writing that you have complied with your
428
+ commitments under this section. Upon any termination of
429
+ this Agreement all provisions survive except for the
430
+ license grant provisions.
431
+
432
+
433
+ 1.7. General
434
+
435
+ If you wish to assign this Agreement or your rights and
436
+ obligations, including by merger, consolidation, dissolution
437
+ or operation of law, contact NVIDIA to ask for permission. Any
438
+ attempted assignment not approved by NVIDIA in writing shall
439
+ be void and of no effect. NVIDIA may assign, delegate or
440
+ transfer this Agreement and its rights and obligations, and if
441
+ to a non-affiliate you will be notified.
442
+
443
+ You agree to cooperate with NVIDIA and provide reasonably
444
+ requested information to verify your compliance with this
445
+ Agreement.
446
+
447
+ This Agreement will be governed in all respects by the laws of
448
+ the United States and of the State of Delaware as those laws
449
+ are applied to contracts entered into and performed entirely
450
+ within Delaware by Delaware residents, without regard to the
451
+ conflicts of laws principles. The United Nations Convention on
452
+ Contracts for the International Sale of Goods is specifically
453
+ disclaimed. You agree to all terms of this Agreement in the
454
+ English language.
455
+
456
+ The state or federal courts residing in Santa Clara County,
457
+ California shall have exclusive jurisdiction over any dispute
458
+ or claim arising out of this Agreement. Notwithstanding this,
459
+ you agree that NVIDIA shall still be allowed to apply for
460
+ injunctive remedies or an equivalent type of urgent legal
461
+ relief in any jurisdiction.
462
+
463
+ If any court of competent jurisdiction determines that any
464
+ provision of this Agreement is illegal, invalid or
465
+ unenforceable, such provision will be construed as limited to
466
+ the extent necessary to be consistent with and fully
467
+ enforceable under the law and the remaining provisions will
468
+ remain in full force and effect. Unless otherwise specified,
469
+ remedies are cumulative.
470
+
471
+ Each party acknowledges and agrees that the other is an
472
+ independent contractor in the performance of this Agreement.
473
+
474
+ The SDK has been developed entirely at private expense and is
475
+ “commercial items” consisting of “commercial computer
476
+ software” and “commercial computer software
477
+ documentation” provided with RESTRICTED RIGHTS. Use,
478
+ duplication or disclosure by the U.S. Government or a U.S.
479
+ Government subcontractor is subject to the restrictions in
480
+ this Agreement pursuant to DFARS 227.7202-3(a) or as set forth
481
+ in subparagraphs (c)(1) and (2) of the Commercial Computer
482
+ Software - Restricted Rights clause at FAR 52.227-19, as
483
+ applicable. Contractor/manufacturer is NVIDIA, 2788 San Tomas
484
+ Expressway, Santa Clara, CA 95051.
485
+
486
+ The SDK is subject to United States export laws and
487
+ regulations. You agree that you will not ship, transfer or
488
+ export the SDK into any country, or use the SDK in any manner,
489
+ prohibited by the United States Bureau of Industry and
490
+ Security or economic sanctions regulations administered by the
491
+ U.S. Department of Treasury’s Office of Foreign Assets
492
+ Control (OFAC), or any applicable export laws, restrictions or
493
+ regulations. These laws include restrictions on destinations,
494
+ end users and end use. By accepting this Agreement, you
495
+ confirm that you are not a resident or citizen of any country
496
+ currently embargoed by the U.S. and that you are not otherwise
497
+ prohibited from receiving the SDK.
498
+
499
+ Any notice delivered by NVIDIA to you under this Agreement
500
+ will be delivered via mail, email or fax. You agree that any
501
+ notices that NVIDIA sends you electronically will satisfy any
502
+ legal communication requirements. Please direct your legal
503
+ notices or other correspondence to NVIDIA Corporation, 2788
504
+ San Tomas Expressway, Santa Clara, California 95051, United
505
+ States of America, Attention: Legal Department.
506
+
507
+ This Agreement and any exhibits incorporated into this
508
+ Agreement constitute the entire agreement of the parties with
509
+ respect to the subject matter of this Agreement and supersede
510
+ all prior negotiations or documentation exchanged between the
511
+ parties relating to this SDK license. Any additional and/or
512
+ conflicting terms on documents issued by you are null, void,
513
+ and invalid. Any amendment or waiver under this Agreement
514
+ shall be in writing and signed by representatives of both
515
+ parties.
516
+
517
+
518
+ 2. CUDA Toolkit Supplement to Software License Agreement for
519
+ NVIDIA Software Development Kits
520
+ ------------------------------------------------------------
521
+
522
+
523
+ Release date: August 16, 2018
524
+ -----------------------------
525
+
526
+ The terms in this supplement govern your use of the NVIDIA
527
+ CUDA Toolkit SDK under the terms of your license agreement
528
+ (“Agreement”) as modified by this supplement. Capitalized
529
+ terms used but not defined below have the meaning assigned to
530
+ them in the Agreement.
531
+
532
+ This supplement is an exhibit to the Agreement and is
533
+ incorporated as an integral part of the Agreement. In the
534
+ event of conflict between the terms in this supplement and the
535
+ terms in the Agreement, the terms in this supplement govern.
536
+
537
+
538
+ 2.1. License Scope
539
+
540
+ The SDK is licensed for you to develop applications only for
541
+ use in systems with NVIDIA GPUs.
542
+
543
+
544
+ 2.2. Distribution
545
+
546
+ The portions of the SDK that are distributable under the
547
+ Agreement are listed in Attachment A.
548
+
549
+
550
+ 2.3. Operating Systems
551
+
552
+ Those portions of the SDK designed exclusively for use on the
553
+ Linux or FreeBSD operating systems, or other operating systems
554
+ derived from the source code to these operating systems, may
555
+ be copied and redistributed for use in accordance with this
556
+ Agreement, provided that the object code files are not
557
+ modified in any way (except for unzipping of compressed
558
+ files).
559
+
560
+
561
+ 2.4. Audio and Video Encoders and Decoders
562
+
563
+ You acknowledge and agree that it is your sole responsibility
564
+ to obtain any additional third-party licenses required to
565
+ make, have made, use, have used, sell, import, and offer for
566
+ sale your products or services that include or incorporate any
567
+ third-party software and content relating to audio and/or
568
+ video encoders and decoders from, including but not limited
569
+ to, Microsoft, Thomson, Fraunhofer IIS, Sisvel S.p.A.,
570
+ MPEG-LA, and Coding Technologies. NVIDIA does not grant to you
571
+ under this Agreement any necessary patent or other rights with
572
+ respect to any audio and/or video encoders and decoders.
573
+
574
+
575
+ 2.5. Licensing
576
+
577
+ If the distribution terms in this Agreement are not suitable
578
+ for your organization, or for any questions regarding this
579
+ Agreement, please contact NVIDIA at
580
+ nvidia-compute-license-questions@nvidia.com.
581
+
582
+
583
+ 2.6. Attachment A
584
+
585
+ The following portions of the SDK are distributable under the
586
+ Agreement:
587
+
588
+ Component
589
+
590
+ CUDA Runtime
591
+
592
+ Windows
593
+
594
+ cudart.dll, cudart_static.lib, cudadevrt.lib
595
+
596
+ Mac OSX
597
+
598
+ libcudart.dylib, libcudart_static.a, libcudadevrt.a
599
+
600
+ Linux
601
+
602
+ libcudart.so, libcudart_static.a, libcudadevrt.a
603
+
604
+ Android
605
+
606
+ libcudart.so, libcudart_static.a, libcudadevrt.a
607
+
608
+ Component
609
+
610
+ CUDA FFT Library
611
+
612
+ Windows
613
+
614
+ cufft.dll, cufftw.dll, cufft.lib, cufftw.lib
615
+
616
+ Mac OSX
617
+
618
+ libcufft.dylib, libcufft_static.a, libcufftw.dylib,
619
+ libcufftw_static.a
620
+
621
+ Linux
622
+
623
+ libcufft.so, libcufft_static.a, libcufftw.so,
624
+ libcufftw_static.a
625
+
626
+ Android
627
+
628
+ libcufft.so, libcufft_static.a, libcufftw.so,
629
+ libcufftw_static.a
630
+
631
+ Component
632
+
633
+ CUDA BLAS Library
634
+
635
+ Windows
636
+
637
+ cublas.dll, cublasLt.dll
638
+
639
+ Mac OSX
640
+
641
+ libcublas.dylib, libcublasLt.dylib, libcublas_static.a,
642
+ libcublasLt_static.a
643
+
644
+ Linux
645
+
646
+ libcublas.so, libcublasLt.so, libcublas_static.a,
647
+ libcublasLt_static.a
648
+
649
+ Android
650
+
651
+ libcublas.so, libcublasLt.so, libcublas_static.a,
652
+ libcublasLt_static.a
653
+
654
+ Component
655
+
656
+ NVIDIA "Drop-in" BLAS Library
657
+
658
+ Windows
659
+
660
+ nvblas.dll
661
+
662
+ Mac OSX
663
+
664
+ libnvblas.dylib
665
+
666
+ Linux
667
+
668
+ libnvblas.so
669
+
670
+ Component
671
+
672
+ CUDA Sparse Matrix Library
673
+
674
+ Windows
675
+
676
+ cusparse.dll, cusparse.lib
677
+
678
+ Mac OSX
679
+
680
+ libcusparse.dylib, libcusparse_static.a
681
+
682
+ Linux
683
+
684
+ libcusparse.so, libcusparse_static.a
685
+
686
+ Android
687
+
688
+ libcusparse.so, libcusparse_static.a
689
+
690
+ Component
691
+
692
+ CUDA Linear Solver Library
693
+
694
+ Windows
695
+
696
+ cusolver.dll, cusolver.lib
697
+
698
+ Mac OSX
699
+
700
+ libcusolver.dylib, libcusolver_static.a
701
+
702
+ Linux
703
+
704
+ libcusolver.so, libcusolver_static.a
705
+
706
+ Android
707
+
708
+ libcusolver.so, libcusolver_static.a
709
+
710
+ Component
711
+
712
+ CUDA Random Number Generation Library
713
+
714
+ Windows
715
+
716
+ curand.dll, curand.lib
717
+
718
+ Mac OSX
719
+
720
+ libcurand.dylib, libcurand_static.a
721
+
722
+ Linux
723
+
724
+ libcurand.so, libcurand_static.a
725
+
726
+ Android
727
+
728
+ libcurand.so, libcurand_static.a
729
+
730
+ Component
731
+
732
+ CUDA Accelerated Graph Library
733
+
734
+ Component
735
+
736
+ NVIDIA Performance Primitives Library
737
+
738
+ Windows
739
+
740
+ nppc.dll, nppc.lib, nppial.dll, nppial.lib, nppicc.dll,
741
+ nppicc.lib, nppicom.dll, nppicom.lib, nppidei.dll,
742
+ nppidei.lib, nppif.dll, nppif.lib, nppig.dll, nppig.lib,
743
+ nppim.dll, nppim.lib, nppist.dll, nppist.lib, nppisu.dll,
744
+ nppisu.lib, nppitc.dll, nppitc.lib, npps.dll, npps.lib
745
+
746
+ Mac OSX
747
+
748
+ libnppc.dylib, libnppc_static.a, libnppial.dylib,
749
+ libnppial_static.a, libnppicc.dylib, libnppicc_static.a,
750
+ libnppicom.dylib, libnppicom_static.a, libnppidei.dylib,
751
+ libnppidei_static.a, libnppif.dylib, libnppif_static.a,
752
+ libnppig.dylib, libnppig_static.a, libnppim.dylib,
753
+ libnppisu_static.a, libnppitc.dylib, libnppitc_static.a,
754
+ libnpps.dylib, libnpps_static.a
755
+
756
+ Linux
757
+
758
+ libnppc.so, libnppc_static.a, libnppial.so,
759
+ libnppial_static.a, libnppicc.so, libnppicc_static.a,
760
+ libnppicom.so, libnppicom_static.a, libnppidei.so,
761
+ libnppidei_static.a, libnppif.so, libnppif_static.a
762
+ libnppig.so, libnppig_static.a, libnppim.so,
763
+ libnppim_static.a, libnppist.so, libnppist_static.a,
764
+ libnppisu.so, libnppisu_static.a, libnppitc.so
765
+ libnppitc_static.a, libnpps.so, libnpps_static.a
766
+
767
+ Android
768
+
769
+ libnppc.so, libnppc_static.a, libnppial.so,
770
+ libnppial_static.a, libnppicc.so, libnppicc_static.a,
771
+ libnppicom.so, libnppicom_static.a, libnppidei.so,
772
+ libnppidei_static.a, libnppif.so, libnppif_static.a
773
+ libnppig.so, libnppig_static.a, libnppim.so,
774
+ libnppim_static.a, libnppist.so, libnppist_static.a,
775
+ libnppisu.so, libnppisu_static.a, libnppitc.so
776
+ libnppitc_static.a, libnpps.so, libnpps_static.a
777
+
778
+ Component
779
+
780
+ NVIDIA JPEG Library
781
+
782
+ Linux
783
+
784
+ libnvjpeg.so, libnvjpeg_static.a
785
+
786
+ Component
787
+
788
+ Internal common library required for statically linking to
789
+ cuBLAS, cuSPARSE, cuFFT, cuRAND, nvJPEG and NPP
790
+
791
+ Mac OSX
792
+
793
+ libculibos.a
794
+
795
+ Linux
796
+
797
+ libculibos.a
798
+
799
+ Component
800
+
801
+ NVIDIA Runtime Compilation Library and Header
802
+
803
+ All
804
+
805
+ nvrtc.h
806
+
807
+ Windows
808
+
809
+ nvrtc.dll, nvrtc-builtins.dll
810
+
811
+ Mac OSX
812
+
813
+ libnvrtc.dylib, libnvrtc-builtins.dylib
814
+
815
+ Linux
816
+
817
+ libnvrtc.so, libnvrtc-builtins.so
818
+
819
+ Component
820
+
821
+ NVIDIA Optimizing Compiler Library
822
+
823
+ Windows
824
+
825
+ nvvm.dll
826
+
827
+ Mac OSX
828
+
829
+ libnvvm.dylib
830
+
831
+ Linux
832
+
833
+ libnvvm.so
834
+
835
+ Component
836
+
837
+ NVIDIA Common Device Math Functions Library
838
+
839
+ Windows
840
+
841
+ libdevice.10.bc
842
+
843
+ Mac OSX
844
+
845
+ libdevice.10.bc
846
+
847
+ Linux
848
+
849
+ libdevice.10.bc
850
+
851
+ Component
852
+
853
+ CUDA Occupancy Calculation Header Library
854
+
855
+ All
856
+
857
+ cuda_occupancy.h
858
+
859
+ Component
860
+
861
+ CUDA Half Precision Headers
862
+
863
+ All
864
+
865
+ cuda_fp16.h, cuda_fp16.hpp
866
+
867
+ Component
868
+
869
+ CUDA Profiling Tools Interface (CUPTI) Library
870
+
871
+ Windows
872
+
873
+ cupti.dll
874
+
875
+ Mac OSX
876
+
877
+ libcupti.dylib
878
+
879
+ Linux
880
+
881
+ libcupti.so
882
+
883
+ Component
884
+
885
+ NVIDIA Tools Extension Library
886
+
887
+ Windows
888
+
889
+ nvToolsExt.dll, nvToolsExt.lib
890
+
891
+ Mac OSX
892
+
893
+ libnvToolsExt.dylib
894
+
895
+ Linux
896
+
897
+ libnvToolsExt.so
898
+
899
+ Component
900
+
901
+ NVIDIA CUDA Driver Libraries
902
+
903
+ Linux
904
+
905
+ libcuda.so, libnvidia-fatbinaryloader.so,
906
+ libnvidia-ptxjitcompiler.so
907
+
908
+ The NVIDIA CUDA Driver Libraries are only distributable in
909
+ applications that meet this criteria:
910
+
911
+ 1. The application was developed starting from a NVIDIA CUDA
912
+ container obtained from Docker Hub or the NVIDIA GPU
913
+ Cloud, and
914
+
915
+ 2. The resulting application is packaged as a Docker
916
+ container and distributed to users on Docker Hub or the
917
+ NVIDIA GPU Cloud only.
918
+
919
+
920
+ 2.7. Attachment B
921
+
922
+
923
+ Additional Licensing Obligations
924
+
925
+ The following third party components included in the SOFTWARE
926
+ are licensed to Licensee pursuant to the following terms and
927
+ conditions:
928
+
929
+ 1. Licensee's use of the GDB third party component is
930
+ subject to the terms and conditions of GNU GPL v3:
931
+
932
+ This product includes copyrighted third-party software licensed
933
+ under the terms of the GNU General Public License v3 ("GPL v3").
934
+ All third-party software packages are copyright by their respective
935
+ authors. GPL v3 terms and conditions are hereby incorporated into
936
+ the Agreement by this reference: http://www.gnu.org/licenses/gpl.txt
937
+
938
+ Consistent with these licensing requirements, the software
939
+ listed below is provided under the terms of the specified
940
+ open source software licenses. To obtain source code for
941
+ software provided under licenses that require
942
+ redistribution of source code, including the GNU General
943
+ Public License (GPL) and GNU Lesser General Public License
944
+ (LGPL), contact oss-requests@nvidia.com. This offer is
945
+ valid for a period of three (3) years from the date of the
946
+ distribution of this product by NVIDIA CORPORATION.
947
+
948
+ Component License
949
+ CUDA-GDB GPL v3
950
+
951
+ 2. Licensee represents and warrants that any and all third
952
+ party licensing and/or royalty payment obligations in
953
+ connection with Licensee's use of the H.264 video codecs
954
+ are solely the responsibility of Licensee.
955
+
956
+ 3. Licensee's use of the Thrust library is subject to the
957
+ terms and conditions of the Apache License Version 2.0.
958
+ All third-party software packages are copyright by their
959
+ respective authors. Apache License Version 2.0 terms and
960
+ conditions are hereby incorporated into the Agreement by
961
+ this reference.
962
+ http://www.apache.org/licenses/LICENSE-2.0.html
963
+
964
+ In addition, Licensee acknowledges the following notice:
965
+ Thrust includes source code from the Boost Iterator,
966
+ Tuple, System, and Random Number libraries.
967
+
968
+ Boost Software License - Version 1.0 - August 17th, 2003
969
+ . . . .
970
+
971
+ Permission is hereby granted, free of charge, to any person or
972
+ organization obtaining a copy of the software and accompanying
973
+ documentation covered by this license (the "Software") to use,
974
+ reproduce, display, distribute, execute, and transmit the Software,
975
+ and to prepare derivative works of the Software, and to permit
976
+ third-parties to whom the Software is furnished to do so, all
977
+ subject to the following:
978
+
979
+ The copyright notices in the Software and this entire statement,
980
+ including the above license grant, this restriction and the following
981
+ disclaimer, must be included in all copies of the Software, in whole
982
+ or in part, and all derivative works of the Software, unless such
983
+ copies or derivative works are solely in the form of machine-executable
984
+ object code generated by a source language processor.
985
+
986
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
987
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
988
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
989
+ NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
990
+ ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR
991
+ OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING
992
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
993
+ OTHER DEALINGS IN THE SOFTWARE.
994
+
995
+ 4. Licensee's use of the LLVM third party component is
996
+ subject to the following terms and conditions:
997
+
998
+ ======================================================
999
+ LLVM Release License
1000
+ ======================================================
1001
+ University of Illinois/NCSA
1002
+ Open Source License
1003
+
1004
+ Copyright (c) 2003-2010 University of Illinois at Urbana-Champaign.
1005
+ All rights reserved.
1006
+
1007
+ Developed by:
1008
+
1009
+ LLVM Team
1010
+
1011
+ University of Illinois at Urbana-Champaign
1012
+
1013
+ http://llvm.org
1014
+
1015
+ Permission is hereby granted, free of charge, to any person obtaining a copy
1016
+ of this software and associated documentation files (the "Software"), to
1017
+ deal with the Software without restriction, including without limitation the
1018
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
1019
+ sell copies of the Software, and to permit persons to whom the Software is
1020
+ furnished to do so, subject to the following conditions:
1021
+
1022
+ * Redistributions of source code must retain the above copyright notice,
1023
+ this list of conditions and the following disclaimers.
1024
+
1025
+ * Redistributions in binary form must reproduce the above copyright
1026
+ notice, this list of conditions and the following disclaimers in the
1027
+ documentation and/or other materials provided with the distribution.
1028
+
1029
+ * Neither the names of the LLVM Team, University of Illinois at Urbana-
1030
+ Champaign, nor the names of its contributors may be used to endorse or
1031
+ promote products derived from this Software without specific prior
1032
+ written permission.
1033
+
1034
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1035
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1036
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
1037
+ THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
1038
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
1039
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
1040
+ DEALINGS WITH THE SOFTWARE.
1041
+
1042
+ 5. Licensee's use (e.g. nvprof) of the PCRE third party
1043
+ component is subject to the following terms and
1044
+ conditions:
1045
+
1046
+ ------------
1047
+ PCRE LICENCE
1048
+ ------------
1049
+ PCRE is a library of functions to support regular expressions whose syntax
1050
+ and semantics are as close as possible to those of the Perl 5 language.
1051
+ Release 8 of PCRE is distributed under the terms of the "BSD" licence, as
1052
+ specified below. The documentation for PCRE, supplied in the "doc"
1053
+ directory, is distributed under the same terms as the software itself. The
1054
+ basic library functions are written in C and are freestanding. Also
1055
+ included in the distribution is a set of C++ wrapper functions, and a just-
1056
+ in-time compiler that can be used to optimize pattern matching. These are
1057
+ both optional features that can be omitted when the library is built.
1058
+
1059
+ THE BASIC LIBRARY FUNCTIONS
1060
+ ---------------------------
1061
+ Written by: Philip Hazel
1062
+ Email local part: ph10
1063
+ Email domain: cam.ac.uk
1064
+ University of Cambridge Computing Service,
1065
+ Cambridge, England.
1066
+ Copyright (c) 1997-2012 University of Cambridge
1067
+ All rights reserved.
1068
+
1069
+ PCRE JUST-IN-TIME COMPILATION SUPPORT
1070
+ -------------------------------------
1071
+ Written by: Zoltan Herczeg
1072
+ Email local part: hzmester
1073
+ Emain domain: freemail.hu
1074
+ Copyright(c) 2010-2012 Zoltan Herczeg
1075
+ All rights reserved.
1076
+
1077
+ STACK-LESS JUST-IN-TIME COMPILER
1078
+ --------------------------------
1079
+ Written by: Zoltan Herczeg
1080
+ Email local part: hzmester
1081
+ Emain domain: freemail.hu
1082
+ Copyright(c) 2009-2012 Zoltan Herczeg
1083
+ All rights reserved.
1084
+
1085
+ THE C++ WRAPPER FUNCTIONS
1086
+ -------------------------
1087
+ Contributed by: Google Inc.
1088
+ Copyright (c) 2007-2012, Google Inc.
1089
+ All rights reserved.
1090
+
1091
+ THE "BSD" LICENCE
1092
+ -----------------
1093
+ Redistribution and use in source and binary forms, with or without
1094
+ modification, are permitted provided that the following conditions are met:
1095
+
1096
+ * Redistributions of source code must retain the above copyright notice,
1097
+ this list of conditions and the following disclaimer.
1098
+
1099
+ * Redistributions in binary form must reproduce the above copyright
1100
+ notice, this list of conditions and the following disclaimer in the
1101
+ documentation and/or other materials provided with the distribution.
1102
+
1103
+ * Neither the name of the University of Cambridge nor the name of Google
1104
+ Inc. nor the names of their contributors may be used to endorse or
1105
+ promote products derived from this software without specific prior
1106
+ written permission.
1107
+
1108
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
1109
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1110
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1111
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
1112
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1113
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1114
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1115
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1116
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1117
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1118
+ POSSIBILITY OF SUCH DAMAGE.
1119
+
1120
+ 6. Some of the cuBLAS library routines were written by or
1121
+ derived from code written by Vasily Volkov and are subject
1122
+ to the Modified Berkeley Software Distribution License as
1123
+ follows:
1124
+
1125
+ Copyright (c) 2007-2009, Regents of the University of California
1126
+
1127
+ All rights reserved.
1128
+
1129
+ Redistribution and use in source and binary forms, with or without
1130
+ modification, are permitted provided that the following conditions are
1131
+ met:
1132
+ * Redistributions of source code must retain the above copyright
1133
+ notice, this list of conditions and the following disclaimer.
1134
+ * Redistributions in binary form must reproduce the above
1135
+ copyright notice, this list of conditions and the following
1136
+ disclaimer in the documentation and/or other materials provided
1137
+ with the distribution.
1138
+ * Neither the name of the University of California, Berkeley nor
1139
+ the names of its contributors may be used to endorse or promote
1140
+ products derived from this software without specific prior
1141
+ written permission.
1142
+
1143
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
1144
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1145
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
1146
+ DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
1147
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
1148
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
1149
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
1150
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
1151
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
1152
+ IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1153
+ POSSIBILITY OF SUCH DAMAGE.
1154
+
1155
+ 7. Some of the cuBLAS library routines were written by or
1156
+ derived from code written by Davide Barbieri and are
1157
+ subject to the Modified Berkeley Software Distribution
1158
+ License as follows:
1159
+
1160
+ Copyright (c) 2008-2009 Davide Barbieri @ University of Rome Tor Vergata.
1161
+
1162
+ All rights reserved.
1163
+
1164
+ Redistribution and use in source and binary forms, with or without
1165
+ modification, are permitted provided that the following conditions are
1166
+ met:
1167
+ * Redistributions of source code must retain the above copyright
1168
+ notice, this list of conditions and the following disclaimer.
1169
+ * Redistributions in binary form must reproduce the above
1170
+ copyright notice, this list of conditions and the following
1171
+ disclaimer in the documentation and/or other materials provided
1172
+ with the distribution.
1173
+ * The name of the author may not be used to endorse or promote
1174
+ products derived from this software without specific prior
1175
+ written permission.
1176
+
1177
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
1178
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1179
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
1180
+ DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
1181
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
1182
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
1183
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
1184
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
1185
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
1186
+ IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1187
+ POSSIBILITY OF SUCH DAMAGE.
1188
+
1189
+ 8. Some of the cuBLAS library routines were derived from
1190
+ code developed by the University of Tennessee and are
1191
+ subject to the Modified Berkeley Software Distribution
1192
+ License as follows:
1193
+
1194
+ Copyright (c) 2010 The University of Tennessee.
1195
+
1196
+ All rights reserved.
1197
+
1198
+ Redistribution and use in source and binary forms, with or without
1199
+ modification, are permitted provided that the following conditions are
1200
+ met:
1201
+ * Redistributions of source code must retain the above copyright
1202
+ notice, this list of conditions and the following disclaimer.
1203
+ * Redistributions in binary form must reproduce the above
1204
+ copyright notice, this list of conditions and the following
1205
+ disclaimer listed in this license in the documentation and/or
1206
+ other materials provided with the distribution.
1207
+ * Neither the name of the copyright holders nor the names of its
1208
+ contributors may be used to endorse or promote products derived
1209
+ from this software without specific prior written permission.
1210
+
1211
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1212
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1213
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
1214
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
1215
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
1216
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
1217
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
1218
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
1219
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
1220
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
1221
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1222
+
1223
+ 9. Some of the cuBLAS library routines were written by or
1224
+ derived from code written by Jonathan Hogg and are subject
1225
+ to the Modified Berkeley Software Distribution License as
1226
+ follows:
1227
+
1228
+ Copyright (c) 2012, The Science and Technology Facilities Council (STFC).
1229
+
1230
+ All rights reserved.
1231
+
1232
+ Redistribution and use in source and binary forms, with or without
1233
+ modification, are permitted provided that the following conditions are
1234
+ met:
1235
+ * Redistributions of source code must retain the above copyright
1236
+ notice, this list of conditions and the following disclaimer.
1237
+ * Redistributions in binary form must reproduce the above
1238
+ copyright notice, this list of conditions and the following
1239
+ disclaimer in the documentation and/or other materials provided
1240
+ with the distribution.
1241
+ * Neither the name of the STFC nor the names of its contributors
1242
+ may be used to endorse or promote products derived from this
1243
+ software without specific prior written permission.
1244
+
1245
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1246
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1247
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
1248
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE STFC BE
1249
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1250
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1251
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
1252
+ BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
1253
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
1254
+ OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
1255
+ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1256
+
1257
+ 10. Some of the cuBLAS library routines were written by or
1258
+ derived from code written by Ahmad M. Abdelfattah, David
1259
+ Keyes, and Hatem Ltaief, and are subject to the Apache
1260
+ License, Version 2.0, as follows:
1261
+
1262
+ -- (C) Copyright 2013 King Abdullah University of Science and Technology
1263
+ Authors:
1264
+ Ahmad Abdelfattah (ahmad.ahmad@kaust.edu.sa)
1265
+ David Keyes (david.keyes@kaust.edu.sa)
1266
+ Hatem Ltaief (hatem.ltaief@kaust.edu.sa)
1267
+
1268
+ Redistribution and use in source and binary forms, with or without
1269
+ modification, are permitted provided that the following conditions
1270
+ are met:
1271
+
1272
+ * Redistributions of source code must retain the above copyright
1273
+ notice, this list of conditions and the following disclaimer.
1274
+ * Redistributions in binary form must reproduce the above copyright
1275
+ notice, this list of conditions and the following disclaimer in the
1276
+ documentation and/or other materials provided with the distribution.
1277
+ * Neither the name of the King Abdullah University of Science and
1278
+ Technology nor the names of its contributors may be used to endorse
1279
+ or promote products derived from this software without specific prior
1280
+ written permission.
1281
+
1282
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1283
+ ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1284
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
1285
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
1286
+ HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
1287
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
1288
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
1289
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
1290
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
1291
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
1292
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
1293
+
1294
+ 11. Some of the cuSPARSE library routines were written by or
1295
+ derived from code written by Li-Wen Chang and are subject
1296
+ to the NCSA Open Source License as follows:
1297
+
1298
+ Copyright (c) 2012, University of Illinois.
1299
+
1300
+ All rights reserved.
1301
+
1302
+ Developed by: IMPACT Group, University of Illinois, http://impact.crhc.illinois.edu
1303
+
1304
+ Permission is hereby granted, free of charge, to any person obtaining
1305
+ a copy of this software and associated documentation files (the
1306
+ "Software"), to deal with the Software without restriction, including
1307
+ without limitation the rights to use, copy, modify, merge, publish,
1308
+ distribute, sublicense, and/or sell copies of the Software, and to
1309
+ permit persons to whom the Software is furnished to do so, subject to
1310
+ the following conditions:
1311
+ * Redistributions of source code must retain the above copyright
1312
+ notice, this list of conditions and the following disclaimer.
1313
+ * Redistributions in binary form must reproduce the above
1314
+ copyright notice, this list of conditions and the following
1315
+ disclaimers in the documentation and/or other materials provided
1316
+ with the distribution.
1317
+ * Neither the names of IMPACT Group, University of Illinois, nor
1318
+ the names of its contributors may be used to endorse or promote
1319
+ products derived from this Software without specific prior
1320
+ written permission.
1321
+
1322
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1323
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1324
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1325
+ NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT
1326
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
1327
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
1328
+ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
1329
+ SOFTWARE.
1330
+
1331
+ 12. Some of the cuRAND library routines were written by or
1332
+ derived from code written by Mutsuo Saito and Makoto
1333
+ Matsumoto and are subject to the following license:
1334
+
1335
+ Copyright (c) 2009, 2010 Mutsuo Saito, Makoto Matsumoto and Hiroshima
1336
+ University. All rights reserved.
1337
+
1338
+ Copyright (c) 2011 Mutsuo Saito, Makoto Matsumoto, Hiroshima
1339
+ University and University of Tokyo. All rights reserved.
1340
+
1341
+ Redistribution and use in source and binary forms, with or without
1342
+ modification, are permitted provided that the following conditions are
1343
+ met:
1344
+ * Redistributions of source code must retain the above copyright
1345
+ notice, this list of conditions and the following disclaimer.
1346
+ * Redistributions in binary form must reproduce the above
1347
+ copyright notice, this list of conditions and the following
1348
+ disclaimer in the documentation and/or other materials provided
1349
+ with the distribution.
1350
+ * Neither the name of the Hiroshima University nor the names of
1351
+ its contributors may be used to endorse or promote products
1352
+ derived from this software without specific prior written
1353
+ permission.
1354
+
1355
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1356
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1357
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
1358
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
1359
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
1360
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
1361
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
1362
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
1363
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
1364
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
1365
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1366
+
1367
+ 13. Some of the cuRAND library routines were derived from
1368
+ code developed by D. E. Shaw Research and are subject to
1369
+ the following license:
1370
+
1371
+ Copyright 2010-2011, D. E. Shaw Research.
1372
+
1373
+ All rights reserved.
1374
+
1375
+ Redistribution and use in source and binary forms, with or without
1376
+ modification, are permitted provided that the following conditions are
1377
+ met:
1378
+ * Redistributions of source code must retain the above copyright
1379
+ notice, this list of conditions, and the following disclaimer.
1380
+ * Redistributions in binary form must reproduce the above
1381
+ copyright notice, this list of conditions, and the following
1382
+ disclaimer in the documentation and/or other materials provided
1383
+ with the distribution.
1384
+ * Neither the name of D. E. Shaw Research nor the names of its
1385
+ contributors may be used to endorse or promote products derived
1386
+ from this software without specific prior written permission.
1387
+
1388
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1389
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1390
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
1391
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
1392
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
1393
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
1394
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
1395
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
1396
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
1397
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
1398
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1399
+
1400
+ 14. Some of the Math library routines were written by or
1401
+ derived from code developed by Norbert Juffa and are
1402
+ subject to the following license:
1403
+
1404
+ Copyright (c) 2015-2017, Norbert Juffa
1405
+ All rights reserved.
1406
+
1407
+ Redistribution and use in source and binary forms, with or without
1408
+ modification, are permitted provided that the following conditions
1409
+ are met:
1410
+
1411
+ 1. Redistributions of source code must retain the above copyright
1412
+ notice, this list of conditions and the following disclaimer.
1413
+
1414
+ 2. Redistributions in binary form must reproduce the above copyright
1415
+ notice, this list of conditions and the following disclaimer in the
1416
+ documentation and/or other materials provided with the distribution.
1417
+
1418
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1419
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1420
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
1421
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
1422
+ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
1423
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
1424
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
1425
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
1426
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
1427
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
1428
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1429
+
1430
+ 15. Licensee's use of the lz4 third party component is
1431
+ subject to the following terms and conditions:
1432
+
1433
+ Copyright (C) 2011-2013, Yann Collet.
1434
+ BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php)
1435
+
1436
+ Redistribution and use in source and binary forms, with or without
1437
+ modification, are permitted provided that the following conditions are
1438
+ met:
1439
+
1440
+ * Redistributions of source code must retain the above copyright
1441
+ notice, this list of conditions and the following disclaimer.
1442
+ * Redistributions in binary form must reproduce the above
1443
+ copyright notice, this list of conditions and the following disclaimer
1444
+ in the documentation and/or other materials provided with the
1445
+ distribution.
1446
+
1447
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1448
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1449
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
1450
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
1451
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
1452
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
1453
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
1454
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
1455
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
1456
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
1457
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1458
+
1459
+ 16. The NPP library uses code from the Boost Math Toolkit,
1460
+ and is subject to the following license:
1461
+
1462
+ Boost Software License - Version 1.0 - August 17th, 2003
1463
+ . . . .
1464
+
1465
+ Permission is hereby granted, free of charge, to any person or
1466
+ organization obtaining a copy of the software and accompanying
1467
+ documentation covered by this license (the "Software") to use,
1468
+ reproduce, display, distribute, execute, and transmit the Software,
1469
+ and to prepare derivative works of the Software, and to permit
1470
+ third-parties to whom the Software is furnished to do so, all
1471
+ subject to the following:
1472
+
1473
+ The copyright notices in the Software and this entire statement,
1474
+ including the above license grant, this restriction and the following
1475
+ disclaimer, must be included in all copies of the Software, in whole
1476
+ or in part, and all derivative works of the Software, unless such
1477
+ copies or derivative works are solely in the form of machine-executable
1478
+ object code generated by a source language processor.
1479
+
1480
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1481
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1482
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
1483
+ NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
1484
+ ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR
1485
+ OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING
1486
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
1487
+ OTHER DEALINGS IN THE SOFTWARE.
1488
+
1489
+ 17. Portions of the Nsight Eclipse Edition is subject to the
1490
+ following license:
1491
+
1492
+ The Eclipse Foundation makes available all content in this plug-in
1493
+ ("Content"). Unless otherwise indicated below, the Content is provided
1494
+ to you under the terms and conditions of the Eclipse Public License
1495
+ Version 1.0 ("EPL"). A copy of the EPL is available at http://
1496
+ www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program"
1497
+ will mean the Content.
1498
+
1499
+ If you did not receive this Content directly from the Eclipse
1500
+ Foundation, the Content is being redistributed by another party
1501
+ ("Redistributor") and different terms and conditions may apply to your
1502
+ use of any object code in the Content. Check the Redistributor's
1503
+ license that was provided with the Content. If no such license exists,
1504
+ contact the Redistributor. Unless otherwise indicated below, the terms
1505
+ and conditions of the EPL still apply to any source code in the
1506
+ Content and such source code may be obtained at http://www.eclipse.org.
1507
+
1508
+ 18. Some of the cuBLAS library routines uses code from
1509
+ OpenAI, which is subject to the following license:
1510
+
1511
+ License URL
1512
+ https://github.com/openai/openai-gemm/blob/master/LICENSE
1513
+
1514
+ License Text
1515
+ The MIT License
1516
+
1517
+ Copyright (c) 2016 OpenAI (http://openai.com), 2016 Google Inc.
1518
+
1519
+ Permission is hereby granted, free of charge, to any person obtaining a copy
1520
+ of this software and associated documentation files (the "Software"), to deal
1521
+ in the Software without restriction, including without limitation the rights
1522
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1523
+ copies of the Software, and to permit persons to whom the Software is
1524
+ furnished to do so, subject to the following conditions:
1525
+
1526
+ The above copyright notice and this permission notice shall be included in
1527
+ all copies or substantial portions of the Software.
1528
+
1529
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1530
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1531
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1532
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1533
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1534
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1535
+ THE SOFTWARE.
1536
+
1537
+ 19. Licensee's use of the Visual Studio Setup Configuration
1538
+ Samples is subject to the following license:
1539
+
1540
+ The MIT License (MIT)
1541
+ Copyright (C) Microsoft Corporation. All rights reserved.
1542
+
1543
+ Permission is hereby granted, free of charge, to any person
1544
+ obtaining a copy of this software and associated documentation
1545
+ files (the "Software"), to deal in the Software without restriction,
1546
+ including without limitation the rights to use, copy, modify, merge,
1547
+ publish, distribute, sublicense, and/or sell copies of the Software,
1548
+ and to permit persons to whom the Software is furnished to do so,
1549
+ subject to the following conditions:
1550
+
1551
+ The above copyright notice and this permission notice shall be included
1552
+ in all copies or substantial portions of the Software.
1553
+
1554
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1555
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1556
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1557
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1558
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1559
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1560
+
1561
+ 20. Licensee's use of linmath.h header for CPU functions for
1562
+ GL vector/matrix operations from lunarG is subject to the
1563
+ Apache License Version 2.0.
1564
+
1565
+ 21. The DX12-CUDA sample uses the d3dx12.h header, which is
1566
+ subject to the MIT license .
1567
+
1568
+ -----------------
tuning-competition-baseline/.venv/lib/python3.11/site-packages/nvidia_nvtx_cu11-11.8.86.dist-info/RECORD ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ nvidia/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ nvidia/__pycache__/__init__.cpython-311.pyc,,
3
+ nvidia/nvtx/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
+ nvidia/nvtx/__pycache__/__init__.cpython-311.pyc,,
5
+ nvidia/nvtx/include/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
+ nvidia/nvtx/include/__pycache__/__init__.cpython-311.pyc,,
7
+ nvidia/nvtx/include/nvToolsExt.h,sha256=OiT6v1G2-vlkYnpDQZjiGT1O-THDyk1gw2021qMRvQM,53680
8
+ nvidia/nvtx/include/nvToolsExtCuda.h,sha256=UDA1pbmvoRFmlJ11Et9tIMEztOtOVw-10mO27Q6K8jg,6009
9
+ nvidia/nvtx/include/nvToolsExtCudaRt.h,sha256=6IbgdRGObly53jzRqvsZ4FQoTrXJOJwSyCOLuXr9ncA,5192
10
+ nvidia/nvtx/include/nvToolsExtOpenCL.h,sha256=gETZH9ch_o6MYE_BYQ2pj9SSuxyAo1H4ptmRK-DMWSo,8360
11
+ nvidia/nvtx/include/nvToolsExtSync.h,sha256=wqONIiycUPaUUCzQBmCippilgKt8sOL9tpzG773u0nY,14562
12
+ nvidia/nvtx/include/nvtx3/nvToolsExt.h,sha256=TFEF3fx1043EwMdbS7FqvvavwK0koZeGrIOAsCrB12s,52247
13
+ nvidia/nvtx/include/nvtx3/nvToolsExtCuda.h,sha256=4ZbZHUMcmHRf4SdKB7nH0E3uHd_9ZhZBuwuWPItK-Vs,6204
14
+ nvidia/nvtx/include/nvtx3/nvToolsExtCudaRt.h,sha256=boW0zdYobNFFE9wwxCyzBGBLcSGtdbQ5osKjQGNC2E8,5393
15
+ nvidia/nvtx/include/nvtx3/nvToolsExtOpenCL.h,sha256=RPfsZl3lHAPIOCzTipmz07-vaiIO4cxelcx12EjB2L0,8563
16
+ nvidia/nvtx/include/nvtx3/nvToolsExtSync.h,sha256=C-HIVBaupxYom3BqMggQ_ePq1bxFhw8kXsOfYJKBWrI,14756
17
+ nvidia/nvtx/include/nvtx3/nvtxDetail/nvtxImpl.h,sha256=jEnYF3MyLsD72euw2It3Bz0X0GK4Xv_htEd8BeIrPjY,23333
18
+ nvidia/nvtx/include/nvtx3/nvtxDetail/nvtxImplCore.h,sha256=sYpWqZfYrjsMddxtezPX3qSTIbAOn4dlEoLiYQ9M2nM,9756
19
+ nvidia/nvtx/include/nvtx3/nvtxDetail/nvtxImplCudaRt_v3.h,sha256=SoaiprvsI80yLmEAnlFX0iFufv6RtKjjMMrVwQZjjQI,4775
20
+ nvidia/nvtx/include/nvtx3/nvtxDetail/nvtxImplCuda_v3.h,sha256=IEor-ISqComCRGVDdIzKBLU3eWCuDI0Igqz-eRKKcvg,5550
21
+ nvidia/nvtx/include/nvtx3/nvtxDetail/nvtxImplOpenCL_v3.h,sha256=iPR2x74bJE3plFQBT9FWGBaTm4sC-Pll6WAjpKRnz7g,8275
22
+ nvidia/nvtx/include/nvtx3/nvtxDetail/nvtxImplSync_v3.h,sha256=TqwQfEUVbwc58bpHioE13NMweFhOuHXNql65BnLzhvc,5022
23
+ nvidia/nvtx/include/nvtx3/nvtxDetail/nvtxInit.h,sha256=foajOFacvLGx3BN5ntw5v8o4J3OY4hqkVZE5ZC0x3e4,14716
24
+ nvidia/nvtx/include/nvtx3/nvtxDetail/nvtxInitDecls.h,sha256=-Qyxcy9CDXOBhEtYZ8L7iYd6daJ9aCeyQM48X0BafMM,9361
25
+ nvidia/nvtx/include/nvtx3/nvtxDetail/nvtxInitDefs.h,sha256=dLhOV4knhNrmT2DnUNzXreOt_Qc6GAa3yIlmqJFCeVI,35432
26
+ nvidia/nvtx/include/nvtx3/nvtxDetail/nvtxLinkOnce.h,sha256=Jp-z6LTz_p8fKRulcFfdcskIxzcZ6ybbHkGB9mpJa2M,3863
27
+ nvidia/nvtx/include/nvtx3/nvtxDetail/nvtxTypes.h,sha256=jkbCwyvIP1G-Ef8SwYp4kDi69hjZbzaxKSk7ScgrNI8,17352
28
+ nvidia/nvtx/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
+ nvidia/nvtx/lib/__pycache__/__init__.cpython-311.pyc,,
30
+ nvidia/nvtx/lib/libnvToolsExt.so.1,sha256=hH148nXIzJdEKieAcyBL3BoACf_CVZv3JIxw2SEF39w,40136
31
+ nvidia_nvtx_cu11-11.8.86.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
32
+ nvidia_nvtx_cu11-11.8.86.dist-info/License.txt,sha256=rW9YU_ugyg0VnQ9Y1JrkmDDC-Mk_epJki5zpCttMbM0,59262
33
+ nvidia_nvtx_cu11-11.8.86.dist-info/METADATA,sha256=IaAWRTfQ9a7txhi9cErxumz-M7BtPOBtDBmCP-VGLmw,1659
34
+ nvidia_nvtx_cu11-11.8.86.dist-info/RECORD,,
35
+ nvidia_nvtx_cu11-11.8.86.dist-info/WHEEL,sha256=-kQi_VMfvRQozZJT7HUPMfY-5vLo0LVTmAylNJ3Ft98,106
36
+ nvidia_nvtx_cu11-11.8.86.dist-info/top_level.txt,sha256=fTkAtiFuL16nUrB9ytDDtpytz2t0B4NvYTnRzwAhO14,7
tuning-competition-baseline/.venv/lib/python3.11/site-packages/nvidia_nvtx_cu11-11.8.86.dist-info/top_level.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ nvidia
tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/__init__.py ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # This file is dual licensed under the terms of the Apache License, Version
2
+ # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3
+ # for complete details.
4
+
5
+ __title__ = "packaging"
6
+ __summary__ = "Core utilities for Python packages"
7
+ __uri__ = "https://github.com/pypa/packaging"
8
+
9
+ __version__ = "24.2"
10
+
11
+ __author__ = "Donald Stufft and individual contributors"
12
+ __email__ = "donald@stufft.io"
13
+
14
+ __license__ = "BSD-2-Clause or Apache-2.0"
15
+ __copyright__ = f"2014 {__author__}"
tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/__pycache__/__init__.cpython-311.pyc ADDED
Binary file (570 Bytes). View file
 
tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/__pycache__/_manylinux.cpython-311.pyc ADDED
Binary file (11 kB). View file
 
tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/__pycache__/_musllinux.cpython-311.pyc ADDED
Binary file (5.32 kB). View file
 
tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/__pycache__/_parser.cpython-311.pyc ADDED
Binary file (16.3 kB). View file
 
tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/__pycache__/_structures.cpython-311.pyc ADDED
Binary file (3.69 kB). View file
 
tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/__pycache__/_tokenizer.cpython-311.pyc ADDED
Binary file (8.56 kB). View file
 
tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/__pycache__/markers.cpython-311.pyc ADDED
Binary file (13.1 kB). View file
 
tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/__pycache__/metadata.cpython-311.pyc ADDED
Binary file (31.1 kB). View file
 
tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/__pycache__/requirements.cpython-311.pyc ADDED
Binary file (4.74 kB). View file
 
tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/__pycache__/specifiers.cpython-311.pyc ADDED
Binary file (41.5 kB). View file
 
tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/__pycache__/tags.cpython-311.pyc ADDED
Binary file (25.9 kB). View file
 
tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/__pycache__/utils.cpython-311.pyc ADDED
Binary file (7.6 kB). View file
 
tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/__pycache__/version.cpython-311.pyc ADDED
Binary file (22 kB). View file
 
tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/_elffile.py ADDED
@@ -0,0 +1,110 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ ELF file parser.
3
+
4
+ This provides a class ``ELFFile`` that parses an ELF executable in a similar
5
+ interface to ``ZipFile``. Only the read interface is implemented.
6
+
7
+ Based on: https://gist.github.com/lyssdod/f51579ae8d93c8657a5564aefc2ffbca
8
+ ELF header: https://refspecs.linuxfoundation.org/elf/gabi4+/ch4.eheader.html
9
+ """
10
+
11
+ from __future__ import annotations
12
+
13
+ import enum
14
+ import os
15
+ import struct
16
+ from typing import IO
17
+
18
+
19
+ class ELFInvalid(ValueError):
20
+ pass
21
+
22
+
23
+ class EIClass(enum.IntEnum):
24
+ C32 = 1
25
+ C64 = 2
26
+
27
+
28
+ class EIData(enum.IntEnum):
29
+ Lsb = 1
30
+ Msb = 2
31
+
32
+
33
+ class EMachine(enum.IntEnum):
34
+ I386 = 3
35
+ S390 = 22
36
+ Arm = 40
37
+ X8664 = 62
38
+ AArc64 = 183
39
+
40
+
41
+ class ELFFile:
42
+ """
43
+ Representation of an ELF executable.
44
+ """
45
+
46
+ def __init__(self, f: IO[bytes]) -> None:
47
+ self._f = f
48
+
49
+ try:
50
+ ident = self._read("16B")
51
+ except struct.error as e:
52
+ raise ELFInvalid("unable to parse identification") from e
53
+ magic = bytes(ident[:4])
54
+ if magic != b"\x7fELF":
55
+ raise ELFInvalid(f"invalid magic: {magic!r}")
56
+
57
+ self.capacity = ident[4] # Format for program header (bitness).
58
+ self.encoding = ident[5] # Data structure encoding (endianness).
59
+
60
+ try:
61
+ # e_fmt: Format for program header.
62
+ # p_fmt: Format for section header.
63
+ # p_idx: Indexes to find p_type, p_offset, and p_filesz.
64
+ e_fmt, self._p_fmt, self._p_idx = {
65
+ (1, 1): ("<HHIIIIIHHH", "<IIIIIIII", (0, 1, 4)), # 32-bit LSB.
66
+ (1, 2): (">HHIIIIIHHH", ">IIIIIIII", (0, 1, 4)), # 32-bit MSB.
67
+ (2, 1): ("<HHIQQQIHHH", "<IIQQQQQQ", (0, 2, 5)), # 64-bit LSB.
68
+ (2, 2): (">HHIQQQIHHH", ">IIQQQQQQ", (0, 2, 5)), # 64-bit MSB.
69
+ }[(self.capacity, self.encoding)]
70
+ except KeyError as e:
71
+ raise ELFInvalid(
72
+ f"unrecognized capacity ({self.capacity}) or "
73
+ f"encoding ({self.encoding})"
74
+ ) from e
75
+
76
+ try:
77
+ (
78
+ _,
79
+ self.machine, # Architecture type.
80
+ _,
81
+ _,
82
+ self._e_phoff, # Offset of program header.
83
+ _,
84
+ self.flags, # Processor-specific flags.
85
+ _,
86
+ self._e_phentsize, # Size of section.
87
+ self._e_phnum, # Number of sections.
88
+ ) = self._read(e_fmt)
89
+ except struct.error as e:
90
+ raise ELFInvalid("unable to parse machine and section information") from e
91
+
92
+ def _read(self, fmt: str) -> tuple[int, ...]:
93
+ return struct.unpack(fmt, self._f.read(struct.calcsize(fmt)))
94
+
95
+ @property
96
+ def interpreter(self) -> str | None:
97
+ """
98
+ The path recorded in the ``PT_INTERP`` section header.
99
+ """
100
+ for index in range(self._e_phnum):
101
+ self._f.seek(self._e_phoff + self._e_phentsize * index)
102
+ try:
103
+ data = self._read(self._p_fmt)
104
+ except struct.error:
105
+ continue
106
+ if data[self._p_idx[0]] != 3: # Not PT_INTERP.
107
+ continue
108
+ self._f.seek(data[self._p_idx[1]])
109
+ return os.fsdecode(self._f.read(data[self._p_idx[2]])).strip("\0")
110
+ return None
tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/_manylinux.py ADDED
@@ -0,0 +1,263 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from __future__ import annotations
2
+
3
+ import collections
4
+ import contextlib
5
+ import functools
6
+ import os
7
+ import re
8
+ import sys
9
+ import warnings
10
+ from typing import Generator, Iterator, NamedTuple, Sequence
11
+
12
+ from ._elffile import EIClass, EIData, ELFFile, EMachine
13
+
14
+ EF_ARM_ABIMASK = 0xFF000000
15
+ EF_ARM_ABI_VER5 = 0x05000000
16
+ EF_ARM_ABI_FLOAT_HARD = 0x00000400
17
+
18
+
19
+ # `os.PathLike` not a generic type until Python 3.9, so sticking with `str`
20
+ # as the type for `path` until then.
21
+ @contextlib.contextmanager
22
+ def _parse_elf(path: str) -> Generator[ELFFile | None, None, None]:
23
+ try:
24
+ with open(path, "rb") as f:
25
+ yield ELFFile(f)
26
+ except (OSError, TypeError, ValueError):
27
+ yield None
28
+
29
+
30
+ def _is_linux_armhf(executable: str) -> bool:
31
+ # hard-float ABI can be detected from the ELF header of the running
32
+ # process
33
+ # https://static.docs.arm.com/ihi0044/g/aaelf32.pdf
34
+ with _parse_elf(executable) as f:
35
+ return (
36
+ f is not None
37
+ and f.capacity == EIClass.C32
38
+ and f.encoding == EIData.Lsb
39
+ and f.machine == EMachine.Arm
40
+ and f.flags & EF_ARM_ABIMASK == EF_ARM_ABI_VER5
41
+ and f.flags & EF_ARM_ABI_FLOAT_HARD == EF_ARM_ABI_FLOAT_HARD
42
+ )
43
+
44
+
45
+ def _is_linux_i686(executable: str) -> bool:
46
+ with _parse_elf(executable) as f:
47
+ return (
48
+ f is not None
49
+ and f.capacity == EIClass.C32
50
+ and f.encoding == EIData.Lsb
51
+ and f.machine == EMachine.I386
52
+ )
53
+
54
+
55
+ def _have_compatible_abi(executable: str, archs: Sequence[str]) -> bool:
56
+ if "armv7l" in archs:
57
+ return _is_linux_armhf(executable)
58
+ if "i686" in archs:
59
+ return _is_linux_i686(executable)
60
+ allowed_archs = {
61
+ "x86_64",
62
+ "aarch64",
63
+ "ppc64",
64
+ "ppc64le",
65
+ "s390x",
66
+ "loongarch64",
67
+ "riscv64",
68
+ }
69
+ return any(arch in allowed_archs for arch in archs)
70
+
71
+
72
+ # If glibc ever changes its major version, we need to know what the last
73
+ # minor version was, so we can build the complete list of all versions.
74
+ # For now, guess what the highest minor version might be, assume it will
75
+ # be 50 for testing. Once this actually happens, update the dictionary
76
+ # with the actual value.
77
+ _LAST_GLIBC_MINOR: dict[int, int] = collections.defaultdict(lambda: 50)
78
+
79
+
80
+ class _GLibCVersion(NamedTuple):
81
+ major: int
82
+ minor: int
83
+
84
+
85
+ def _glibc_version_string_confstr() -> str | None:
86
+ """
87
+ Primary implementation of glibc_version_string using os.confstr.
88
+ """
89
+ # os.confstr is quite a bit faster than ctypes.DLL. It's also less likely
90
+ # to be broken or missing. This strategy is used in the standard library
91
+ # platform module.
92
+ # https://github.com/python/cpython/blob/fcf1d003bf4f0100c/Lib/platform.py#L175-L183
93
+ try:
94
+ # Should be a string like "glibc 2.17".
95
+ version_string: str | None = os.confstr("CS_GNU_LIBC_VERSION")
96
+ assert version_string is not None
97
+ _, version = version_string.rsplit()
98
+ except (AssertionError, AttributeError, OSError, ValueError):
99
+ # os.confstr() or CS_GNU_LIBC_VERSION not available (or a bad value)...
100
+ return None
101
+ return version
102
+
103
+
104
+ def _glibc_version_string_ctypes() -> str | None:
105
+ """
106
+ Fallback implementation of glibc_version_string using ctypes.
107
+ """
108
+ try:
109
+ import ctypes
110
+ except ImportError:
111
+ return None
112
+
113
+ # ctypes.CDLL(None) internally calls dlopen(NULL), and as the dlopen
114
+ # manpage says, "If filename is NULL, then the returned handle is for the
115
+ # main program". This way we can let the linker do the work to figure out
116
+ # which libc our process is actually using.
117
+ #
118
+ # We must also handle the special case where the executable is not a
119
+ # dynamically linked executable. This can occur when using musl libc,
120
+ # for example. In this situation, dlopen() will error, leading to an
121
+ # OSError. Interestingly, at least in the case of musl, there is no
122
+ # errno set on the OSError. The single string argument used to construct
123
+ # OSError comes from libc itself and is therefore not portable to
124
+ # hard code here. In any case, failure to call dlopen() means we
125
+ # can proceed, so we bail on our attempt.
126
+ try:
127
+ process_namespace = ctypes.CDLL(None)
128
+ except OSError:
129
+ return None
130
+
131
+ try:
132
+ gnu_get_libc_version = process_namespace.gnu_get_libc_version
133
+ except AttributeError:
134
+ # Symbol doesn't exist -> therefore, we are not linked to
135
+ # glibc.
136
+ return None
137
+
138
+ # Call gnu_get_libc_version, which returns a string like "2.5"
139
+ gnu_get_libc_version.restype = ctypes.c_char_p
140
+ version_str: str = gnu_get_libc_version()
141
+ # py2 / py3 compatibility:
142
+ if not isinstance(version_str, str):
143
+ version_str = version_str.decode("ascii")
144
+
145
+ return version_str
146
+
147
+
148
+ def _glibc_version_string() -> str | None:
149
+ """Returns glibc version string, or None if not using glibc."""
150
+ return _glibc_version_string_confstr() or _glibc_version_string_ctypes()
151
+
152
+
153
+ def _parse_glibc_version(version_str: str) -> tuple[int, int]:
154
+ """Parse glibc version.
155
+
156
+ We use a regexp instead of str.split because we want to discard any
157
+ random junk that might come after the minor version -- this might happen
158
+ in patched/forked versions of glibc (e.g. Linaro's version of glibc
159
+ uses version strings like "2.20-2014.11"). See gh-3588.
160
+ """
161
+ m = re.match(r"(?P<major>[0-9]+)\.(?P<minor>[0-9]+)", version_str)
162
+ if not m:
163
+ warnings.warn(
164
+ f"Expected glibc version with 2 components major.minor,"
165
+ f" got: {version_str}",
166
+ RuntimeWarning,
167
+ stacklevel=2,
168
+ )
169
+ return -1, -1
170
+ return int(m.group("major")), int(m.group("minor"))
171
+
172
+
173
+ @functools.lru_cache
174
+ def _get_glibc_version() -> tuple[int, int]:
175
+ version_str = _glibc_version_string()
176
+ if version_str is None:
177
+ return (-1, -1)
178
+ return _parse_glibc_version(version_str)
179
+
180
+
181
+ # From PEP 513, PEP 600
182
+ def _is_compatible(arch: str, version: _GLibCVersion) -> bool:
183
+ sys_glibc = _get_glibc_version()
184
+ if sys_glibc < version:
185
+ return False
186
+ # Check for presence of _manylinux module.
187
+ try:
188
+ import _manylinux
189
+ except ImportError:
190
+ return True
191
+ if hasattr(_manylinux, "manylinux_compatible"):
192
+ result = _manylinux.manylinux_compatible(version[0], version[1], arch)
193
+ if result is not None:
194
+ return bool(result)
195
+ return True
196
+ if version == _GLibCVersion(2, 5):
197
+ if hasattr(_manylinux, "manylinux1_compatible"):
198
+ return bool(_manylinux.manylinux1_compatible)
199
+ if version == _GLibCVersion(2, 12):
200
+ if hasattr(_manylinux, "manylinux2010_compatible"):
201
+ return bool(_manylinux.manylinux2010_compatible)
202
+ if version == _GLibCVersion(2, 17):
203
+ if hasattr(_manylinux, "manylinux2014_compatible"):
204
+ return bool(_manylinux.manylinux2014_compatible)
205
+ return True
206
+
207
+
208
+ _LEGACY_MANYLINUX_MAP = {
209
+ # CentOS 7 w/ glibc 2.17 (PEP 599)
210
+ (2, 17): "manylinux2014",
211
+ # CentOS 6 w/ glibc 2.12 (PEP 571)
212
+ (2, 12): "manylinux2010",
213
+ # CentOS 5 w/ glibc 2.5 (PEP 513)
214
+ (2, 5): "manylinux1",
215
+ }
216
+
217
+
218
+ def platform_tags(archs: Sequence[str]) -> Iterator[str]:
219
+ """Generate manylinux tags compatible to the current platform.
220
+
221
+ :param archs: Sequence of compatible architectures.
222
+ The first one shall be the closest to the actual architecture and be the part of
223
+ platform tag after the ``linux_`` prefix, e.g. ``x86_64``.
224
+ The ``linux_`` prefix is assumed as a prerequisite for the current platform to
225
+ be manylinux-compatible.
226
+
227
+ :returns: An iterator of compatible manylinux tags.
228
+ """
229
+ if not _have_compatible_abi(sys.executable, archs):
230
+ return
231
+ # Oldest glibc to be supported regardless of architecture is (2, 17).
232
+ too_old_glibc2 = _GLibCVersion(2, 16)
233
+ if set(archs) & {"x86_64", "i686"}:
234
+ # On x86/i686 also oldest glibc to be supported is (2, 5).
235
+ too_old_glibc2 = _GLibCVersion(2, 4)
236
+ current_glibc = _GLibCVersion(*_get_glibc_version())
237
+ glibc_max_list = [current_glibc]
238
+ # We can assume compatibility across glibc major versions.
239
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=24636
240
+ #
241
+ # Build a list of maximum glibc versions so that we can
242
+ # output the canonical list of all glibc from current_glibc
243
+ # down to too_old_glibc2, including all intermediary versions.
244
+ for glibc_major in range(current_glibc.major - 1, 1, -1):
245
+ glibc_minor = _LAST_GLIBC_MINOR[glibc_major]
246
+ glibc_max_list.append(_GLibCVersion(glibc_major, glibc_minor))
247
+ for arch in archs:
248
+ for glibc_max in glibc_max_list:
249
+ if glibc_max.major == too_old_glibc2.major:
250
+ min_minor = too_old_glibc2.minor
251
+ else:
252
+ # For other glibc major versions oldest supported is (x, 0).
253
+ min_minor = -1
254
+ for glibc_minor in range(glibc_max.minor, min_minor, -1):
255
+ glibc_version = _GLibCVersion(glibc_max.major, glibc_minor)
256
+ tag = "manylinux_{}_{}".format(*glibc_version)
257
+ if _is_compatible(arch, glibc_version):
258
+ yield f"{tag}_{arch}"
259
+ # Handle the legacy manylinux1, manylinux2010, manylinux2014 tags.
260
+ if glibc_version in _LEGACY_MANYLINUX_MAP:
261
+ legacy_tag = _LEGACY_MANYLINUX_MAP[glibc_version]
262
+ if _is_compatible(arch, glibc_version):
263
+ yield f"{legacy_tag}_{arch}"
tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/_musllinux.py ADDED
@@ -0,0 +1,85 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """PEP 656 support.
2
+
3
+ This module implements logic to detect if the currently running Python is
4
+ linked against musl, and what musl version is used.
5
+ """
6
+
7
+ from __future__ import annotations
8
+
9
+ import functools
10
+ import re
11
+ import subprocess
12
+ import sys
13
+ from typing import Iterator, NamedTuple, Sequence
14
+
15
+ from ._elffile import ELFFile
16
+
17
+
18
+ class _MuslVersion(NamedTuple):
19
+ major: int
20
+ minor: int
21
+
22
+
23
+ def _parse_musl_version(output: str) -> _MuslVersion | None:
24
+ lines = [n for n in (n.strip() for n in output.splitlines()) if n]
25
+ if len(lines) < 2 or lines[0][:4] != "musl":
26
+ return None
27
+ m = re.match(r"Version (\d+)\.(\d+)", lines[1])
28
+ if not m:
29
+ return None
30
+ return _MuslVersion(major=int(m.group(1)), minor=int(m.group(2)))
31
+
32
+
33
+ @functools.lru_cache
34
+ def _get_musl_version(executable: str) -> _MuslVersion | None:
35
+ """Detect currently-running musl runtime version.
36
+
37
+ This is done by checking the specified executable's dynamic linking
38
+ information, and invoking the loader to parse its output for a version
39
+ string. If the loader is musl, the output would be something like::
40
+
41
+ musl libc (x86_64)
42
+ Version 1.2.2
43
+ Dynamic Program Loader
44
+ """
45
+ try:
46
+ with open(executable, "rb") as f:
47
+ ld = ELFFile(f).interpreter
48
+ except (OSError, TypeError, ValueError):
49
+ return None
50
+ if ld is None or "musl" not in ld:
51
+ return None
52
+ proc = subprocess.run([ld], stderr=subprocess.PIPE, text=True)
53
+ return _parse_musl_version(proc.stderr)
54
+
55
+
56
+ def platform_tags(archs: Sequence[str]) -> Iterator[str]:
57
+ """Generate musllinux tags compatible to the current platform.
58
+
59
+ :param archs: Sequence of compatible architectures.
60
+ The first one shall be the closest to the actual architecture and be the part of
61
+ platform tag after the ``linux_`` prefix, e.g. ``x86_64``.
62
+ The ``linux_`` prefix is assumed as a prerequisite for the current platform to
63
+ be musllinux-compatible.
64
+
65
+ :returns: An iterator of compatible musllinux tags.
66
+ """
67
+ sys_musl = _get_musl_version(sys.executable)
68
+ if sys_musl is None: # Python not dynamically linked against musl.
69
+ return
70
+ for arch in archs:
71
+ for minor in range(sys_musl.minor, -1, -1):
72
+ yield f"musllinux_{sys_musl.major}_{minor}_{arch}"
73
+
74
+
75
+ if __name__ == "__main__": # pragma: no cover
76
+ import sysconfig
77
+
78
+ plat = sysconfig.get_platform()
79
+ assert plat.startswith("linux-"), "not linux"
80
+
81
+ print("plat:", plat)
82
+ print("musl:", _get_musl_version(sys.executable))
83
+ print("tags:", end=" ")
84
+ for t in platform_tags(re.sub(r"[.-]", "_", plat.split("-", 1)[-1])):
85
+ print(t, end="\n ")
tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/_structures.py ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # This file is dual licensed under the terms of the Apache License, Version
2
+ # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3
+ # for complete details.
4
+
5
+
6
+ class InfinityType:
7
+ def __repr__(self) -> str:
8
+ return "Infinity"
9
+
10
+ def __hash__(self) -> int:
11
+ return hash(repr(self))
12
+
13
+ def __lt__(self, other: object) -> bool:
14
+ return False
15
+
16
+ def __le__(self, other: object) -> bool:
17
+ return False
18
+
19
+ def __eq__(self, other: object) -> bool:
20
+ return isinstance(other, self.__class__)
21
+
22
+ def __gt__(self, other: object) -> bool:
23
+ return True
24
+
25
+ def __ge__(self, other: object) -> bool:
26
+ return True
27
+
28
+ def __neg__(self: object) -> "NegativeInfinityType":
29
+ return NegativeInfinity
30
+
31
+
32
+ Infinity = InfinityType()
33
+
34
+
35
+ class NegativeInfinityType:
36
+ def __repr__(self) -> str:
37
+ return "-Infinity"
38
+
39
+ def __hash__(self) -> int:
40
+ return hash(repr(self))
41
+
42
+ def __lt__(self, other: object) -> bool:
43
+ return True
44
+
45
+ def __le__(self, other: object) -> bool:
46
+ return True
47
+
48
+ def __eq__(self, other: object) -> bool:
49
+ return isinstance(other, self.__class__)
50
+
51
+ def __gt__(self, other: object) -> bool:
52
+ return False
53
+
54
+ def __ge__(self, other: object) -> bool:
55
+ return False
56
+
57
+ def __neg__(self: object) -> InfinityType:
58
+ return Infinity
59
+
60
+
61
+ NegativeInfinity = NegativeInfinityType()
tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/_tokenizer.py ADDED
@@ -0,0 +1,194 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from __future__ import annotations
2
+
3
+ import contextlib
4
+ import re
5
+ from dataclasses import dataclass
6
+ from typing import Iterator, NoReturn
7
+
8
+ from .specifiers import Specifier
9
+
10
+
11
+ @dataclass
12
+ class Token:
13
+ name: str
14
+ text: str
15
+ position: int
16
+
17
+
18
+ class ParserSyntaxError(Exception):
19
+ """The provided source text could not be parsed correctly."""
20
+
21
+ def __init__(
22
+ self,
23
+ message: str,
24
+ *,
25
+ source: str,
26
+ span: tuple[int, int],
27
+ ) -> None:
28
+ self.span = span
29
+ self.message = message
30
+ self.source = source
31
+
32
+ super().__init__()
33
+
34
+ def __str__(self) -> str:
35
+ marker = " " * self.span[0] + "~" * (self.span[1] - self.span[0]) + "^"
36
+ return "\n ".join([self.message, self.source, marker])
37
+
38
+
39
+ DEFAULT_RULES: dict[str, str | re.Pattern[str]] = {
40
+ "LEFT_PARENTHESIS": r"\(",
41
+ "RIGHT_PARENTHESIS": r"\)",
42
+ "LEFT_BRACKET": r"\[",
43
+ "RIGHT_BRACKET": r"\]",
44
+ "SEMICOLON": r";",
45
+ "COMMA": r",",
46
+ "QUOTED_STRING": re.compile(
47
+ r"""
48
+ (
49
+ ('[^']*')
50
+ |
51
+ ("[^"]*")
52
+ )
53
+ """,
54
+ re.VERBOSE,
55
+ ),
56
+ "OP": r"(===|==|~=|!=|<=|>=|<|>)",
57
+ "BOOLOP": r"\b(or|and)\b",
58
+ "IN": r"\bin\b",
59
+ "NOT": r"\bnot\b",
60
+ "VARIABLE": re.compile(
61
+ r"""
62
+ \b(
63
+ python_version
64
+ |python_full_version
65
+ |os[._]name
66
+ |sys[._]platform
67
+ |platform_(release|system)
68
+ |platform[._](version|machine|python_implementation)
69
+ |python_implementation
70
+ |implementation_(name|version)
71
+ |extra
72
+ )\b
73
+ """,
74
+ re.VERBOSE,
75
+ ),
76
+ "SPECIFIER": re.compile(
77
+ Specifier._operator_regex_str + Specifier._version_regex_str,
78
+ re.VERBOSE | re.IGNORECASE,
79
+ ),
80
+ "AT": r"\@",
81
+ "URL": r"[^ \t]+",
82
+ "IDENTIFIER": r"\b[a-zA-Z0-9][a-zA-Z0-9._-]*\b",
83
+ "VERSION_PREFIX_TRAIL": r"\.\*",
84
+ "VERSION_LOCAL_LABEL_TRAIL": r"\+[a-z0-9]+(?:[-_\.][a-z0-9]+)*",
85
+ "WS": r"[ \t]+",
86
+ "END": r"$",
87
+ }
88
+
89
+
90
+ class Tokenizer:
91
+ """Context-sensitive token parsing.
92
+
93
+ Provides methods to examine the input stream to check whether the next token
94
+ matches.
95
+ """
96
+
97
+ def __init__(
98
+ self,
99
+ source: str,
100
+ *,
101
+ rules: dict[str, str | re.Pattern[str]],
102
+ ) -> None:
103
+ self.source = source
104
+ self.rules: dict[str, re.Pattern[str]] = {
105
+ name: re.compile(pattern) for name, pattern in rules.items()
106
+ }
107
+ self.next_token: Token | None = None
108
+ self.position = 0
109
+
110
+ def consume(self, name: str) -> None:
111
+ """Move beyond provided token name, if at current position."""
112
+ if self.check(name):
113
+ self.read()
114
+
115
+ def check(self, name: str, *, peek: bool = False) -> bool:
116
+ """Check whether the next token has the provided name.
117
+
118
+ By default, if the check succeeds, the token *must* be read before
119
+ another check. If `peek` is set to `True`, the token is not loaded and
120
+ would need to be checked again.
121
+ """
122
+ assert (
123
+ self.next_token is None
124
+ ), f"Cannot check for {name!r}, already have {self.next_token!r}"
125
+ assert name in self.rules, f"Unknown token name: {name!r}"
126
+
127
+ expression = self.rules[name]
128
+
129
+ match = expression.match(self.source, self.position)
130
+ if match is None:
131
+ return False
132
+ if not peek:
133
+ self.next_token = Token(name, match[0], self.position)
134
+ return True
135
+
136
+ def expect(self, name: str, *, expected: str) -> Token:
137
+ """Expect a certain token name next, failing with a syntax error otherwise.
138
+
139
+ The token is *not* read.
140
+ """
141
+ if not self.check(name):
142
+ raise self.raise_syntax_error(f"Expected {expected}")
143
+ return self.read()
144
+
145
+ def read(self) -> Token:
146
+ """Consume the next token and return it."""
147
+ token = self.next_token
148
+ assert token is not None
149
+
150
+ self.position += len(token.text)
151
+ self.next_token = None
152
+
153
+ return token
154
+
155
+ def raise_syntax_error(
156
+ self,
157
+ message: str,
158
+ *,
159
+ span_start: int | None = None,
160
+ span_end: int | None = None,
161
+ ) -> NoReturn:
162
+ """Raise ParserSyntaxError at the given position."""
163
+ span = (
164
+ self.position if span_start is None else span_start,
165
+ self.position if span_end is None else span_end,
166
+ )
167
+ raise ParserSyntaxError(
168
+ message,
169
+ source=self.source,
170
+ span=span,
171
+ )
172
+
173
+ @contextlib.contextmanager
174
+ def enclosing_tokens(
175
+ self, open_token: str, close_token: str, *, around: str
176
+ ) -> Iterator[None]:
177
+ if self.check(open_token):
178
+ open_position = self.position
179
+ self.read()
180
+ else:
181
+ open_position = None
182
+
183
+ yield
184
+
185
+ if open_position is None:
186
+ return
187
+
188
+ if not self.check(close_token):
189
+ self.raise_syntax_error(
190
+ f"Expected matching {close_token} for {open_token}, after {around}",
191
+ span_start=open_position,
192
+ )
193
+
194
+ self.read()
tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/licenses/__init__.py ADDED
@@ -0,0 +1,145 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #######################################################################################
2
+ #
3
+ # Adapted from:
4
+ # https://github.com/pypa/hatch/blob/5352e44/backend/src/hatchling/licenses/parse.py
5
+ #
6
+ # MIT License
7
+ #
8
+ # Copyright (c) 2017-present Ofek Lev <oss@ofek.dev>
9
+ #
10
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of this
11
+ # software and associated documentation files (the "Software"), to deal in the Software
12
+ # without restriction, including without limitation the rights to use, copy, modify,
13
+ # merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
14
+ # permit persons to whom the Software is furnished to do so, subject to the following
15
+ # conditions:
16
+ #
17
+ # The above copyright notice and this permission notice shall be included in all copies
18
+ # or substantial portions of the Software.
19
+ #
20
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
21
+ # INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
22
+ # PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23
+ # HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
24
+ # CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
25
+ # OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26
+ #
27
+ #
28
+ # With additional allowance of arbitrary `LicenseRef-` identifiers, not just
29
+ # `LicenseRef-Public-Domain` and `LicenseRef-Proprietary`.
30
+ #
31
+ #######################################################################################
32
+ from __future__ import annotations
33
+
34
+ import re
35
+ from typing import NewType, cast
36
+
37
+ from packaging.licenses._spdx import EXCEPTIONS, LICENSES
38
+
39
+ __all__ = [
40
+ "NormalizedLicenseExpression",
41
+ "InvalidLicenseExpression",
42
+ "canonicalize_license_expression",
43
+ ]
44
+
45
+ license_ref_allowed = re.compile("^[A-Za-z0-9.-]*$")
46
+
47
+ NormalizedLicenseExpression = NewType("NormalizedLicenseExpression", str)
48
+
49
+
50
+ class InvalidLicenseExpression(ValueError):
51
+ """Raised when a license-expression string is invalid
52
+
53
+ >>> canonicalize_license_expression("invalid")
54
+ Traceback (most recent call last):
55
+ ...
56
+ packaging.licenses.InvalidLicenseExpression: Invalid license expression: 'invalid'
57
+ """
58
+
59
+
60
+ def canonicalize_license_expression(
61
+ raw_license_expression: str,
62
+ ) -> NormalizedLicenseExpression:
63
+ if not raw_license_expression:
64
+ message = f"Invalid license expression: {raw_license_expression!r}"
65
+ raise InvalidLicenseExpression(message)
66
+
67
+ # Pad any parentheses so tokenization can be achieved by merely splitting on
68
+ # whitespace.
69
+ license_expression = raw_license_expression.replace("(", " ( ").replace(")", " ) ")
70
+ licenseref_prefix = "LicenseRef-"
71
+ license_refs = {
72
+ ref.lower(): "LicenseRef-" + ref[len(licenseref_prefix) :]
73
+ for ref in license_expression.split()
74
+ if ref.lower().startswith(licenseref_prefix.lower())
75
+ }
76
+
77
+ # Normalize to lower case so we can look up licenses/exceptions
78
+ # and so boolean operators are Python-compatible.
79
+ license_expression = license_expression.lower()
80
+
81
+ tokens = license_expression.split()
82
+
83
+ # Rather than implementing boolean logic, we create an expression that Python can
84
+ # parse. Everything that is not involved with the grammar itself is treated as
85
+ # `False` and the expression should evaluate as such.
86
+ python_tokens = []
87
+ for token in tokens:
88
+ if token not in {"or", "and", "with", "(", ")"}:
89
+ python_tokens.append("False")
90
+ elif token == "with":
91
+ python_tokens.append("or")
92
+ elif token == "(" and python_tokens and python_tokens[-1] not in {"or", "and"}:
93
+ message = f"Invalid license expression: {raw_license_expression!r}"
94
+ raise InvalidLicenseExpression(message)
95
+ else:
96
+ python_tokens.append(token)
97
+
98
+ python_expression = " ".join(python_tokens)
99
+ try:
100
+ invalid = eval(python_expression, globals(), locals())
101
+ except Exception:
102
+ invalid = True
103
+
104
+ if invalid is not False:
105
+ message = f"Invalid license expression: {raw_license_expression!r}"
106
+ raise InvalidLicenseExpression(message) from None
107
+
108
+ # Take a final pass to check for unknown licenses/exceptions.
109
+ normalized_tokens = []
110
+ for token in tokens:
111
+ if token in {"or", "and", "with", "(", ")"}:
112
+ normalized_tokens.append(token.upper())
113
+ continue
114
+
115
+ if normalized_tokens and normalized_tokens[-1] == "WITH":
116
+ if token not in EXCEPTIONS:
117
+ message = f"Unknown license exception: {token!r}"
118
+ raise InvalidLicenseExpression(message)
119
+
120
+ normalized_tokens.append(EXCEPTIONS[token]["id"])
121
+ else:
122
+ if token.endswith("+"):
123
+ final_token = token[:-1]
124
+ suffix = "+"
125
+ else:
126
+ final_token = token
127
+ suffix = ""
128
+
129
+ if final_token.startswith("licenseref-"):
130
+ if not license_ref_allowed.match(final_token):
131
+ message = f"Invalid licenseref: {final_token!r}"
132
+ raise InvalidLicenseExpression(message)
133
+ normalized_tokens.append(license_refs[final_token] + suffix)
134
+ else:
135
+ if final_token not in LICENSES:
136
+ message = f"Unknown license: {final_token!r}"
137
+ raise InvalidLicenseExpression(message)
138
+ normalized_tokens.append(LICENSES[final_token]["id"] + suffix)
139
+
140
+ normalized_expression = " ".join(normalized_tokens)
141
+
142
+ return cast(
143
+ NormalizedLicenseExpression,
144
+ normalized_expression.replace("( ", "(").replace(" )", ")"),
145
+ )
tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/licenses/__pycache__/__init__.cpython-311.pyc ADDED
Binary file (5.05 kB). View file
 
tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/licenses/__pycache__/_spdx.cpython-311.pyc ADDED
Binary file (50.3 kB). View file
 
tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/licenses/_spdx.py ADDED
@@ -0,0 +1,759 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ from __future__ import annotations
3
+
4
+ from typing import TypedDict
5
+
6
+ class SPDXLicense(TypedDict):
7
+ id: str
8
+ deprecated: bool
9
+
10
+ class SPDXException(TypedDict):
11
+ id: str
12
+ deprecated: bool
13
+
14
+
15
+ VERSION = '3.25.0'
16
+
17
+ LICENSES: dict[str, SPDXLicense] = {
18
+ '0bsd': {'id': '0BSD', 'deprecated': False},
19
+ '3d-slicer-1.0': {'id': '3D-Slicer-1.0', 'deprecated': False},
20
+ 'aal': {'id': 'AAL', 'deprecated': False},
21
+ 'abstyles': {'id': 'Abstyles', 'deprecated': False},
22
+ 'adacore-doc': {'id': 'AdaCore-doc', 'deprecated': False},
23
+ 'adobe-2006': {'id': 'Adobe-2006', 'deprecated': False},
24
+ 'adobe-display-postscript': {'id': 'Adobe-Display-PostScript', 'deprecated': False},
25
+ 'adobe-glyph': {'id': 'Adobe-Glyph', 'deprecated': False},
26
+ 'adobe-utopia': {'id': 'Adobe-Utopia', 'deprecated': False},
27
+ 'adsl': {'id': 'ADSL', 'deprecated': False},
28
+ 'afl-1.1': {'id': 'AFL-1.1', 'deprecated': False},
29
+ 'afl-1.2': {'id': 'AFL-1.2', 'deprecated': False},
30
+ 'afl-2.0': {'id': 'AFL-2.0', 'deprecated': False},
31
+ 'afl-2.1': {'id': 'AFL-2.1', 'deprecated': False},
32
+ 'afl-3.0': {'id': 'AFL-3.0', 'deprecated': False},
33
+ 'afmparse': {'id': 'Afmparse', 'deprecated': False},
34
+ 'agpl-1.0': {'id': 'AGPL-1.0', 'deprecated': True},
35
+ 'agpl-1.0-only': {'id': 'AGPL-1.0-only', 'deprecated': False},
36
+ 'agpl-1.0-or-later': {'id': 'AGPL-1.0-or-later', 'deprecated': False},
37
+ 'agpl-3.0': {'id': 'AGPL-3.0', 'deprecated': True},
38
+ 'agpl-3.0-only': {'id': 'AGPL-3.0-only', 'deprecated': False},
39
+ 'agpl-3.0-or-later': {'id': 'AGPL-3.0-or-later', 'deprecated': False},
40
+ 'aladdin': {'id': 'Aladdin', 'deprecated': False},
41
+ 'amd-newlib': {'id': 'AMD-newlib', 'deprecated': False},
42
+ 'amdplpa': {'id': 'AMDPLPA', 'deprecated': False},
43
+ 'aml': {'id': 'AML', 'deprecated': False},
44
+ 'aml-glslang': {'id': 'AML-glslang', 'deprecated': False},
45
+ 'ampas': {'id': 'AMPAS', 'deprecated': False},
46
+ 'antlr-pd': {'id': 'ANTLR-PD', 'deprecated': False},
47
+ 'antlr-pd-fallback': {'id': 'ANTLR-PD-fallback', 'deprecated': False},
48
+ 'any-osi': {'id': 'any-OSI', 'deprecated': False},
49
+ 'apache-1.0': {'id': 'Apache-1.0', 'deprecated': False},
50
+ 'apache-1.1': {'id': 'Apache-1.1', 'deprecated': False},
51
+ 'apache-2.0': {'id': 'Apache-2.0', 'deprecated': False},
52
+ 'apafml': {'id': 'APAFML', 'deprecated': False},
53
+ 'apl-1.0': {'id': 'APL-1.0', 'deprecated': False},
54
+ 'app-s2p': {'id': 'App-s2p', 'deprecated': False},
55
+ 'apsl-1.0': {'id': 'APSL-1.0', 'deprecated': False},
56
+ 'apsl-1.1': {'id': 'APSL-1.1', 'deprecated': False},
57
+ 'apsl-1.2': {'id': 'APSL-1.2', 'deprecated': False},
58
+ 'apsl-2.0': {'id': 'APSL-2.0', 'deprecated': False},
59
+ 'arphic-1999': {'id': 'Arphic-1999', 'deprecated': False},
60
+ 'artistic-1.0': {'id': 'Artistic-1.0', 'deprecated': False},
61
+ 'artistic-1.0-cl8': {'id': 'Artistic-1.0-cl8', 'deprecated': False},
62
+ 'artistic-1.0-perl': {'id': 'Artistic-1.0-Perl', 'deprecated': False},
63
+ 'artistic-2.0': {'id': 'Artistic-2.0', 'deprecated': False},
64
+ 'aswf-digital-assets-1.0': {'id': 'ASWF-Digital-Assets-1.0', 'deprecated': False},
65
+ 'aswf-digital-assets-1.1': {'id': 'ASWF-Digital-Assets-1.1', 'deprecated': False},
66
+ 'baekmuk': {'id': 'Baekmuk', 'deprecated': False},
67
+ 'bahyph': {'id': 'Bahyph', 'deprecated': False},
68
+ 'barr': {'id': 'Barr', 'deprecated': False},
69
+ 'bcrypt-solar-designer': {'id': 'bcrypt-Solar-Designer', 'deprecated': False},
70
+ 'beerware': {'id': 'Beerware', 'deprecated': False},
71
+ 'bitstream-charter': {'id': 'Bitstream-Charter', 'deprecated': False},
72
+ 'bitstream-vera': {'id': 'Bitstream-Vera', 'deprecated': False},
73
+ 'bittorrent-1.0': {'id': 'BitTorrent-1.0', 'deprecated': False},
74
+ 'bittorrent-1.1': {'id': 'BitTorrent-1.1', 'deprecated': False},
75
+ 'blessing': {'id': 'blessing', 'deprecated': False},
76
+ 'blueoak-1.0.0': {'id': 'BlueOak-1.0.0', 'deprecated': False},
77
+ 'boehm-gc': {'id': 'Boehm-GC', 'deprecated': False},
78
+ 'borceux': {'id': 'Borceux', 'deprecated': False},
79
+ 'brian-gladman-2-clause': {'id': 'Brian-Gladman-2-Clause', 'deprecated': False},
80
+ 'brian-gladman-3-clause': {'id': 'Brian-Gladman-3-Clause', 'deprecated': False},
81
+ 'bsd-1-clause': {'id': 'BSD-1-Clause', 'deprecated': False},
82
+ 'bsd-2-clause': {'id': 'BSD-2-Clause', 'deprecated': False},
83
+ 'bsd-2-clause-darwin': {'id': 'BSD-2-Clause-Darwin', 'deprecated': False},
84
+ 'bsd-2-clause-first-lines': {'id': 'BSD-2-Clause-first-lines', 'deprecated': False},
85
+ 'bsd-2-clause-freebsd': {'id': 'BSD-2-Clause-FreeBSD', 'deprecated': True},
86
+ 'bsd-2-clause-netbsd': {'id': 'BSD-2-Clause-NetBSD', 'deprecated': True},
87
+ 'bsd-2-clause-patent': {'id': 'BSD-2-Clause-Patent', 'deprecated': False},
88
+ 'bsd-2-clause-views': {'id': 'BSD-2-Clause-Views', 'deprecated': False},
89
+ 'bsd-3-clause': {'id': 'BSD-3-Clause', 'deprecated': False},
90
+ 'bsd-3-clause-acpica': {'id': 'BSD-3-Clause-acpica', 'deprecated': False},
91
+ 'bsd-3-clause-attribution': {'id': 'BSD-3-Clause-Attribution', 'deprecated': False},
92
+ 'bsd-3-clause-clear': {'id': 'BSD-3-Clause-Clear', 'deprecated': False},
93
+ 'bsd-3-clause-flex': {'id': 'BSD-3-Clause-flex', 'deprecated': False},
94
+ 'bsd-3-clause-hp': {'id': 'BSD-3-Clause-HP', 'deprecated': False},
95
+ 'bsd-3-clause-lbnl': {'id': 'BSD-3-Clause-LBNL', 'deprecated': False},
96
+ 'bsd-3-clause-modification': {'id': 'BSD-3-Clause-Modification', 'deprecated': False},
97
+ 'bsd-3-clause-no-military-license': {'id': 'BSD-3-Clause-No-Military-License', 'deprecated': False},
98
+ 'bsd-3-clause-no-nuclear-license': {'id': 'BSD-3-Clause-No-Nuclear-License', 'deprecated': False},
99
+ 'bsd-3-clause-no-nuclear-license-2014': {'id': 'BSD-3-Clause-No-Nuclear-License-2014', 'deprecated': False},
100
+ 'bsd-3-clause-no-nuclear-warranty': {'id': 'BSD-3-Clause-No-Nuclear-Warranty', 'deprecated': False},
101
+ 'bsd-3-clause-open-mpi': {'id': 'BSD-3-Clause-Open-MPI', 'deprecated': False},
102
+ 'bsd-3-clause-sun': {'id': 'BSD-3-Clause-Sun', 'deprecated': False},
103
+ 'bsd-4-clause': {'id': 'BSD-4-Clause', 'deprecated': False},
104
+ 'bsd-4-clause-shortened': {'id': 'BSD-4-Clause-Shortened', 'deprecated': False},
105
+ 'bsd-4-clause-uc': {'id': 'BSD-4-Clause-UC', 'deprecated': False},
106
+ 'bsd-4.3reno': {'id': 'BSD-4.3RENO', 'deprecated': False},
107
+ 'bsd-4.3tahoe': {'id': 'BSD-4.3TAHOE', 'deprecated': False},
108
+ 'bsd-advertising-acknowledgement': {'id': 'BSD-Advertising-Acknowledgement', 'deprecated': False},
109
+ 'bsd-attribution-hpnd-disclaimer': {'id': 'BSD-Attribution-HPND-disclaimer', 'deprecated': False},
110
+ 'bsd-inferno-nettverk': {'id': 'BSD-Inferno-Nettverk', 'deprecated': False},
111
+ 'bsd-protection': {'id': 'BSD-Protection', 'deprecated': False},
112
+ 'bsd-source-beginning-file': {'id': 'BSD-Source-beginning-file', 'deprecated': False},
113
+ 'bsd-source-code': {'id': 'BSD-Source-Code', 'deprecated': False},
114
+ 'bsd-systemics': {'id': 'BSD-Systemics', 'deprecated': False},
115
+ 'bsd-systemics-w3works': {'id': 'BSD-Systemics-W3Works', 'deprecated': False},
116
+ 'bsl-1.0': {'id': 'BSL-1.0', 'deprecated': False},
117
+ 'busl-1.1': {'id': 'BUSL-1.1', 'deprecated': False},
118
+ 'bzip2-1.0.5': {'id': 'bzip2-1.0.5', 'deprecated': True},
119
+ 'bzip2-1.0.6': {'id': 'bzip2-1.0.6', 'deprecated': False},
120
+ 'c-uda-1.0': {'id': 'C-UDA-1.0', 'deprecated': False},
121
+ 'cal-1.0': {'id': 'CAL-1.0', 'deprecated': False},
122
+ 'cal-1.0-combined-work-exception': {'id': 'CAL-1.0-Combined-Work-Exception', 'deprecated': False},
123
+ 'caldera': {'id': 'Caldera', 'deprecated': False},
124
+ 'caldera-no-preamble': {'id': 'Caldera-no-preamble', 'deprecated': False},
125
+ 'catharon': {'id': 'Catharon', 'deprecated': False},
126
+ 'catosl-1.1': {'id': 'CATOSL-1.1', 'deprecated': False},
127
+ 'cc-by-1.0': {'id': 'CC-BY-1.0', 'deprecated': False},
128
+ 'cc-by-2.0': {'id': 'CC-BY-2.0', 'deprecated': False},
129
+ 'cc-by-2.5': {'id': 'CC-BY-2.5', 'deprecated': False},
130
+ 'cc-by-2.5-au': {'id': 'CC-BY-2.5-AU', 'deprecated': False},
131
+ 'cc-by-3.0': {'id': 'CC-BY-3.0', 'deprecated': False},
132
+ 'cc-by-3.0-at': {'id': 'CC-BY-3.0-AT', 'deprecated': False},
133
+ 'cc-by-3.0-au': {'id': 'CC-BY-3.0-AU', 'deprecated': False},
134
+ 'cc-by-3.0-de': {'id': 'CC-BY-3.0-DE', 'deprecated': False},
135
+ 'cc-by-3.0-igo': {'id': 'CC-BY-3.0-IGO', 'deprecated': False},
136
+ 'cc-by-3.0-nl': {'id': 'CC-BY-3.0-NL', 'deprecated': False},
137
+ 'cc-by-3.0-us': {'id': 'CC-BY-3.0-US', 'deprecated': False},
138
+ 'cc-by-4.0': {'id': 'CC-BY-4.0', 'deprecated': False},
139
+ 'cc-by-nc-1.0': {'id': 'CC-BY-NC-1.0', 'deprecated': False},
140
+ 'cc-by-nc-2.0': {'id': 'CC-BY-NC-2.0', 'deprecated': False},
141
+ 'cc-by-nc-2.5': {'id': 'CC-BY-NC-2.5', 'deprecated': False},
142
+ 'cc-by-nc-3.0': {'id': 'CC-BY-NC-3.0', 'deprecated': False},
143
+ 'cc-by-nc-3.0-de': {'id': 'CC-BY-NC-3.0-DE', 'deprecated': False},
144
+ 'cc-by-nc-4.0': {'id': 'CC-BY-NC-4.0', 'deprecated': False},
145
+ 'cc-by-nc-nd-1.0': {'id': 'CC-BY-NC-ND-1.0', 'deprecated': False},
146
+ 'cc-by-nc-nd-2.0': {'id': 'CC-BY-NC-ND-2.0', 'deprecated': False},
147
+ 'cc-by-nc-nd-2.5': {'id': 'CC-BY-NC-ND-2.5', 'deprecated': False},
148
+ 'cc-by-nc-nd-3.0': {'id': 'CC-BY-NC-ND-3.0', 'deprecated': False},
149
+ 'cc-by-nc-nd-3.0-de': {'id': 'CC-BY-NC-ND-3.0-DE', 'deprecated': False},
150
+ 'cc-by-nc-nd-3.0-igo': {'id': 'CC-BY-NC-ND-3.0-IGO', 'deprecated': False},
151
+ 'cc-by-nc-nd-4.0': {'id': 'CC-BY-NC-ND-4.0', 'deprecated': False},
152
+ 'cc-by-nc-sa-1.0': {'id': 'CC-BY-NC-SA-1.0', 'deprecated': False},
153
+ 'cc-by-nc-sa-2.0': {'id': 'CC-BY-NC-SA-2.0', 'deprecated': False},
154
+ 'cc-by-nc-sa-2.0-de': {'id': 'CC-BY-NC-SA-2.0-DE', 'deprecated': False},
155
+ 'cc-by-nc-sa-2.0-fr': {'id': 'CC-BY-NC-SA-2.0-FR', 'deprecated': False},
156
+ 'cc-by-nc-sa-2.0-uk': {'id': 'CC-BY-NC-SA-2.0-UK', 'deprecated': False},
157
+ 'cc-by-nc-sa-2.5': {'id': 'CC-BY-NC-SA-2.5', 'deprecated': False},
158
+ 'cc-by-nc-sa-3.0': {'id': 'CC-BY-NC-SA-3.0', 'deprecated': False},
159
+ 'cc-by-nc-sa-3.0-de': {'id': 'CC-BY-NC-SA-3.0-DE', 'deprecated': False},
160
+ 'cc-by-nc-sa-3.0-igo': {'id': 'CC-BY-NC-SA-3.0-IGO', 'deprecated': False},
161
+ 'cc-by-nc-sa-4.0': {'id': 'CC-BY-NC-SA-4.0', 'deprecated': False},
162
+ 'cc-by-nd-1.0': {'id': 'CC-BY-ND-1.0', 'deprecated': False},
163
+ 'cc-by-nd-2.0': {'id': 'CC-BY-ND-2.0', 'deprecated': False},
164
+ 'cc-by-nd-2.5': {'id': 'CC-BY-ND-2.5', 'deprecated': False},
165
+ 'cc-by-nd-3.0': {'id': 'CC-BY-ND-3.0', 'deprecated': False},
166
+ 'cc-by-nd-3.0-de': {'id': 'CC-BY-ND-3.0-DE', 'deprecated': False},
167
+ 'cc-by-nd-4.0': {'id': 'CC-BY-ND-4.0', 'deprecated': False},
168
+ 'cc-by-sa-1.0': {'id': 'CC-BY-SA-1.0', 'deprecated': False},
169
+ 'cc-by-sa-2.0': {'id': 'CC-BY-SA-2.0', 'deprecated': False},
170
+ 'cc-by-sa-2.0-uk': {'id': 'CC-BY-SA-2.0-UK', 'deprecated': False},
171
+ 'cc-by-sa-2.1-jp': {'id': 'CC-BY-SA-2.1-JP', 'deprecated': False},
172
+ 'cc-by-sa-2.5': {'id': 'CC-BY-SA-2.5', 'deprecated': False},
173
+ 'cc-by-sa-3.0': {'id': 'CC-BY-SA-3.0', 'deprecated': False},
174
+ 'cc-by-sa-3.0-at': {'id': 'CC-BY-SA-3.0-AT', 'deprecated': False},
175
+ 'cc-by-sa-3.0-de': {'id': 'CC-BY-SA-3.0-DE', 'deprecated': False},
176
+ 'cc-by-sa-3.0-igo': {'id': 'CC-BY-SA-3.0-IGO', 'deprecated': False},
177
+ 'cc-by-sa-4.0': {'id': 'CC-BY-SA-4.0', 'deprecated': False},
178
+ 'cc-pddc': {'id': 'CC-PDDC', 'deprecated': False},
179
+ 'cc0-1.0': {'id': 'CC0-1.0', 'deprecated': False},
180
+ 'cddl-1.0': {'id': 'CDDL-1.0', 'deprecated': False},
181
+ 'cddl-1.1': {'id': 'CDDL-1.1', 'deprecated': False},
182
+ 'cdl-1.0': {'id': 'CDL-1.0', 'deprecated': False},
183
+ 'cdla-permissive-1.0': {'id': 'CDLA-Permissive-1.0', 'deprecated': False},
184
+ 'cdla-permissive-2.0': {'id': 'CDLA-Permissive-2.0', 'deprecated': False},
185
+ 'cdla-sharing-1.0': {'id': 'CDLA-Sharing-1.0', 'deprecated': False},
186
+ 'cecill-1.0': {'id': 'CECILL-1.0', 'deprecated': False},
187
+ 'cecill-1.1': {'id': 'CECILL-1.1', 'deprecated': False},
188
+ 'cecill-2.0': {'id': 'CECILL-2.0', 'deprecated': False},
189
+ 'cecill-2.1': {'id': 'CECILL-2.1', 'deprecated': False},
190
+ 'cecill-b': {'id': 'CECILL-B', 'deprecated': False},
191
+ 'cecill-c': {'id': 'CECILL-C', 'deprecated': False},
192
+ 'cern-ohl-1.1': {'id': 'CERN-OHL-1.1', 'deprecated': False},
193
+ 'cern-ohl-1.2': {'id': 'CERN-OHL-1.2', 'deprecated': False},
194
+ 'cern-ohl-p-2.0': {'id': 'CERN-OHL-P-2.0', 'deprecated': False},
195
+ 'cern-ohl-s-2.0': {'id': 'CERN-OHL-S-2.0', 'deprecated': False},
196
+ 'cern-ohl-w-2.0': {'id': 'CERN-OHL-W-2.0', 'deprecated': False},
197
+ 'cfitsio': {'id': 'CFITSIO', 'deprecated': False},
198
+ 'check-cvs': {'id': 'check-cvs', 'deprecated': False},
199
+ 'checkmk': {'id': 'checkmk', 'deprecated': False},
200
+ 'clartistic': {'id': 'ClArtistic', 'deprecated': False},
201
+ 'clips': {'id': 'Clips', 'deprecated': False},
202
+ 'cmu-mach': {'id': 'CMU-Mach', 'deprecated': False},
203
+ 'cmu-mach-nodoc': {'id': 'CMU-Mach-nodoc', 'deprecated': False},
204
+ 'cnri-jython': {'id': 'CNRI-Jython', 'deprecated': False},
205
+ 'cnri-python': {'id': 'CNRI-Python', 'deprecated': False},
206
+ 'cnri-python-gpl-compatible': {'id': 'CNRI-Python-GPL-Compatible', 'deprecated': False},
207
+ 'coil-1.0': {'id': 'COIL-1.0', 'deprecated': False},
208
+ 'community-spec-1.0': {'id': 'Community-Spec-1.0', 'deprecated': False},
209
+ 'condor-1.1': {'id': 'Condor-1.1', 'deprecated': False},
210
+ 'copyleft-next-0.3.0': {'id': 'copyleft-next-0.3.0', 'deprecated': False},
211
+ 'copyleft-next-0.3.1': {'id': 'copyleft-next-0.3.1', 'deprecated': False},
212
+ 'cornell-lossless-jpeg': {'id': 'Cornell-Lossless-JPEG', 'deprecated': False},
213
+ 'cpal-1.0': {'id': 'CPAL-1.0', 'deprecated': False},
214
+ 'cpl-1.0': {'id': 'CPL-1.0', 'deprecated': False},
215
+ 'cpol-1.02': {'id': 'CPOL-1.02', 'deprecated': False},
216
+ 'cronyx': {'id': 'Cronyx', 'deprecated': False},
217
+ 'crossword': {'id': 'Crossword', 'deprecated': False},
218
+ 'crystalstacker': {'id': 'CrystalStacker', 'deprecated': False},
219
+ 'cua-opl-1.0': {'id': 'CUA-OPL-1.0', 'deprecated': False},
220
+ 'cube': {'id': 'Cube', 'deprecated': False},
221
+ 'curl': {'id': 'curl', 'deprecated': False},
222
+ 'cve-tou': {'id': 'cve-tou', 'deprecated': False},
223
+ 'd-fsl-1.0': {'id': 'D-FSL-1.0', 'deprecated': False},
224
+ 'dec-3-clause': {'id': 'DEC-3-Clause', 'deprecated': False},
225
+ 'diffmark': {'id': 'diffmark', 'deprecated': False},
226
+ 'dl-de-by-2.0': {'id': 'DL-DE-BY-2.0', 'deprecated': False},
227
+ 'dl-de-zero-2.0': {'id': 'DL-DE-ZERO-2.0', 'deprecated': False},
228
+ 'doc': {'id': 'DOC', 'deprecated': False},
229
+ 'docbook-schema': {'id': 'DocBook-Schema', 'deprecated': False},
230
+ 'docbook-xml': {'id': 'DocBook-XML', 'deprecated': False},
231
+ 'dotseqn': {'id': 'Dotseqn', 'deprecated': False},
232
+ 'drl-1.0': {'id': 'DRL-1.0', 'deprecated': False},
233
+ 'drl-1.1': {'id': 'DRL-1.1', 'deprecated': False},
234
+ 'dsdp': {'id': 'DSDP', 'deprecated': False},
235
+ 'dtoa': {'id': 'dtoa', 'deprecated': False},
236
+ 'dvipdfm': {'id': 'dvipdfm', 'deprecated': False},
237
+ 'ecl-1.0': {'id': 'ECL-1.0', 'deprecated': False},
238
+ 'ecl-2.0': {'id': 'ECL-2.0', 'deprecated': False},
239
+ 'ecos-2.0': {'id': 'eCos-2.0', 'deprecated': True},
240
+ 'efl-1.0': {'id': 'EFL-1.0', 'deprecated': False},
241
+ 'efl-2.0': {'id': 'EFL-2.0', 'deprecated': False},
242
+ 'egenix': {'id': 'eGenix', 'deprecated': False},
243
+ 'elastic-2.0': {'id': 'Elastic-2.0', 'deprecated': False},
244
+ 'entessa': {'id': 'Entessa', 'deprecated': False},
245
+ 'epics': {'id': 'EPICS', 'deprecated': False},
246
+ 'epl-1.0': {'id': 'EPL-1.0', 'deprecated': False},
247
+ 'epl-2.0': {'id': 'EPL-2.0', 'deprecated': False},
248
+ 'erlpl-1.1': {'id': 'ErlPL-1.1', 'deprecated': False},
249
+ 'etalab-2.0': {'id': 'etalab-2.0', 'deprecated': False},
250
+ 'eudatagrid': {'id': 'EUDatagrid', 'deprecated': False},
251
+ 'eupl-1.0': {'id': 'EUPL-1.0', 'deprecated': False},
252
+ 'eupl-1.1': {'id': 'EUPL-1.1', 'deprecated': False},
253
+ 'eupl-1.2': {'id': 'EUPL-1.2', 'deprecated': False},
254
+ 'eurosym': {'id': 'Eurosym', 'deprecated': False},
255
+ 'fair': {'id': 'Fair', 'deprecated': False},
256
+ 'fbm': {'id': 'FBM', 'deprecated': False},
257
+ 'fdk-aac': {'id': 'FDK-AAC', 'deprecated': False},
258
+ 'ferguson-twofish': {'id': 'Ferguson-Twofish', 'deprecated': False},
259
+ 'frameworx-1.0': {'id': 'Frameworx-1.0', 'deprecated': False},
260
+ 'freebsd-doc': {'id': 'FreeBSD-DOC', 'deprecated': False},
261
+ 'freeimage': {'id': 'FreeImage', 'deprecated': False},
262
+ 'fsfap': {'id': 'FSFAP', 'deprecated': False},
263
+ 'fsfap-no-warranty-disclaimer': {'id': 'FSFAP-no-warranty-disclaimer', 'deprecated': False},
264
+ 'fsful': {'id': 'FSFUL', 'deprecated': False},
265
+ 'fsfullr': {'id': 'FSFULLR', 'deprecated': False},
266
+ 'fsfullrwd': {'id': 'FSFULLRWD', 'deprecated': False},
267
+ 'ftl': {'id': 'FTL', 'deprecated': False},
268
+ 'furuseth': {'id': 'Furuseth', 'deprecated': False},
269
+ 'fwlw': {'id': 'fwlw', 'deprecated': False},
270
+ 'gcr-docs': {'id': 'GCR-docs', 'deprecated': False},
271
+ 'gd': {'id': 'GD', 'deprecated': False},
272
+ 'gfdl-1.1': {'id': 'GFDL-1.1', 'deprecated': True},
273
+ 'gfdl-1.1-invariants-only': {'id': 'GFDL-1.1-invariants-only', 'deprecated': False},
274
+ 'gfdl-1.1-invariants-or-later': {'id': 'GFDL-1.1-invariants-or-later', 'deprecated': False},
275
+ 'gfdl-1.1-no-invariants-only': {'id': 'GFDL-1.1-no-invariants-only', 'deprecated': False},
276
+ 'gfdl-1.1-no-invariants-or-later': {'id': 'GFDL-1.1-no-invariants-or-later', 'deprecated': False},
277
+ 'gfdl-1.1-only': {'id': 'GFDL-1.1-only', 'deprecated': False},
278
+ 'gfdl-1.1-or-later': {'id': 'GFDL-1.1-or-later', 'deprecated': False},
279
+ 'gfdl-1.2': {'id': 'GFDL-1.2', 'deprecated': True},
280
+ 'gfdl-1.2-invariants-only': {'id': 'GFDL-1.2-invariants-only', 'deprecated': False},
281
+ 'gfdl-1.2-invariants-or-later': {'id': 'GFDL-1.2-invariants-or-later', 'deprecated': False},
282
+ 'gfdl-1.2-no-invariants-only': {'id': 'GFDL-1.2-no-invariants-only', 'deprecated': False},
283
+ 'gfdl-1.2-no-invariants-or-later': {'id': 'GFDL-1.2-no-invariants-or-later', 'deprecated': False},
284
+ 'gfdl-1.2-only': {'id': 'GFDL-1.2-only', 'deprecated': False},
285
+ 'gfdl-1.2-or-later': {'id': 'GFDL-1.2-or-later', 'deprecated': False},
286
+ 'gfdl-1.3': {'id': 'GFDL-1.3', 'deprecated': True},
287
+ 'gfdl-1.3-invariants-only': {'id': 'GFDL-1.3-invariants-only', 'deprecated': False},
288
+ 'gfdl-1.3-invariants-or-later': {'id': 'GFDL-1.3-invariants-or-later', 'deprecated': False},
289
+ 'gfdl-1.3-no-invariants-only': {'id': 'GFDL-1.3-no-invariants-only', 'deprecated': False},
290
+ 'gfdl-1.3-no-invariants-or-later': {'id': 'GFDL-1.3-no-invariants-or-later', 'deprecated': False},
291
+ 'gfdl-1.3-only': {'id': 'GFDL-1.3-only', 'deprecated': False},
292
+ 'gfdl-1.3-or-later': {'id': 'GFDL-1.3-or-later', 'deprecated': False},
293
+ 'giftware': {'id': 'Giftware', 'deprecated': False},
294
+ 'gl2ps': {'id': 'GL2PS', 'deprecated': False},
295
+ 'glide': {'id': 'Glide', 'deprecated': False},
296
+ 'glulxe': {'id': 'Glulxe', 'deprecated': False},
297
+ 'glwtpl': {'id': 'GLWTPL', 'deprecated': False},
298
+ 'gnuplot': {'id': 'gnuplot', 'deprecated': False},
299
+ 'gpl-1.0': {'id': 'GPL-1.0', 'deprecated': True},
300
+ 'gpl-1.0+': {'id': 'GPL-1.0+', 'deprecated': True},
301
+ 'gpl-1.0-only': {'id': 'GPL-1.0-only', 'deprecated': False},
302
+ 'gpl-1.0-or-later': {'id': 'GPL-1.0-or-later', 'deprecated': False},
303
+ 'gpl-2.0': {'id': 'GPL-2.0', 'deprecated': True},
304
+ 'gpl-2.0+': {'id': 'GPL-2.0+', 'deprecated': True},
305
+ 'gpl-2.0-only': {'id': 'GPL-2.0-only', 'deprecated': False},
306
+ 'gpl-2.0-or-later': {'id': 'GPL-2.0-or-later', 'deprecated': False},
307
+ 'gpl-2.0-with-autoconf-exception': {'id': 'GPL-2.0-with-autoconf-exception', 'deprecated': True},
308
+ 'gpl-2.0-with-bison-exception': {'id': 'GPL-2.0-with-bison-exception', 'deprecated': True},
309
+ 'gpl-2.0-with-classpath-exception': {'id': 'GPL-2.0-with-classpath-exception', 'deprecated': True},
310
+ 'gpl-2.0-with-font-exception': {'id': 'GPL-2.0-with-font-exception', 'deprecated': True},
311
+ 'gpl-2.0-with-gcc-exception': {'id': 'GPL-2.0-with-GCC-exception', 'deprecated': True},
312
+ 'gpl-3.0': {'id': 'GPL-3.0', 'deprecated': True},
313
+ 'gpl-3.0+': {'id': 'GPL-3.0+', 'deprecated': True},
314
+ 'gpl-3.0-only': {'id': 'GPL-3.0-only', 'deprecated': False},
315
+ 'gpl-3.0-or-later': {'id': 'GPL-3.0-or-later', 'deprecated': False},
316
+ 'gpl-3.0-with-autoconf-exception': {'id': 'GPL-3.0-with-autoconf-exception', 'deprecated': True},
317
+ 'gpl-3.0-with-gcc-exception': {'id': 'GPL-3.0-with-GCC-exception', 'deprecated': True},
318
+ 'graphics-gems': {'id': 'Graphics-Gems', 'deprecated': False},
319
+ 'gsoap-1.3b': {'id': 'gSOAP-1.3b', 'deprecated': False},
320
+ 'gtkbook': {'id': 'gtkbook', 'deprecated': False},
321
+ 'gutmann': {'id': 'Gutmann', 'deprecated': False},
322
+ 'haskellreport': {'id': 'HaskellReport', 'deprecated': False},
323
+ 'hdparm': {'id': 'hdparm', 'deprecated': False},
324
+ 'hidapi': {'id': 'HIDAPI', 'deprecated': False},
325
+ 'hippocratic-2.1': {'id': 'Hippocratic-2.1', 'deprecated': False},
326
+ 'hp-1986': {'id': 'HP-1986', 'deprecated': False},
327
+ 'hp-1989': {'id': 'HP-1989', 'deprecated': False},
328
+ 'hpnd': {'id': 'HPND', 'deprecated': False},
329
+ 'hpnd-dec': {'id': 'HPND-DEC', 'deprecated': False},
330
+ 'hpnd-doc': {'id': 'HPND-doc', 'deprecated': False},
331
+ 'hpnd-doc-sell': {'id': 'HPND-doc-sell', 'deprecated': False},
332
+ 'hpnd-export-us': {'id': 'HPND-export-US', 'deprecated': False},
333
+ 'hpnd-export-us-acknowledgement': {'id': 'HPND-export-US-acknowledgement', 'deprecated': False},
334
+ 'hpnd-export-us-modify': {'id': 'HPND-export-US-modify', 'deprecated': False},
335
+ 'hpnd-export2-us': {'id': 'HPND-export2-US', 'deprecated': False},
336
+ 'hpnd-fenneberg-livingston': {'id': 'HPND-Fenneberg-Livingston', 'deprecated': False},
337
+ 'hpnd-inria-imag': {'id': 'HPND-INRIA-IMAG', 'deprecated': False},
338
+ 'hpnd-intel': {'id': 'HPND-Intel', 'deprecated': False},
339
+ 'hpnd-kevlin-henney': {'id': 'HPND-Kevlin-Henney', 'deprecated': False},
340
+ 'hpnd-markus-kuhn': {'id': 'HPND-Markus-Kuhn', 'deprecated': False},
341
+ 'hpnd-merchantability-variant': {'id': 'HPND-merchantability-variant', 'deprecated': False},
342
+ 'hpnd-mit-disclaimer': {'id': 'HPND-MIT-disclaimer', 'deprecated': False},
343
+ 'hpnd-netrek': {'id': 'HPND-Netrek', 'deprecated': False},
344
+ 'hpnd-pbmplus': {'id': 'HPND-Pbmplus', 'deprecated': False},
345
+ 'hpnd-sell-mit-disclaimer-xserver': {'id': 'HPND-sell-MIT-disclaimer-xserver', 'deprecated': False},
346
+ 'hpnd-sell-regexpr': {'id': 'HPND-sell-regexpr', 'deprecated': False},
347
+ 'hpnd-sell-variant': {'id': 'HPND-sell-variant', 'deprecated': False},
348
+ 'hpnd-sell-variant-mit-disclaimer': {'id': 'HPND-sell-variant-MIT-disclaimer', 'deprecated': False},
349
+ 'hpnd-sell-variant-mit-disclaimer-rev': {'id': 'HPND-sell-variant-MIT-disclaimer-rev', 'deprecated': False},
350
+ 'hpnd-uc': {'id': 'HPND-UC', 'deprecated': False},
351
+ 'hpnd-uc-export-us': {'id': 'HPND-UC-export-US', 'deprecated': False},
352
+ 'htmltidy': {'id': 'HTMLTIDY', 'deprecated': False},
353
+ 'ibm-pibs': {'id': 'IBM-pibs', 'deprecated': False},
354
+ 'icu': {'id': 'ICU', 'deprecated': False},
355
+ 'iec-code-components-eula': {'id': 'IEC-Code-Components-EULA', 'deprecated': False},
356
+ 'ijg': {'id': 'IJG', 'deprecated': False},
357
+ 'ijg-short': {'id': 'IJG-short', 'deprecated': False},
358
+ 'imagemagick': {'id': 'ImageMagick', 'deprecated': False},
359
+ 'imatix': {'id': 'iMatix', 'deprecated': False},
360
+ 'imlib2': {'id': 'Imlib2', 'deprecated': False},
361
+ 'info-zip': {'id': 'Info-ZIP', 'deprecated': False},
362
+ 'inner-net-2.0': {'id': 'Inner-Net-2.0', 'deprecated': False},
363
+ 'intel': {'id': 'Intel', 'deprecated': False},
364
+ 'intel-acpi': {'id': 'Intel-ACPI', 'deprecated': False},
365
+ 'interbase-1.0': {'id': 'Interbase-1.0', 'deprecated': False},
366
+ 'ipa': {'id': 'IPA', 'deprecated': False},
367
+ 'ipl-1.0': {'id': 'IPL-1.0', 'deprecated': False},
368
+ 'isc': {'id': 'ISC', 'deprecated': False},
369
+ 'isc-veillard': {'id': 'ISC-Veillard', 'deprecated': False},
370
+ 'jam': {'id': 'Jam', 'deprecated': False},
371
+ 'jasper-2.0': {'id': 'JasPer-2.0', 'deprecated': False},
372
+ 'jpl-image': {'id': 'JPL-image', 'deprecated': False},
373
+ 'jpnic': {'id': 'JPNIC', 'deprecated': False},
374
+ 'json': {'id': 'JSON', 'deprecated': False},
375
+ 'kastrup': {'id': 'Kastrup', 'deprecated': False},
376
+ 'kazlib': {'id': 'Kazlib', 'deprecated': False},
377
+ 'knuth-ctan': {'id': 'Knuth-CTAN', 'deprecated': False},
378
+ 'lal-1.2': {'id': 'LAL-1.2', 'deprecated': False},
379
+ 'lal-1.3': {'id': 'LAL-1.3', 'deprecated': False},
380
+ 'latex2e': {'id': 'Latex2e', 'deprecated': False},
381
+ 'latex2e-translated-notice': {'id': 'Latex2e-translated-notice', 'deprecated': False},
382
+ 'leptonica': {'id': 'Leptonica', 'deprecated': False},
383
+ 'lgpl-2.0': {'id': 'LGPL-2.0', 'deprecated': True},
384
+ 'lgpl-2.0+': {'id': 'LGPL-2.0+', 'deprecated': True},
385
+ 'lgpl-2.0-only': {'id': 'LGPL-2.0-only', 'deprecated': False},
386
+ 'lgpl-2.0-or-later': {'id': 'LGPL-2.0-or-later', 'deprecated': False},
387
+ 'lgpl-2.1': {'id': 'LGPL-2.1', 'deprecated': True},
388
+ 'lgpl-2.1+': {'id': 'LGPL-2.1+', 'deprecated': True},
389
+ 'lgpl-2.1-only': {'id': 'LGPL-2.1-only', 'deprecated': False},
390
+ 'lgpl-2.1-or-later': {'id': 'LGPL-2.1-or-later', 'deprecated': False},
391
+ 'lgpl-3.0': {'id': 'LGPL-3.0', 'deprecated': True},
392
+ 'lgpl-3.0+': {'id': 'LGPL-3.0+', 'deprecated': True},
393
+ 'lgpl-3.0-only': {'id': 'LGPL-3.0-only', 'deprecated': False},
394
+ 'lgpl-3.0-or-later': {'id': 'LGPL-3.0-or-later', 'deprecated': False},
395
+ 'lgpllr': {'id': 'LGPLLR', 'deprecated': False},
396
+ 'libpng': {'id': 'Libpng', 'deprecated': False},
397
+ 'libpng-2.0': {'id': 'libpng-2.0', 'deprecated': False},
398
+ 'libselinux-1.0': {'id': 'libselinux-1.0', 'deprecated': False},
399
+ 'libtiff': {'id': 'libtiff', 'deprecated': False},
400
+ 'libutil-david-nugent': {'id': 'libutil-David-Nugent', 'deprecated': False},
401
+ 'liliq-p-1.1': {'id': 'LiLiQ-P-1.1', 'deprecated': False},
402
+ 'liliq-r-1.1': {'id': 'LiLiQ-R-1.1', 'deprecated': False},
403
+ 'liliq-rplus-1.1': {'id': 'LiLiQ-Rplus-1.1', 'deprecated': False},
404
+ 'linux-man-pages-1-para': {'id': 'Linux-man-pages-1-para', 'deprecated': False},
405
+ 'linux-man-pages-copyleft': {'id': 'Linux-man-pages-copyleft', 'deprecated': False},
406
+ 'linux-man-pages-copyleft-2-para': {'id': 'Linux-man-pages-copyleft-2-para', 'deprecated': False},
407
+ 'linux-man-pages-copyleft-var': {'id': 'Linux-man-pages-copyleft-var', 'deprecated': False},
408
+ 'linux-openib': {'id': 'Linux-OpenIB', 'deprecated': False},
409
+ 'loop': {'id': 'LOOP', 'deprecated': False},
410
+ 'lpd-document': {'id': 'LPD-document', 'deprecated': False},
411
+ 'lpl-1.0': {'id': 'LPL-1.0', 'deprecated': False},
412
+ 'lpl-1.02': {'id': 'LPL-1.02', 'deprecated': False},
413
+ 'lppl-1.0': {'id': 'LPPL-1.0', 'deprecated': False},
414
+ 'lppl-1.1': {'id': 'LPPL-1.1', 'deprecated': False},
415
+ 'lppl-1.2': {'id': 'LPPL-1.2', 'deprecated': False},
416
+ 'lppl-1.3a': {'id': 'LPPL-1.3a', 'deprecated': False},
417
+ 'lppl-1.3c': {'id': 'LPPL-1.3c', 'deprecated': False},
418
+ 'lsof': {'id': 'lsof', 'deprecated': False},
419
+ 'lucida-bitmap-fonts': {'id': 'Lucida-Bitmap-Fonts', 'deprecated': False},
420
+ 'lzma-sdk-9.11-to-9.20': {'id': 'LZMA-SDK-9.11-to-9.20', 'deprecated': False},
421
+ 'lzma-sdk-9.22': {'id': 'LZMA-SDK-9.22', 'deprecated': False},
422
+ 'mackerras-3-clause': {'id': 'Mackerras-3-Clause', 'deprecated': False},
423
+ 'mackerras-3-clause-acknowledgment': {'id': 'Mackerras-3-Clause-acknowledgment', 'deprecated': False},
424
+ 'magaz': {'id': 'magaz', 'deprecated': False},
425
+ 'mailprio': {'id': 'mailprio', 'deprecated': False},
426
+ 'makeindex': {'id': 'MakeIndex', 'deprecated': False},
427
+ 'martin-birgmeier': {'id': 'Martin-Birgmeier', 'deprecated': False},
428
+ 'mcphee-slideshow': {'id': 'McPhee-slideshow', 'deprecated': False},
429
+ 'metamail': {'id': 'metamail', 'deprecated': False},
430
+ 'minpack': {'id': 'Minpack', 'deprecated': False},
431
+ 'miros': {'id': 'MirOS', 'deprecated': False},
432
+ 'mit': {'id': 'MIT', 'deprecated': False},
433
+ 'mit-0': {'id': 'MIT-0', 'deprecated': False},
434
+ 'mit-advertising': {'id': 'MIT-advertising', 'deprecated': False},
435
+ 'mit-cmu': {'id': 'MIT-CMU', 'deprecated': False},
436
+ 'mit-enna': {'id': 'MIT-enna', 'deprecated': False},
437
+ 'mit-feh': {'id': 'MIT-feh', 'deprecated': False},
438
+ 'mit-festival': {'id': 'MIT-Festival', 'deprecated': False},
439
+ 'mit-khronos-old': {'id': 'MIT-Khronos-old', 'deprecated': False},
440
+ 'mit-modern-variant': {'id': 'MIT-Modern-Variant', 'deprecated': False},
441
+ 'mit-open-group': {'id': 'MIT-open-group', 'deprecated': False},
442
+ 'mit-testregex': {'id': 'MIT-testregex', 'deprecated': False},
443
+ 'mit-wu': {'id': 'MIT-Wu', 'deprecated': False},
444
+ 'mitnfa': {'id': 'MITNFA', 'deprecated': False},
445
+ 'mmixware': {'id': 'MMIXware', 'deprecated': False},
446
+ 'motosoto': {'id': 'Motosoto', 'deprecated': False},
447
+ 'mpeg-ssg': {'id': 'MPEG-SSG', 'deprecated': False},
448
+ 'mpi-permissive': {'id': 'mpi-permissive', 'deprecated': False},
449
+ 'mpich2': {'id': 'mpich2', 'deprecated': False},
450
+ 'mpl-1.0': {'id': 'MPL-1.0', 'deprecated': False},
451
+ 'mpl-1.1': {'id': 'MPL-1.1', 'deprecated': False},
452
+ 'mpl-2.0': {'id': 'MPL-2.0', 'deprecated': False},
453
+ 'mpl-2.0-no-copyleft-exception': {'id': 'MPL-2.0-no-copyleft-exception', 'deprecated': False},
454
+ 'mplus': {'id': 'mplus', 'deprecated': False},
455
+ 'ms-lpl': {'id': 'MS-LPL', 'deprecated': False},
456
+ 'ms-pl': {'id': 'MS-PL', 'deprecated': False},
457
+ 'ms-rl': {'id': 'MS-RL', 'deprecated': False},
458
+ 'mtll': {'id': 'MTLL', 'deprecated': False},
459
+ 'mulanpsl-1.0': {'id': 'MulanPSL-1.0', 'deprecated': False},
460
+ 'mulanpsl-2.0': {'id': 'MulanPSL-2.0', 'deprecated': False},
461
+ 'multics': {'id': 'Multics', 'deprecated': False},
462
+ 'mup': {'id': 'Mup', 'deprecated': False},
463
+ 'naist-2003': {'id': 'NAIST-2003', 'deprecated': False},
464
+ 'nasa-1.3': {'id': 'NASA-1.3', 'deprecated': False},
465
+ 'naumen': {'id': 'Naumen', 'deprecated': False},
466
+ 'nbpl-1.0': {'id': 'NBPL-1.0', 'deprecated': False},
467
+ 'ncbi-pd': {'id': 'NCBI-PD', 'deprecated': False},
468
+ 'ncgl-uk-2.0': {'id': 'NCGL-UK-2.0', 'deprecated': False},
469
+ 'ncl': {'id': 'NCL', 'deprecated': False},
470
+ 'ncsa': {'id': 'NCSA', 'deprecated': False},
471
+ 'net-snmp': {'id': 'Net-SNMP', 'deprecated': True},
472
+ 'netcdf': {'id': 'NetCDF', 'deprecated': False},
473
+ 'newsletr': {'id': 'Newsletr', 'deprecated': False},
474
+ 'ngpl': {'id': 'NGPL', 'deprecated': False},
475
+ 'nicta-1.0': {'id': 'NICTA-1.0', 'deprecated': False},
476
+ 'nist-pd': {'id': 'NIST-PD', 'deprecated': False},
477
+ 'nist-pd-fallback': {'id': 'NIST-PD-fallback', 'deprecated': False},
478
+ 'nist-software': {'id': 'NIST-Software', 'deprecated': False},
479
+ 'nlod-1.0': {'id': 'NLOD-1.0', 'deprecated': False},
480
+ 'nlod-2.0': {'id': 'NLOD-2.0', 'deprecated': False},
481
+ 'nlpl': {'id': 'NLPL', 'deprecated': False},
482
+ 'nokia': {'id': 'Nokia', 'deprecated': False},
483
+ 'nosl': {'id': 'NOSL', 'deprecated': False},
484
+ 'noweb': {'id': 'Noweb', 'deprecated': False},
485
+ 'npl-1.0': {'id': 'NPL-1.0', 'deprecated': False},
486
+ 'npl-1.1': {'id': 'NPL-1.1', 'deprecated': False},
487
+ 'nposl-3.0': {'id': 'NPOSL-3.0', 'deprecated': False},
488
+ 'nrl': {'id': 'NRL', 'deprecated': False},
489
+ 'ntp': {'id': 'NTP', 'deprecated': False},
490
+ 'ntp-0': {'id': 'NTP-0', 'deprecated': False},
491
+ 'nunit': {'id': 'Nunit', 'deprecated': True},
492
+ 'o-uda-1.0': {'id': 'O-UDA-1.0', 'deprecated': False},
493
+ 'oar': {'id': 'OAR', 'deprecated': False},
494
+ 'occt-pl': {'id': 'OCCT-PL', 'deprecated': False},
495
+ 'oclc-2.0': {'id': 'OCLC-2.0', 'deprecated': False},
496
+ 'odbl-1.0': {'id': 'ODbL-1.0', 'deprecated': False},
497
+ 'odc-by-1.0': {'id': 'ODC-By-1.0', 'deprecated': False},
498
+ 'offis': {'id': 'OFFIS', 'deprecated': False},
499
+ 'ofl-1.0': {'id': 'OFL-1.0', 'deprecated': False},
500
+ 'ofl-1.0-no-rfn': {'id': 'OFL-1.0-no-RFN', 'deprecated': False},
501
+ 'ofl-1.0-rfn': {'id': 'OFL-1.0-RFN', 'deprecated': False},
502
+ 'ofl-1.1': {'id': 'OFL-1.1', 'deprecated': False},
503
+ 'ofl-1.1-no-rfn': {'id': 'OFL-1.1-no-RFN', 'deprecated': False},
504
+ 'ofl-1.1-rfn': {'id': 'OFL-1.1-RFN', 'deprecated': False},
505
+ 'ogc-1.0': {'id': 'OGC-1.0', 'deprecated': False},
506
+ 'ogdl-taiwan-1.0': {'id': 'OGDL-Taiwan-1.0', 'deprecated': False},
507
+ 'ogl-canada-2.0': {'id': 'OGL-Canada-2.0', 'deprecated': False},
508
+ 'ogl-uk-1.0': {'id': 'OGL-UK-1.0', 'deprecated': False},
509
+ 'ogl-uk-2.0': {'id': 'OGL-UK-2.0', 'deprecated': False},
510
+ 'ogl-uk-3.0': {'id': 'OGL-UK-3.0', 'deprecated': False},
511
+ 'ogtsl': {'id': 'OGTSL', 'deprecated': False},
512
+ 'oldap-1.1': {'id': 'OLDAP-1.1', 'deprecated': False},
513
+ 'oldap-1.2': {'id': 'OLDAP-1.2', 'deprecated': False},
514
+ 'oldap-1.3': {'id': 'OLDAP-1.3', 'deprecated': False},
515
+ 'oldap-1.4': {'id': 'OLDAP-1.4', 'deprecated': False},
516
+ 'oldap-2.0': {'id': 'OLDAP-2.0', 'deprecated': False},
517
+ 'oldap-2.0.1': {'id': 'OLDAP-2.0.1', 'deprecated': False},
518
+ 'oldap-2.1': {'id': 'OLDAP-2.1', 'deprecated': False},
519
+ 'oldap-2.2': {'id': 'OLDAP-2.2', 'deprecated': False},
520
+ 'oldap-2.2.1': {'id': 'OLDAP-2.2.1', 'deprecated': False},
521
+ 'oldap-2.2.2': {'id': 'OLDAP-2.2.2', 'deprecated': False},
522
+ 'oldap-2.3': {'id': 'OLDAP-2.3', 'deprecated': False},
523
+ 'oldap-2.4': {'id': 'OLDAP-2.4', 'deprecated': False},
524
+ 'oldap-2.5': {'id': 'OLDAP-2.5', 'deprecated': False},
525
+ 'oldap-2.6': {'id': 'OLDAP-2.6', 'deprecated': False},
526
+ 'oldap-2.7': {'id': 'OLDAP-2.7', 'deprecated': False},
527
+ 'oldap-2.8': {'id': 'OLDAP-2.8', 'deprecated': False},
528
+ 'olfl-1.3': {'id': 'OLFL-1.3', 'deprecated': False},
529
+ 'oml': {'id': 'OML', 'deprecated': False},
530
+ 'openpbs-2.3': {'id': 'OpenPBS-2.3', 'deprecated': False},
531
+ 'openssl': {'id': 'OpenSSL', 'deprecated': False},
532
+ 'openssl-standalone': {'id': 'OpenSSL-standalone', 'deprecated': False},
533
+ 'openvision': {'id': 'OpenVision', 'deprecated': False},
534
+ 'opl-1.0': {'id': 'OPL-1.0', 'deprecated': False},
535
+ 'opl-uk-3.0': {'id': 'OPL-UK-3.0', 'deprecated': False},
536
+ 'opubl-1.0': {'id': 'OPUBL-1.0', 'deprecated': False},
537
+ 'oset-pl-2.1': {'id': 'OSET-PL-2.1', 'deprecated': False},
538
+ 'osl-1.0': {'id': 'OSL-1.0', 'deprecated': False},
539
+ 'osl-1.1': {'id': 'OSL-1.1', 'deprecated': False},
540
+ 'osl-2.0': {'id': 'OSL-2.0', 'deprecated': False},
541
+ 'osl-2.1': {'id': 'OSL-2.1', 'deprecated': False},
542
+ 'osl-3.0': {'id': 'OSL-3.0', 'deprecated': False},
543
+ 'padl': {'id': 'PADL', 'deprecated': False},
544
+ 'parity-6.0.0': {'id': 'Parity-6.0.0', 'deprecated': False},
545
+ 'parity-7.0.0': {'id': 'Parity-7.0.0', 'deprecated': False},
546
+ 'pddl-1.0': {'id': 'PDDL-1.0', 'deprecated': False},
547
+ 'php-3.0': {'id': 'PHP-3.0', 'deprecated': False},
548
+ 'php-3.01': {'id': 'PHP-3.01', 'deprecated': False},
549
+ 'pixar': {'id': 'Pixar', 'deprecated': False},
550
+ 'pkgconf': {'id': 'pkgconf', 'deprecated': False},
551
+ 'plexus': {'id': 'Plexus', 'deprecated': False},
552
+ 'pnmstitch': {'id': 'pnmstitch', 'deprecated': False},
553
+ 'polyform-noncommercial-1.0.0': {'id': 'PolyForm-Noncommercial-1.0.0', 'deprecated': False},
554
+ 'polyform-small-business-1.0.0': {'id': 'PolyForm-Small-Business-1.0.0', 'deprecated': False},
555
+ 'postgresql': {'id': 'PostgreSQL', 'deprecated': False},
556
+ 'ppl': {'id': 'PPL', 'deprecated': False},
557
+ 'psf-2.0': {'id': 'PSF-2.0', 'deprecated': False},
558
+ 'psfrag': {'id': 'psfrag', 'deprecated': False},
559
+ 'psutils': {'id': 'psutils', 'deprecated': False},
560
+ 'python-2.0': {'id': 'Python-2.0', 'deprecated': False},
561
+ 'python-2.0.1': {'id': 'Python-2.0.1', 'deprecated': False},
562
+ 'python-ldap': {'id': 'python-ldap', 'deprecated': False},
563
+ 'qhull': {'id': 'Qhull', 'deprecated': False},
564
+ 'qpl-1.0': {'id': 'QPL-1.0', 'deprecated': False},
565
+ 'qpl-1.0-inria-2004': {'id': 'QPL-1.0-INRIA-2004', 'deprecated': False},
566
+ 'radvd': {'id': 'radvd', 'deprecated': False},
567
+ 'rdisc': {'id': 'Rdisc', 'deprecated': False},
568
+ 'rhecos-1.1': {'id': 'RHeCos-1.1', 'deprecated': False},
569
+ 'rpl-1.1': {'id': 'RPL-1.1', 'deprecated': False},
570
+ 'rpl-1.5': {'id': 'RPL-1.5', 'deprecated': False},
571
+ 'rpsl-1.0': {'id': 'RPSL-1.0', 'deprecated': False},
572
+ 'rsa-md': {'id': 'RSA-MD', 'deprecated': False},
573
+ 'rscpl': {'id': 'RSCPL', 'deprecated': False},
574
+ 'ruby': {'id': 'Ruby', 'deprecated': False},
575
+ 'ruby-pty': {'id': 'Ruby-pty', 'deprecated': False},
576
+ 'sax-pd': {'id': 'SAX-PD', 'deprecated': False},
577
+ 'sax-pd-2.0': {'id': 'SAX-PD-2.0', 'deprecated': False},
578
+ 'saxpath': {'id': 'Saxpath', 'deprecated': False},
579
+ 'scea': {'id': 'SCEA', 'deprecated': False},
580
+ 'schemereport': {'id': 'SchemeReport', 'deprecated': False},
581
+ 'sendmail': {'id': 'Sendmail', 'deprecated': False},
582
+ 'sendmail-8.23': {'id': 'Sendmail-8.23', 'deprecated': False},
583
+ 'sgi-b-1.0': {'id': 'SGI-B-1.0', 'deprecated': False},
584
+ 'sgi-b-1.1': {'id': 'SGI-B-1.1', 'deprecated': False},
585
+ 'sgi-b-2.0': {'id': 'SGI-B-2.0', 'deprecated': False},
586
+ 'sgi-opengl': {'id': 'SGI-OpenGL', 'deprecated': False},
587
+ 'sgp4': {'id': 'SGP4', 'deprecated': False},
588
+ 'shl-0.5': {'id': 'SHL-0.5', 'deprecated': False},
589
+ 'shl-0.51': {'id': 'SHL-0.51', 'deprecated': False},
590
+ 'simpl-2.0': {'id': 'SimPL-2.0', 'deprecated': False},
591
+ 'sissl': {'id': 'SISSL', 'deprecated': False},
592
+ 'sissl-1.2': {'id': 'SISSL-1.2', 'deprecated': False},
593
+ 'sl': {'id': 'SL', 'deprecated': False},
594
+ 'sleepycat': {'id': 'Sleepycat', 'deprecated': False},
595
+ 'smlnj': {'id': 'SMLNJ', 'deprecated': False},
596
+ 'smppl': {'id': 'SMPPL', 'deprecated': False},
597
+ 'snia': {'id': 'SNIA', 'deprecated': False},
598
+ 'snprintf': {'id': 'snprintf', 'deprecated': False},
599
+ 'softsurfer': {'id': 'softSurfer', 'deprecated': False},
600
+ 'soundex': {'id': 'Soundex', 'deprecated': False},
601
+ 'spencer-86': {'id': 'Spencer-86', 'deprecated': False},
602
+ 'spencer-94': {'id': 'Spencer-94', 'deprecated': False},
603
+ 'spencer-99': {'id': 'Spencer-99', 'deprecated': False},
604
+ 'spl-1.0': {'id': 'SPL-1.0', 'deprecated': False},
605
+ 'ssh-keyscan': {'id': 'ssh-keyscan', 'deprecated': False},
606
+ 'ssh-openssh': {'id': 'SSH-OpenSSH', 'deprecated': False},
607
+ 'ssh-short': {'id': 'SSH-short', 'deprecated': False},
608
+ 'ssleay-standalone': {'id': 'SSLeay-standalone', 'deprecated': False},
609
+ 'sspl-1.0': {'id': 'SSPL-1.0', 'deprecated': False},
610
+ 'standardml-nj': {'id': 'StandardML-NJ', 'deprecated': True},
611
+ 'sugarcrm-1.1.3': {'id': 'SugarCRM-1.1.3', 'deprecated': False},
612
+ 'sun-ppp': {'id': 'Sun-PPP', 'deprecated': False},
613
+ 'sun-ppp-2000': {'id': 'Sun-PPP-2000', 'deprecated': False},
614
+ 'sunpro': {'id': 'SunPro', 'deprecated': False},
615
+ 'swl': {'id': 'SWL', 'deprecated': False},
616
+ 'swrule': {'id': 'swrule', 'deprecated': False},
617
+ 'symlinks': {'id': 'Symlinks', 'deprecated': False},
618
+ 'tapr-ohl-1.0': {'id': 'TAPR-OHL-1.0', 'deprecated': False},
619
+ 'tcl': {'id': 'TCL', 'deprecated': False},
620
+ 'tcp-wrappers': {'id': 'TCP-wrappers', 'deprecated': False},
621
+ 'termreadkey': {'id': 'TermReadKey', 'deprecated': False},
622
+ 'tgppl-1.0': {'id': 'TGPPL-1.0', 'deprecated': False},
623
+ 'threeparttable': {'id': 'threeparttable', 'deprecated': False},
624
+ 'tmate': {'id': 'TMate', 'deprecated': False},
625
+ 'torque-1.1': {'id': 'TORQUE-1.1', 'deprecated': False},
626
+ 'tosl': {'id': 'TOSL', 'deprecated': False},
627
+ 'tpdl': {'id': 'TPDL', 'deprecated': False},
628
+ 'tpl-1.0': {'id': 'TPL-1.0', 'deprecated': False},
629
+ 'ttwl': {'id': 'TTWL', 'deprecated': False},
630
+ 'ttyp0': {'id': 'TTYP0', 'deprecated': False},
631
+ 'tu-berlin-1.0': {'id': 'TU-Berlin-1.0', 'deprecated': False},
632
+ 'tu-berlin-2.0': {'id': 'TU-Berlin-2.0', 'deprecated': False},
633
+ 'ubuntu-font-1.0': {'id': 'Ubuntu-font-1.0', 'deprecated': False},
634
+ 'ucar': {'id': 'UCAR', 'deprecated': False},
635
+ 'ucl-1.0': {'id': 'UCL-1.0', 'deprecated': False},
636
+ 'ulem': {'id': 'ulem', 'deprecated': False},
637
+ 'umich-merit': {'id': 'UMich-Merit', 'deprecated': False},
638
+ 'unicode-3.0': {'id': 'Unicode-3.0', 'deprecated': False},
639
+ 'unicode-dfs-2015': {'id': 'Unicode-DFS-2015', 'deprecated': False},
640
+ 'unicode-dfs-2016': {'id': 'Unicode-DFS-2016', 'deprecated': False},
641
+ 'unicode-tou': {'id': 'Unicode-TOU', 'deprecated': False},
642
+ 'unixcrypt': {'id': 'UnixCrypt', 'deprecated': False},
643
+ 'unlicense': {'id': 'Unlicense', 'deprecated': False},
644
+ 'upl-1.0': {'id': 'UPL-1.0', 'deprecated': False},
645
+ 'urt-rle': {'id': 'URT-RLE', 'deprecated': False},
646
+ 'vim': {'id': 'Vim', 'deprecated': False},
647
+ 'vostrom': {'id': 'VOSTROM', 'deprecated': False},
648
+ 'vsl-1.0': {'id': 'VSL-1.0', 'deprecated': False},
649
+ 'w3c': {'id': 'W3C', 'deprecated': False},
650
+ 'w3c-19980720': {'id': 'W3C-19980720', 'deprecated': False},
651
+ 'w3c-20150513': {'id': 'W3C-20150513', 'deprecated': False},
652
+ 'w3m': {'id': 'w3m', 'deprecated': False},
653
+ 'watcom-1.0': {'id': 'Watcom-1.0', 'deprecated': False},
654
+ 'widget-workshop': {'id': 'Widget-Workshop', 'deprecated': False},
655
+ 'wsuipa': {'id': 'Wsuipa', 'deprecated': False},
656
+ 'wtfpl': {'id': 'WTFPL', 'deprecated': False},
657
+ 'wxwindows': {'id': 'wxWindows', 'deprecated': True},
658
+ 'x11': {'id': 'X11', 'deprecated': False},
659
+ 'x11-distribute-modifications-variant': {'id': 'X11-distribute-modifications-variant', 'deprecated': False},
660
+ 'x11-swapped': {'id': 'X11-swapped', 'deprecated': False},
661
+ 'xdebug-1.03': {'id': 'Xdebug-1.03', 'deprecated': False},
662
+ 'xerox': {'id': 'Xerox', 'deprecated': False},
663
+ 'xfig': {'id': 'Xfig', 'deprecated': False},
664
+ 'xfree86-1.1': {'id': 'XFree86-1.1', 'deprecated': False},
665
+ 'xinetd': {'id': 'xinetd', 'deprecated': False},
666
+ 'xkeyboard-config-zinoviev': {'id': 'xkeyboard-config-Zinoviev', 'deprecated': False},
667
+ 'xlock': {'id': 'xlock', 'deprecated': False},
668
+ 'xnet': {'id': 'Xnet', 'deprecated': False},
669
+ 'xpp': {'id': 'xpp', 'deprecated': False},
670
+ 'xskat': {'id': 'XSkat', 'deprecated': False},
671
+ 'xzoom': {'id': 'xzoom', 'deprecated': False},
672
+ 'ypl-1.0': {'id': 'YPL-1.0', 'deprecated': False},
673
+ 'ypl-1.1': {'id': 'YPL-1.1', 'deprecated': False},
674
+ 'zed': {'id': 'Zed', 'deprecated': False},
675
+ 'zeeff': {'id': 'Zeeff', 'deprecated': False},
676
+ 'zend-2.0': {'id': 'Zend-2.0', 'deprecated': False},
677
+ 'zimbra-1.3': {'id': 'Zimbra-1.3', 'deprecated': False},
678
+ 'zimbra-1.4': {'id': 'Zimbra-1.4', 'deprecated': False},
679
+ 'zlib': {'id': 'Zlib', 'deprecated': False},
680
+ 'zlib-acknowledgement': {'id': 'zlib-acknowledgement', 'deprecated': False},
681
+ 'zpl-1.1': {'id': 'ZPL-1.1', 'deprecated': False},
682
+ 'zpl-2.0': {'id': 'ZPL-2.0', 'deprecated': False},
683
+ 'zpl-2.1': {'id': 'ZPL-2.1', 'deprecated': False},
684
+ }
685
+
686
+ EXCEPTIONS: dict[str, SPDXException] = {
687
+ '389-exception': {'id': '389-exception', 'deprecated': False},
688
+ 'asterisk-exception': {'id': 'Asterisk-exception', 'deprecated': False},
689
+ 'asterisk-linking-protocols-exception': {'id': 'Asterisk-linking-protocols-exception', 'deprecated': False},
690
+ 'autoconf-exception-2.0': {'id': 'Autoconf-exception-2.0', 'deprecated': False},
691
+ 'autoconf-exception-3.0': {'id': 'Autoconf-exception-3.0', 'deprecated': False},
692
+ 'autoconf-exception-generic': {'id': 'Autoconf-exception-generic', 'deprecated': False},
693
+ 'autoconf-exception-generic-3.0': {'id': 'Autoconf-exception-generic-3.0', 'deprecated': False},
694
+ 'autoconf-exception-macro': {'id': 'Autoconf-exception-macro', 'deprecated': False},
695
+ 'bison-exception-1.24': {'id': 'Bison-exception-1.24', 'deprecated': False},
696
+ 'bison-exception-2.2': {'id': 'Bison-exception-2.2', 'deprecated': False},
697
+ 'bootloader-exception': {'id': 'Bootloader-exception', 'deprecated': False},
698
+ 'classpath-exception-2.0': {'id': 'Classpath-exception-2.0', 'deprecated': False},
699
+ 'clisp-exception-2.0': {'id': 'CLISP-exception-2.0', 'deprecated': False},
700
+ 'cryptsetup-openssl-exception': {'id': 'cryptsetup-OpenSSL-exception', 'deprecated': False},
701
+ 'digirule-foss-exception': {'id': 'DigiRule-FOSS-exception', 'deprecated': False},
702
+ 'ecos-exception-2.0': {'id': 'eCos-exception-2.0', 'deprecated': False},
703
+ 'erlang-otp-linking-exception': {'id': 'erlang-otp-linking-exception', 'deprecated': False},
704
+ 'fawkes-runtime-exception': {'id': 'Fawkes-Runtime-exception', 'deprecated': False},
705
+ 'fltk-exception': {'id': 'FLTK-exception', 'deprecated': False},
706
+ 'fmt-exception': {'id': 'fmt-exception', 'deprecated': False},
707
+ 'font-exception-2.0': {'id': 'Font-exception-2.0', 'deprecated': False},
708
+ 'freertos-exception-2.0': {'id': 'freertos-exception-2.0', 'deprecated': False},
709
+ 'gcc-exception-2.0': {'id': 'GCC-exception-2.0', 'deprecated': False},
710
+ 'gcc-exception-2.0-note': {'id': 'GCC-exception-2.0-note', 'deprecated': False},
711
+ 'gcc-exception-3.1': {'id': 'GCC-exception-3.1', 'deprecated': False},
712
+ 'gmsh-exception': {'id': 'Gmsh-exception', 'deprecated': False},
713
+ 'gnat-exception': {'id': 'GNAT-exception', 'deprecated': False},
714
+ 'gnome-examples-exception': {'id': 'GNOME-examples-exception', 'deprecated': False},
715
+ 'gnu-compiler-exception': {'id': 'GNU-compiler-exception', 'deprecated': False},
716
+ 'gnu-javamail-exception': {'id': 'gnu-javamail-exception', 'deprecated': False},
717
+ 'gpl-3.0-interface-exception': {'id': 'GPL-3.0-interface-exception', 'deprecated': False},
718
+ 'gpl-3.0-linking-exception': {'id': 'GPL-3.0-linking-exception', 'deprecated': False},
719
+ 'gpl-3.0-linking-source-exception': {'id': 'GPL-3.0-linking-source-exception', 'deprecated': False},
720
+ 'gpl-cc-1.0': {'id': 'GPL-CC-1.0', 'deprecated': False},
721
+ 'gstreamer-exception-2005': {'id': 'GStreamer-exception-2005', 'deprecated': False},
722
+ 'gstreamer-exception-2008': {'id': 'GStreamer-exception-2008', 'deprecated': False},
723
+ 'i2p-gpl-java-exception': {'id': 'i2p-gpl-java-exception', 'deprecated': False},
724
+ 'kicad-libraries-exception': {'id': 'KiCad-libraries-exception', 'deprecated': False},
725
+ 'lgpl-3.0-linking-exception': {'id': 'LGPL-3.0-linking-exception', 'deprecated': False},
726
+ 'libpri-openh323-exception': {'id': 'libpri-OpenH323-exception', 'deprecated': False},
727
+ 'libtool-exception': {'id': 'Libtool-exception', 'deprecated': False},
728
+ 'linux-syscall-note': {'id': 'Linux-syscall-note', 'deprecated': False},
729
+ 'llgpl': {'id': 'LLGPL', 'deprecated': False},
730
+ 'llvm-exception': {'id': 'LLVM-exception', 'deprecated': False},
731
+ 'lzma-exception': {'id': 'LZMA-exception', 'deprecated': False},
732
+ 'mif-exception': {'id': 'mif-exception', 'deprecated': False},
733
+ 'nokia-qt-exception-1.1': {'id': 'Nokia-Qt-exception-1.1', 'deprecated': True},
734
+ 'ocaml-lgpl-linking-exception': {'id': 'OCaml-LGPL-linking-exception', 'deprecated': False},
735
+ 'occt-exception-1.0': {'id': 'OCCT-exception-1.0', 'deprecated': False},
736
+ 'openjdk-assembly-exception-1.0': {'id': 'OpenJDK-assembly-exception-1.0', 'deprecated': False},
737
+ 'openvpn-openssl-exception': {'id': 'openvpn-openssl-exception', 'deprecated': False},
738
+ 'pcre2-exception': {'id': 'PCRE2-exception', 'deprecated': False},
739
+ 'ps-or-pdf-font-exception-20170817': {'id': 'PS-or-PDF-font-exception-20170817', 'deprecated': False},
740
+ 'qpl-1.0-inria-2004-exception': {'id': 'QPL-1.0-INRIA-2004-exception', 'deprecated': False},
741
+ 'qt-gpl-exception-1.0': {'id': 'Qt-GPL-exception-1.0', 'deprecated': False},
742
+ 'qt-lgpl-exception-1.1': {'id': 'Qt-LGPL-exception-1.1', 'deprecated': False},
743
+ 'qwt-exception-1.0': {'id': 'Qwt-exception-1.0', 'deprecated': False},
744
+ 'romic-exception': {'id': 'romic-exception', 'deprecated': False},
745
+ 'rrdtool-floss-exception-2.0': {'id': 'RRDtool-FLOSS-exception-2.0', 'deprecated': False},
746
+ 'sane-exception': {'id': 'SANE-exception', 'deprecated': False},
747
+ 'shl-2.0': {'id': 'SHL-2.0', 'deprecated': False},
748
+ 'shl-2.1': {'id': 'SHL-2.1', 'deprecated': False},
749
+ 'stunnel-exception': {'id': 'stunnel-exception', 'deprecated': False},
750
+ 'swi-exception': {'id': 'SWI-exception', 'deprecated': False},
751
+ 'swift-exception': {'id': 'Swift-exception', 'deprecated': False},
752
+ 'texinfo-exception': {'id': 'Texinfo-exception', 'deprecated': False},
753
+ 'u-boot-exception-2.0': {'id': 'u-boot-exception-2.0', 'deprecated': False},
754
+ 'ubdl-exception': {'id': 'UBDL-exception', 'deprecated': False},
755
+ 'universal-foss-exception-1.0': {'id': 'Universal-FOSS-exception-1.0', 'deprecated': False},
756
+ 'vsftpd-openssl-exception': {'id': 'vsftpd-openssl-exception', 'deprecated': False},
757
+ 'wxwindows-exception-3.1': {'id': 'WxWindows-exception-3.1', 'deprecated': False},
758
+ 'x11vnc-openssl-exception': {'id': 'x11vnc-openssl-exception', 'deprecated': False},
759
+ }
tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/requirements.py ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # This file is dual licensed under the terms of the Apache License, Version
2
+ # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3
+ # for complete details.
4
+ from __future__ import annotations
5
+
6
+ from typing import Any, Iterator
7
+
8
+ from ._parser import parse_requirement as _parse_requirement
9
+ from ._tokenizer import ParserSyntaxError
10
+ from .markers import Marker, _normalize_extra_values
11
+ from .specifiers import SpecifierSet
12
+ from .utils import canonicalize_name
13
+
14
+
15
+ class InvalidRequirement(ValueError):
16
+ """
17
+ An invalid requirement was found, users should refer to PEP 508.
18
+ """
19
+
20
+
21
+ class Requirement:
22
+ """Parse a requirement.
23
+
24
+ Parse a given requirement string into its parts, such as name, specifier,
25
+ URL, and extras. Raises InvalidRequirement on a badly-formed requirement
26
+ string.
27
+ """
28
+
29
+ # TODO: Can we test whether something is contained within a requirement?
30
+ # If so how do we do that? Do we need to test against the _name_ of
31
+ # the thing as well as the version? What about the markers?
32
+ # TODO: Can we normalize the name and extra name?
33
+
34
+ def __init__(self, requirement_string: str) -> None:
35
+ try:
36
+ parsed = _parse_requirement(requirement_string)
37
+ except ParserSyntaxError as e:
38
+ raise InvalidRequirement(str(e)) from e
39
+
40
+ self.name: str = parsed.name
41
+ self.url: str | None = parsed.url or None
42
+ self.extras: set[str] = set(parsed.extras or [])
43
+ self.specifier: SpecifierSet = SpecifierSet(parsed.specifier)
44
+ self.marker: Marker | None = None
45
+ if parsed.marker is not None:
46
+ self.marker = Marker.__new__(Marker)
47
+ self.marker._markers = _normalize_extra_values(parsed.marker)
48
+
49
+ def _iter_parts(self, name: str) -> Iterator[str]:
50
+ yield name
51
+
52
+ if self.extras:
53
+ formatted_extras = ",".join(sorted(self.extras))
54
+ yield f"[{formatted_extras}]"
55
+
56
+ if self.specifier:
57
+ yield str(self.specifier)
58
+
59
+ if self.url:
60
+ yield f"@ {self.url}"
61
+ if self.marker:
62
+ yield " "
63
+
64
+ if self.marker:
65
+ yield f"; {self.marker}"
66
+
67
+ def __str__(self) -> str:
68
+ return "".join(self._iter_parts(self.name))
69
+
70
+ def __repr__(self) -> str:
71
+ return f"<Requirement('{self}')>"
72
+
73
+ def __hash__(self) -> int:
74
+ return hash(
75
+ (
76
+ self.__class__.__name__,
77
+ *self._iter_parts(canonicalize_name(self.name)),
78
+ )
79
+ )
80
+
81
+ def __eq__(self, other: Any) -> bool:
82
+ if not isinstance(other, Requirement):
83
+ return NotImplemented
84
+
85
+ return (
86
+ canonicalize_name(self.name) == canonicalize_name(other.name)
87
+ and self.extras == other.extras
88
+ and self.specifier == other.specifier
89
+ and self.url == other.url
90
+ and self.marker == other.marker
91
+ )
tuning-competition-baseline/.venv/lib/python3.11/site-packages/packaging/utils.py ADDED
@@ -0,0 +1,163 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # This file is dual licensed under the terms of the Apache License, Version
2
+ # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3
+ # for complete details.
4
+
5
+ from __future__ import annotations
6
+
7
+ import functools
8
+ import re
9
+ from typing import NewType, Tuple, Union, cast
10
+
11
+ from .tags import Tag, parse_tag
12
+ from .version import InvalidVersion, Version, _TrimmedRelease
13
+
14
+ BuildTag = Union[Tuple[()], Tuple[int, str]]
15
+ NormalizedName = NewType("NormalizedName", str)
16
+
17
+
18
+ class InvalidName(ValueError):
19
+ """
20
+ An invalid distribution name; users should refer to the packaging user guide.
21
+ """
22
+
23
+
24
+ class InvalidWheelFilename(ValueError):
25
+ """
26
+ An invalid wheel filename was found, users should refer to PEP 427.
27
+ """
28
+
29
+
30
+ class InvalidSdistFilename(ValueError):
31
+ """
32
+ An invalid sdist filename was found, users should refer to the packaging user guide.
33
+ """
34
+
35
+
36
+ # Core metadata spec for `Name`
37
+ _validate_regex = re.compile(
38
+ r"^([A-Z0-9]|[A-Z0-9][A-Z0-9._-]*[A-Z0-9])$", re.IGNORECASE
39
+ )
40
+ _canonicalize_regex = re.compile(r"[-_.]+")
41
+ _normalized_regex = re.compile(r"^([a-z0-9]|[a-z0-9]([a-z0-9-](?!--))*[a-z0-9])$")
42
+ # PEP 427: The build number must start with a digit.
43
+ _build_tag_regex = re.compile(r"(\d+)(.*)")
44
+
45
+
46
+ def canonicalize_name(name: str, *, validate: bool = False) -> NormalizedName:
47
+ if validate and not _validate_regex.match(name):
48
+ raise InvalidName(f"name is invalid: {name!r}")
49
+ # This is taken from PEP 503.
50
+ value = _canonicalize_regex.sub("-", name).lower()
51
+ return cast(NormalizedName, value)
52
+
53
+
54
+ def is_normalized_name(name: str) -> bool:
55
+ return _normalized_regex.match(name) is not None
56
+
57
+
58
+ @functools.singledispatch
59
+ def canonicalize_version(
60
+ version: Version | str, *, strip_trailing_zero: bool = True
61
+ ) -> str:
62
+ """
63
+ Return a canonical form of a version as a string.
64
+
65
+ >>> canonicalize_version('1.0.1')
66
+ '1.0.1'
67
+
68
+ Per PEP 625, versions may have multiple canonical forms, differing
69
+ only by trailing zeros.
70
+
71
+ >>> canonicalize_version('1.0.0')
72
+ '1'
73
+ >>> canonicalize_version('1.0.0', strip_trailing_zero=False)
74
+ '1.0.0'
75
+
76
+ Invalid versions are returned unaltered.
77
+
78
+ >>> canonicalize_version('foo bar baz')
79
+ 'foo bar baz'
80
+ """
81
+ return str(_TrimmedRelease(str(version)) if strip_trailing_zero else version)
82
+
83
+
84
+ @canonicalize_version.register
85
+ def _(version: str, *, strip_trailing_zero: bool = True) -> str:
86
+ try:
87
+ parsed = Version(version)
88
+ except InvalidVersion:
89
+ # Legacy versions cannot be normalized
90
+ return version
91
+ return canonicalize_version(parsed, strip_trailing_zero=strip_trailing_zero)
92
+
93
+
94
+ def parse_wheel_filename(
95
+ filename: str,
96
+ ) -> tuple[NormalizedName, Version, BuildTag, frozenset[Tag]]:
97
+ if not filename.endswith(".whl"):
98
+ raise InvalidWheelFilename(
99
+ f"Invalid wheel filename (extension must be '.whl'): {filename!r}"
100
+ )
101
+
102
+ filename = filename[:-4]
103
+ dashes = filename.count("-")
104
+ if dashes not in (4, 5):
105
+ raise InvalidWheelFilename(
106
+ f"Invalid wheel filename (wrong number of parts): {filename!r}"
107
+ )
108
+
109
+ parts = filename.split("-", dashes - 2)
110
+ name_part = parts[0]
111
+ # See PEP 427 for the rules on escaping the project name.
112
+ if "__" in name_part or re.match(r"^[\w\d._]*$", name_part, re.UNICODE) is None:
113
+ raise InvalidWheelFilename(f"Invalid project name: {filename!r}")
114
+ name = canonicalize_name(name_part)
115
+
116
+ try:
117
+ version = Version(parts[1])
118
+ except InvalidVersion as e:
119
+ raise InvalidWheelFilename(
120
+ f"Invalid wheel filename (invalid version): {filename!r}"
121
+ ) from e
122
+
123
+ if dashes == 5:
124
+ build_part = parts[2]
125
+ build_match = _build_tag_regex.match(build_part)
126
+ if build_match is None:
127
+ raise InvalidWheelFilename(
128
+ f"Invalid build number: {build_part} in {filename!r}"
129
+ )
130
+ build = cast(BuildTag, (int(build_match.group(1)), build_match.group(2)))
131
+ else:
132
+ build = ()
133
+ tags = parse_tag(parts[-1])
134
+ return (name, version, build, tags)
135
+
136
+
137
+ def parse_sdist_filename(filename: str) -> tuple[NormalizedName, Version]:
138
+ if filename.endswith(".tar.gz"):
139
+ file_stem = filename[: -len(".tar.gz")]
140
+ elif filename.endswith(".zip"):
141
+ file_stem = filename[: -len(".zip")]
142
+ else:
143
+ raise InvalidSdistFilename(
144
+ f"Invalid sdist filename (extension must be '.tar.gz' or '.zip'):"
145
+ f" {filename!r}"
146
+ )
147
+
148
+ # We are requiring a PEP 440 version, which cannot contain dashes,
149
+ # so we split on the last dash.
150
+ name_part, sep, version_part = file_stem.rpartition("-")
151
+ if not sep:
152
+ raise InvalidSdistFilename(f"Invalid sdist filename: {filename!r}")
153
+
154
+ name = canonicalize_name(name_part)
155
+
156
+ try:
157
+ version = Version(version_part)
158
+ except InvalidVersion as e:
159
+ raise InvalidSdistFilename(
160
+ f"Invalid sdist filename (invalid version): {filename!r}"
161
+ ) from e
162
+
163
+ return (name, version)
tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/idna/__pycache__/__init__.cpython-311.pyc ADDED
Binary file (1.12 kB). View file
 
tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/idna/__pycache__/codec.cpython-311.pyc ADDED
Binary file (5.81 kB). View file
 
tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/idna/__pycache__/compat.cpython-311.pyc ADDED
Binary file (1.04 kB). View file
 
tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/idna/__pycache__/core.cpython-311.pyc ADDED
Binary file (18.9 kB). View file
 
tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/idna/__pycache__/intranges.cpython-311.pyc ADDED
Binary file (3 kB). View file
 
tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/idna/__pycache__/package_data.cpython-311.pyc ADDED
Binary file (239 Bytes). View file
 
tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/idna/uts46data.py ADDED
The diff for this file is too large to render. See raw diff
 
tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/pkg_resources/__init__.py ADDED
The diff for this file is too large to render. See raw diff
 
tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__init__.py ADDED
@@ -0,0 +1,627 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ Utilities for determining application-specific dirs.
3
+
4
+ See <https://github.com/platformdirs/platformdirs> for details and usage.
5
+
6
+ """
7
+
8
+ from __future__ import annotations
9
+
10
+ import os
11
+ import sys
12
+ from typing import TYPE_CHECKING
13
+
14
+ from .api import PlatformDirsABC
15
+ from .version import __version__
16
+ from .version import __version_tuple__ as __version_info__
17
+
18
+ if TYPE_CHECKING:
19
+ from pathlib import Path
20
+ from typing import Literal
21
+
22
+
23
+ def _set_platform_dir_class() -> type[PlatformDirsABC]:
24
+ if sys.platform == "win32":
25
+ from pip._vendor.platformdirs.windows import Windows as Result # noqa: PLC0415
26
+ elif sys.platform == "darwin":
27
+ from pip._vendor.platformdirs.macos import MacOS as Result # noqa: PLC0415
28
+ else:
29
+ from pip._vendor.platformdirs.unix import Unix as Result # noqa: PLC0415
30
+
31
+ if os.getenv("ANDROID_DATA") == "/data" and os.getenv("ANDROID_ROOT") == "/system":
32
+ if os.getenv("SHELL") or os.getenv("PREFIX"):
33
+ return Result
34
+
35
+ from pip._vendor.platformdirs.android import _android_folder # noqa: PLC0415
36
+
37
+ if _android_folder() is not None:
38
+ from pip._vendor.platformdirs.android import Android # noqa: PLC0415
39
+
40
+ return Android # return to avoid redefinition of a result
41
+
42
+ return Result
43
+
44
+
45
+ PlatformDirs = _set_platform_dir_class() #: Currently active platform
46
+ AppDirs = PlatformDirs #: Backwards compatibility with appdirs
47
+
48
+
49
+ def user_data_dir(
50
+ appname: str | None = None,
51
+ appauthor: str | None | Literal[False] = None,
52
+ version: str | None = None,
53
+ roaming: bool = False, # noqa: FBT001, FBT002
54
+ ensure_exists: bool = False, # noqa: FBT001, FBT002
55
+ ) -> str:
56
+ """
57
+ :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
58
+ :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
59
+ :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
60
+ :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
61
+ :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
62
+ :returns: data directory tied to the user
63
+ """
64
+ return PlatformDirs(
65
+ appname=appname,
66
+ appauthor=appauthor,
67
+ version=version,
68
+ roaming=roaming,
69
+ ensure_exists=ensure_exists,
70
+ ).user_data_dir
71
+
72
+
73
+ def site_data_dir(
74
+ appname: str | None = None,
75
+ appauthor: str | None | Literal[False] = None,
76
+ version: str | None = None,
77
+ multipath: bool = False, # noqa: FBT001, FBT002
78
+ ensure_exists: bool = False, # noqa: FBT001, FBT002
79
+ ) -> str:
80
+ """
81
+ :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
82
+ :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
83
+ :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
84
+ :param multipath: See `roaming <platformdirs.api.PlatformDirsABC.multipath>`.
85
+ :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
86
+ :returns: data directory shared by users
87
+ """
88
+ return PlatformDirs(
89
+ appname=appname,
90
+ appauthor=appauthor,
91
+ version=version,
92
+ multipath=multipath,
93
+ ensure_exists=ensure_exists,
94
+ ).site_data_dir
95
+
96
+
97
+ def user_config_dir(
98
+ appname: str | None = None,
99
+ appauthor: str | None | Literal[False] = None,
100
+ version: str | None = None,
101
+ roaming: bool = False, # noqa: FBT001, FBT002
102
+ ensure_exists: bool = False, # noqa: FBT001, FBT002
103
+ ) -> str:
104
+ """
105
+ :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
106
+ :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
107
+ :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
108
+ :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
109
+ :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
110
+ :returns: config directory tied to the user
111
+ """
112
+ return PlatformDirs(
113
+ appname=appname,
114
+ appauthor=appauthor,
115
+ version=version,
116
+ roaming=roaming,
117
+ ensure_exists=ensure_exists,
118
+ ).user_config_dir
119
+
120
+
121
+ def site_config_dir(
122
+ appname: str | None = None,
123
+ appauthor: str | None | Literal[False] = None,
124
+ version: str | None = None,
125
+ multipath: bool = False, # noqa: FBT001, FBT002
126
+ ensure_exists: bool = False, # noqa: FBT001, FBT002
127
+ ) -> str:
128
+ """
129
+ :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
130
+ :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
131
+ :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
132
+ :param multipath: See `roaming <platformdirs.api.PlatformDirsABC.multipath>`.
133
+ :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
134
+ :returns: config directory shared by the users
135
+ """
136
+ return PlatformDirs(
137
+ appname=appname,
138
+ appauthor=appauthor,
139
+ version=version,
140
+ multipath=multipath,
141
+ ensure_exists=ensure_exists,
142
+ ).site_config_dir
143
+
144
+
145
+ def user_cache_dir(
146
+ appname: str | None = None,
147
+ appauthor: str | None | Literal[False] = None,
148
+ version: str | None = None,
149
+ opinion: bool = True, # noqa: FBT001, FBT002
150
+ ensure_exists: bool = False, # noqa: FBT001, FBT002
151
+ ) -> str:
152
+ """
153
+ :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
154
+ :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
155
+ :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
156
+ :param opinion: See `roaming <platformdirs.api.PlatformDirsABC.opinion>`.
157
+ :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
158
+ :returns: cache directory tied to the user
159
+ """
160
+ return PlatformDirs(
161
+ appname=appname,
162
+ appauthor=appauthor,
163
+ version=version,
164
+ opinion=opinion,
165
+ ensure_exists=ensure_exists,
166
+ ).user_cache_dir
167
+
168
+
169
+ def site_cache_dir(
170
+ appname: str | None = None,
171
+ appauthor: str | None | Literal[False] = None,
172
+ version: str | None = None,
173
+ opinion: bool = True, # noqa: FBT001, FBT002
174
+ ensure_exists: bool = False, # noqa: FBT001, FBT002
175
+ ) -> str:
176
+ """
177
+ :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
178
+ :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
179
+ :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
180
+ :param opinion: See `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
181
+ :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
182
+ :returns: cache directory tied to the user
183
+ """
184
+ return PlatformDirs(
185
+ appname=appname,
186
+ appauthor=appauthor,
187
+ version=version,
188
+ opinion=opinion,
189
+ ensure_exists=ensure_exists,
190
+ ).site_cache_dir
191
+
192
+
193
+ def user_state_dir(
194
+ appname: str | None = None,
195
+ appauthor: str | None | Literal[False] = None,
196
+ version: str | None = None,
197
+ roaming: bool = False, # noqa: FBT001, FBT002
198
+ ensure_exists: bool = False, # noqa: FBT001, FBT002
199
+ ) -> str:
200
+ """
201
+ :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
202
+ :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
203
+ :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
204
+ :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
205
+ :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
206
+ :returns: state directory tied to the user
207
+ """
208
+ return PlatformDirs(
209
+ appname=appname,
210
+ appauthor=appauthor,
211
+ version=version,
212
+ roaming=roaming,
213
+ ensure_exists=ensure_exists,
214
+ ).user_state_dir
215
+
216
+
217
+ def user_log_dir(
218
+ appname: str | None = None,
219
+ appauthor: str | None | Literal[False] = None,
220
+ version: str | None = None,
221
+ opinion: bool = True, # noqa: FBT001, FBT002
222
+ ensure_exists: bool = False, # noqa: FBT001, FBT002
223
+ ) -> str:
224
+ """
225
+ :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
226
+ :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
227
+ :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
228
+ :param opinion: See `roaming <platformdirs.api.PlatformDirsABC.opinion>`.
229
+ :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
230
+ :returns: log directory tied to the user
231
+ """
232
+ return PlatformDirs(
233
+ appname=appname,
234
+ appauthor=appauthor,
235
+ version=version,
236
+ opinion=opinion,
237
+ ensure_exists=ensure_exists,
238
+ ).user_log_dir
239
+
240
+
241
+ def user_documents_dir() -> str:
242
+ """:returns: documents directory tied to the user"""
243
+ return PlatformDirs().user_documents_dir
244
+
245
+
246
+ def user_downloads_dir() -> str:
247
+ """:returns: downloads directory tied to the user"""
248
+ return PlatformDirs().user_downloads_dir
249
+
250
+
251
+ def user_pictures_dir() -> str:
252
+ """:returns: pictures directory tied to the user"""
253
+ return PlatformDirs().user_pictures_dir
254
+
255
+
256
+ def user_videos_dir() -> str:
257
+ """:returns: videos directory tied to the user"""
258
+ return PlatformDirs().user_videos_dir
259
+
260
+
261
+ def user_music_dir() -> str:
262
+ """:returns: music directory tied to the user"""
263
+ return PlatformDirs().user_music_dir
264
+
265
+
266
+ def user_desktop_dir() -> str:
267
+ """:returns: desktop directory tied to the user"""
268
+ return PlatformDirs().user_desktop_dir
269
+
270
+
271
+ def user_runtime_dir(
272
+ appname: str | None = None,
273
+ appauthor: str | None | Literal[False] = None,
274
+ version: str | None = None,
275
+ opinion: bool = True, # noqa: FBT001, FBT002
276
+ ensure_exists: bool = False, # noqa: FBT001, FBT002
277
+ ) -> str:
278
+ """
279
+ :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
280
+ :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
281
+ :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
282
+ :param opinion: See `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
283
+ :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
284
+ :returns: runtime directory tied to the user
285
+ """
286
+ return PlatformDirs(
287
+ appname=appname,
288
+ appauthor=appauthor,
289
+ version=version,
290
+ opinion=opinion,
291
+ ensure_exists=ensure_exists,
292
+ ).user_runtime_dir
293
+
294
+
295
+ def site_runtime_dir(
296
+ appname: str | None = None,
297
+ appauthor: str | None | Literal[False] = None,
298
+ version: str | None = None,
299
+ opinion: bool = True, # noqa: FBT001, FBT002
300
+ ensure_exists: bool = False, # noqa: FBT001, FBT002
301
+ ) -> str:
302
+ """
303
+ :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
304
+ :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
305
+ :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
306
+ :param opinion: See `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
307
+ :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
308
+ :returns: runtime directory shared by users
309
+ """
310
+ return PlatformDirs(
311
+ appname=appname,
312
+ appauthor=appauthor,
313
+ version=version,
314
+ opinion=opinion,
315
+ ensure_exists=ensure_exists,
316
+ ).site_runtime_dir
317
+
318
+
319
+ def user_data_path(
320
+ appname: str | None = None,
321
+ appauthor: str | None | Literal[False] = None,
322
+ version: str | None = None,
323
+ roaming: bool = False, # noqa: FBT001, FBT002
324
+ ensure_exists: bool = False, # noqa: FBT001, FBT002
325
+ ) -> Path:
326
+ """
327
+ :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
328
+ :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
329
+ :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
330
+ :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
331
+ :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
332
+ :returns: data path tied to the user
333
+ """
334
+ return PlatformDirs(
335
+ appname=appname,
336
+ appauthor=appauthor,
337
+ version=version,
338
+ roaming=roaming,
339
+ ensure_exists=ensure_exists,
340
+ ).user_data_path
341
+
342
+
343
+ def site_data_path(
344
+ appname: str | None = None,
345
+ appauthor: str | None | Literal[False] = None,
346
+ version: str | None = None,
347
+ multipath: bool = False, # noqa: FBT001, FBT002
348
+ ensure_exists: bool = False, # noqa: FBT001, FBT002
349
+ ) -> Path:
350
+ """
351
+ :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
352
+ :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
353
+ :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
354
+ :param multipath: See `multipath <platformdirs.api.PlatformDirsABC.multipath>`.
355
+ :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
356
+ :returns: data path shared by users
357
+ """
358
+ return PlatformDirs(
359
+ appname=appname,
360
+ appauthor=appauthor,
361
+ version=version,
362
+ multipath=multipath,
363
+ ensure_exists=ensure_exists,
364
+ ).site_data_path
365
+
366
+
367
+ def user_config_path(
368
+ appname: str | None = None,
369
+ appauthor: str | None | Literal[False] = None,
370
+ version: str | None = None,
371
+ roaming: bool = False, # noqa: FBT001, FBT002
372
+ ensure_exists: bool = False, # noqa: FBT001, FBT002
373
+ ) -> Path:
374
+ """
375
+ :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
376
+ :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
377
+ :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
378
+ :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
379
+ :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
380
+ :returns: config path tied to the user
381
+ """
382
+ return PlatformDirs(
383
+ appname=appname,
384
+ appauthor=appauthor,
385
+ version=version,
386
+ roaming=roaming,
387
+ ensure_exists=ensure_exists,
388
+ ).user_config_path
389
+
390
+
391
+ def site_config_path(
392
+ appname: str | None = None,
393
+ appauthor: str | None | Literal[False] = None,
394
+ version: str | None = None,
395
+ multipath: bool = False, # noqa: FBT001, FBT002
396
+ ensure_exists: bool = False, # noqa: FBT001, FBT002
397
+ ) -> Path:
398
+ """
399
+ :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
400
+ :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
401
+ :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
402
+ :param multipath: See `roaming <platformdirs.api.PlatformDirsABC.multipath>`.
403
+ :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
404
+ :returns: config path shared by the users
405
+ """
406
+ return PlatformDirs(
407
+ appname=appname,
408
+ appauthor=appauthor,
409
+ version=version,
410
+ multipath=multipath,
411
+ ensure_exists=ensure_exists,
412
+ ).site_config_path
413
+
414
+
415
+ def site_cache_path(
416
+ appname: str | None = None,
417
+ appauthor: str | None | Literal[False] = None,
418
+ version: str | None = None,
419
+ opinion: bool = True, # noqa: FBT001, FBT002
420
+ ensure_exists: bool = False, # noqa: FBT001, FBT002
421
+ ) -> Path:
422
+ """
423
+ :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
424
+ :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
425
+ :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
426
+ :param opinion: See `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
427
+ :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
428
+ :returns: cache directory tied to the user
429
+ """
430
+ return PlatformDirs(
431
+ appname=appname,
432
+ appauthor=appauthor,
433
+ version=version,
434
+ opinion=opinion,
435
+ ensure_exists=ensure_exists,
436
+ ).site_cache_path
437
+
438
+
439
+ def user_cache_path(
440
+ appname: str | None = None,
441
+ appauthor: str | None | Literal[False] = None,
442
+ version: str | None = None,
443
+ opinion: bool = True, # noqa: FBT001, FBT002
444
+ ensure_exists: bool = False, # noqa: FBT001, FBT002
445
+ ) -> Path:
446
+ """
447
+ :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
448
+ :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
449
+ :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
450
+ :param opinion: See `roaming <platformdirs.api.PlatformDirsABC.opinion>`.
451
+ :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
452
+ :returns: cache path tied to the user
453
+ """
454
+ return PlatformDirs(
455
+ appname=appname,
456
+ appauthor=appauthor,
457
+ version=version,
458
+ opinion=opinion,
459
+ ensure_exists=ensure_exists,
460
+ ).user_cache_path
461
+
462
+
463
+ def user_state_path(
464
+ appname: str | None = None,
465
+ appauthor: str | None | Literal[False] = None,
466
+ version: str | None = None,
467
+ roaming: bool = False, # noqa: FBT001, FBT002
468
+ ensure_exists: bool = False, # noqa: FBT001, FBT002
469
+ ) -> Path:
470
+ """
471
+ :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
472
+ :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
473
+ :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
474
+ :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
475
+ :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
476
+ :returns: state path tied to the user
477
+ """
478
+ return PlatformDirs(
479
+ appname=appname,
480
+ appauthor=appauthor,
481
+ version=version,
482
+ roaming=roaming,
483
+ ensure_exists=ensure_exists,
484
+ ).user_state_path
485
+
486
+
487
+ def user_log_path(
488
+ appname: str | None = None,
489
+ appauthor: str | None | Literal[False] = None,
490
+ version: str | None = None,
491
+ opinion: bool = True, # noqa: FBT001, FBT002
492
+ ensure_exists: bool = False, # noqa: FBT001, FBT002
493
+ ) -> Path:
494
+ """
495
+ :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
496
+ :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
497
+ :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
498
+ :param opinion: See `roaming <platformdirs.api.PlatformDirsABC.opinion>`.
499
+ :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
500
+ :returns: log path tied to the user
501
+ """
502
+ return PlatformDirs(
503
+ appname=appname,
504
+ appauthor=appauthor,
505
+ version=version,
506
+ opinion=opinion,
507
+ ensure_exists=ensure_exists,
508
+ ).user_log_path
509
+
510
+
511
+ def user_documents_path() -> Path:
512
+ """:returns: documents a path tied to the user"""
513
+ return PlatformDirs().user_documents_path
514
+
515
+
516
+ def user_downloads_path() -> Path:
517
+ """:returns: downloads path tied to the user"""
518
+ return PlatformDirs().user_downloads_path
519
+
520
+
521
+ def user_pictures_path() -> Path:
522
+ """:returns: pictures path tied to the user"""
523
+ return PlatformDirs().user_pictures_path
524
+
525
+
526
+ def user_videos_path() -> Path:
527
+ """:returns: videos path tied to the user"""
528
+ return PlatformDirs().user_videos_path
529
+
530
+
531
+ def user_music_path() -> Path:
532
+ """:returns: music path tied to the user"""
533
+ return PlatformDirs().user_music_path
534
+
535
+
536
+ def user_desktop_path() -> Path:
537
+ """:returns: desktop path tied to the user"""
538
+ return PlatformDirs().user_desktop_path
539
+
540
+
541
+ def user_runtime_path(
542
+ appname: str | None = None,
543
+ appauthor: str | None | Literal[False] = None,
544
+ version: str | None = None,
545
+ opinion: bool = True, # noqa: FBT001, FBT002
546
+ ensure_exists: bool = False, # noqa: FBT001, FBT002
547
+ ) -> Path:
548
+ """
549
+ :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
550
+ :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
551
+ :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
552
+ :param opinion: See `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
553
+ :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
554
+ :returns: runtime path tied to the user
555
+ """
556
+ return PlatformDirs(
557
+ appname=appname,
558
+ appauthor=appauthor,
559
+ version=version,
560
+ opinion=opinion,
561
+ ensure_exists=ensure_exists,
562
+ ).user_runtime_path
563
+
564
+
565
+ def site_runtime_path(
566
+ appname: str | None = None,
567
+ appauthor: str | None | Literal[False] = None,
568
+ version: str | None = None,
569
+ opinion: bool = True, # noqa: FBT001, FBT002
570
+ ensure_exists: bool = False, # noqa: FBT001, FBT002
571
+ ) -> Path:
572
+ """
573
+ :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
574
+ :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
575
+ :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
576
+ :param opinion: See `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
577
+ :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
578
+ :returns: runtime path shared by users
579
+ """
580
+ return PlatformDirs(
581
+ appname=appname,
582
+ appauthor=appauthor,
583
+ version=version,
584
+ opinion=opinion,
585
+ ensure_exists=ensure_exists,
586
+ ).site_runtime_path
587
+
588
+
589
+ __all__ = [
590
+ "AppDirs",
591
+ "PlatformDirs",
592
+ "PlatformDirsABC",
593
+ "__version__",
594
+ "__version_info__",
595
+ "site_cache_dir",
596
+ "site_cache_path",
597
+ "site_config_dir",
598
+ "site_config_path",
599
+ "site_data_dir",
600
+ "site_data_path",
601
+ "site_runtime_dir",
602
+ "site_runtime_path",
603
+ "user_cache_dir",
604
+ "user_cache_path",
605
+ "user_config_dir",
606
+ "user_config_path",
607
+ "user_data_dir",
608
+ "user_data_path",
609
+ "user_desktop_dir",
610
+ "user_desktop_path",
611
+ "user_documents_dir",
612
+ "user_documents_path",
613
+ "user_downloads_dir",
614
+ "user_downloads_path",
615
+ "user_log_dir",
616
+ "user_log_path",
617
+ "user_music_dir",
618
+ "user_music_path",
619
+ "user_pictures_dir",
620
+ "user_pictures_path",
621
+ "user_runtime_dir",
622
+ "user_runtime_path",
623
+ "user_state_dir",
624
+ "user_state_path",
625
+ "user_videos_dir",
626
+ "user_videos_path",
627
+ ]
tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__main__.py ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Main entry point."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from pip._vendor.platformdirs import PlatformDirs, __version__
6
+
7
+ PROPS = (
8
+ "user_data_dir",
9
+ "user_config_dir",
10
+ "user_cache_dir",
11
+ "user_state_dir",
12
+ "user_log_dir",
13
+ "user_documents_dir",
14
+ "user_downloads_dir",
15
+ "user_pictures_dir",
16
+ "user_videos_dir",
17
+ "user_music_dir",
18
+ "user_runtime_dir",
19
+ "site_data_dir",
20
+ "site_config_dir",
21
+ "site_cache_dir",
22
+ "site_runtime_dir",
23
+ )
24
+
25
+
26
+ def main() -> None:
27
+ """Run the main entry point."""
28
+ app_name = "MyApp"
29
+ app_author = "MyCompany"
30
+
31
+ print(f"-- platformdirs {__version__} --") # noqa: T201
32
+
33
+ print("-- app dirs (with optional 'version')") # noqa: T201
34
+ dirs = PlatformDirs(app_name, app_author, version="1.0")
35
+ for prop in PROPS:
36
+ print(f"{prop}: {getattr(dirs, prop)}") # noqa: T201
37
+
38
+ print("\n-- app dirs (without optional 'version')") # noqa: T201
39
+ dirs = PlatformDirs(app_name, app_author)
40
+ for prop in PROPS:
41
+ print(f"{prop}: {getattr(dirs, prop)}") # noqa: T201
42
+
43
+ print("\n-- app dirs (without optional 'appauthor')") # noqa: T201
44
+ dirs = PlatformDirs(app_name)
45
+ for prop in PROPS:
46
+ print(f"{prop}: {getattr(dirs, prop)}") # noqa: T201
47
+
48
+ print("\n-- app dirs (with disabled 'appauthor')") # noqa: T201
49
+ dirs = PlatformDirs(app_name, appauthor=False)
50
+ for prop in PROPS:
51
+ print(f"{prop}: {getattr(dirs, prop)}") # noqa: T201
52
+
53
+
54
+ if __name__ == "__main__":
55
+ main()
tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__pycache__/__main__.cpython-311.pyc ADDED
Binary file (2.32 kB). View file
 
tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__pycache__/android.cpython-311.pyc ADDED
Binary file (11.9 kB). View file
 
tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__pycache__/api.cpython-311.pyc ADDED
Binary file (14.1 kB). View file
 
tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__pycache__/macos.cpython-311.pyc ADDED
Binary file (8.54 kB). View file
 
tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__pycache__/unix.cpython-311.pyc ADDED
Binary file (16.6 kB). View file
 
tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__pycache__/windows.cpython-311.pyc ADDED
Binary file (14.7 kB). View file
 
tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/android.py ADDED
@@ -0,0 +1,249 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Android."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import os
6
+ import re
7
+ import sys
8
+ from functools import lru_cache
9
+ from typing import TYPE_CHECKING, cast
10
+
11
+ from .api import PlatformDirsABC
12
+
13
+
14
+ class Android(PlatformDirsABC):
15
+ """
16
+ Follows the guidance `from here <https://android.stackexchange.com/a/216132>`_.
17
+
18
+ Makes use of the `appname <platformdirs.api.PlatformDirsABC.appname>`, `version
19
+ <platformdirs.api.PlatformDirsABC.version>`, `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
20
+
21
+ """
22
+
23
+ @property
24
+ def user_data_dir(self) -> str:
25
+ """:return: data directory tied to the user, e.g. ``/data/user/<userid>/<packagename>/files/<AppName>``"""
26
+ return self._append_app_name_and_version(cast(str, _android_folder()), "files")
27
+
28
+ @property
29
+ def site_data_dir(self) -> str:
30
+ """:return: data directory shared by users, same as `user_data_dir`"""
31
+ return self.user_data_dir
32
+
33
+ @property
34
+ def user_config_dir(self) -> str:
35
+ """
36
+ :return: config directory tied to the user, e.g. \
37
+ ``/data/user/<userid>/<packagename>/shared_prefs/<AppName>``
38
+ """
39
+ return self._append_app_name_and_version(cast(str, _android_folder()), "shared_prefs")
40
+
41
+ @property
42
+ def site_config_dir(self) -> str:
43
+ """:return: config directory shared by the users, same as `user_config_dir`"""
44
+ return self.user_config_dir
45
+
46
+ @property
47
+ def user_cache_dir(self) -> str:
48
+ """:return: cache directory tied to the user, e.g.,``/data/user/<userid>/<packagename>/cache/<AppName>``"""
49
+ return self._append_app_name_and_version(cast(str, _android_folder()), "cache")
50
+
51
+ @property
52
+ def site_cache_dir(self) -> str:
53
+ """:return: cache directory shared by users, same as `user_cache_dir`"""
54
+ return self.user_cache_dir
55
+
56
+ @property
57
+ def user_state_dir(self) -> str:
58
+ """:return: state directory tied to the user, same as `user_data_dir`"""
59
+ return self.user_data_dir
60
+
61
+ @property
62
+ def user_log_dir(self) -> str:
63
+ """
64
+ :return: log directory tied to the user, same as `user_cache_dir` if not opinionated else ``log`` in it,
65
+ e.g. ``/data/user/<userid>/<packagename>/cache/<AppName>/log``
66
+ """
67
+ path = self.user_cache_dir
68
+ if self.opinion:
69
+ path = os.path.join(path, "log") # noqa: PTH118
70
+ return path
71
+
72
+ @property
73
+ def user_documents_dir(self) -> str:
74
+ """:return: documents directory tied to the user e.g. ``/storage/emulated/0/Documents``"""
75
+ return _android_documents_folder()
76
+
77
+ @property
78
+ def user_downloads_dir(self) -> str:
79
+ """:return: downloads directory tied to the user e.g. ``/storage/emulated/0/Downloads``"""
80
+ return _android_downloads_folder()
81
+
82
+ @property
83
+ def user_pictures_dir(self) -> str:
84
+ """:return: pictures directory tied to the user e.g. ``/storage/emulated/0/Pictures``"""
85
+ return _android_pictures_folder()
86
+
87
+ @property
88
+ def user_videos_dir(self) -> str:
89
+ """:return: videos directory tied to the user e.g. ``/storage/emulated/0/DCIM/Camera``"""
90
+ return _android_videos_folder()
91
+
92
+ @property
93
+ def user_music_dir(self) -> str:
94
+ """:return: music directory tied to the user e.g. ``/storage/emulated/0/Music``"""
95
+ return _android_music_folder()
96
+
97
+ @property
98
+ def user_desktop_dir(self) -> str:
99
+ """:return: desktop directory tied to the user e.g. ``/storage/emulated/0/Desktop``"""
100
+ return "/storage/emulated/0/Desktop"
101
+
102
+ @property
103
+ def user_runtime_dir(self) -> str:
104
+ """
105
+ :return: runtime directory tied to the user, same as `user_cache_dir` if not opinionated else ``tmp`` in it,
106
+ e.g. ``/data/user/<userid>/<packagename>/cache/<AppName>/tmp``
107
+ """
108
+ path = self.user_cache_dir
109
+ if self.opinion:
110
+ path = os.path.join(path, "tmp") # noqa: PTH118
111
+ return path
112
+
113
+ @property
114
+ def site_runtime_dir(self) -> str:
115
+ """:return: runtime directory shared by users, same as `user_runtime_dir`"""
116
+ return self.user_runtime_dir
117
+
118
+
119
+ @lru_cache(maxsize=1)
120
+ def _android_folder() -> str | None: # noqa: C901, PLR0912
121
+ """:return: base folder for the Android OS or None if it cannot be found"""
122
+ result: str | None = None
123
+ # type checker isn't happy with our "import android", just don't do this when type checking see
124
+ # https://stackoverflow.com/a/61394121
125
+ if not TYPE_CHECKING:
126
+ try:
127
+ # First try to get a path to android app using python4android (if available)...
128
+ from android import mActivity # noqa: PLC0415
129
+
130
+ context = cast("android.content.Context", mActivity.getApplicationContext()) # noqa: F821
131
+ result = context.getFilesDir().getParentFile().getAbsolutePath()
132
+ except Exception: # noqa: BLE001
133
+ result = None
134
+ if result is None:
135
+ try:
136
+ # ...and fall back to using plain pyjnius, if python4android isn't available or doesn't deliver any useful
137
+ # result...
138
+ from jnius import autoclass # noqa: PLC0415
139
+
140
+ context = autoclass("android.content.Context")
141
+ result = context.getFilesDir().getParentFile().getAbsolutePath()
142
+ except Exception: # noqa: BLE001
143
+ result = None
144
+ if result is None:
145
+ # and if that fails, too, find an android folder looking at path on the sys.path
146
+ # warning: only works for apps installed under /data, not adopted storage etc.
147
+ pattern = re.compile(r"/data/(data|user/\d+)/(.+)/files")
148
+ for path in sys.path:
149
+ if pattern.match(path):
150
+ result = path.split("/files")[0]
151
+ break
152
+ else:
153
+ result = None
154
+ if result is None:
155
+ # one last try: find an android folder looking at path on the sys.path taking adopted storage paths into
156
+ # account
157
+ pattern = re.compile(r"/mnt/expand/[a-fA-F0-9-]{36}/(data|user/\d+)/(.+)/files")
158
+ for path in sys.path:
159
+ if pattern.match(path):
160
+ result = path.split("/files")[0]
161
+ break
162
+ else:
163
+ result = None
164
+ return result
165
+
166
+
167
+ @lru_cache(maxsize=1)
168
+ def _android_documents_folder() -> str:
169
+ """:return: documents folder for the Android OS"""
170
+ # Get directories with pyjnius
171
+ try:
172
+ from jnius import autoclass # noqa: PLC0415
173
+
174
+ context = autoclass("android.content.Context")
175
+ environment = autoclass("android.os.Environment")
176
+ documents_dir: str = context.getExternalFilesDir(environment.DIRECTORY_DOCUMENTS).getAbsolutePath()
177
+ except Exception: # noqa: BLE001
178
+ documents_dir = "/storage/emulated/0/Documents"
179
+
180
+ return documents_dir
181
+
182
+
183
+ @lru_cache(maxsize=1)
184
+ def _android_downloads_folder() -> str:
185
+ """:return: downloads folder for the Android OS"""
186
+ # Get directories with pyjnius
187
+ try:
188
+ from jnius import autoclass # noqa: PLC0415
189
+
190
+ context = autoclass("android.content.Context")
191
+ environment = autoclass("android.os.Environment")
192
+ downloads_dir: str = context.getExternalFilesDir(environment.DIRECTORY_DOWNLOADS).getAbsolutePath()
193
+ except Exception: # noqa: BLE001
194
+ downloads_dir = "/storage/emulated/0/Downloads"
195
+
196
+ return downloads_dir
197
+
198
+
199
+ @lru_cache(maxsize=1)
200
+ def _android_pictures_folder() -> str:
201
+ """:return: pictures folder for the Android OS"""
202
+ # Get directories with pyjnius
203
+ try:
204
+ from jnius import autoclass # noqa: PLC0415
205
+
206
+ context = autoclass("android.content.Context")
207
+ environment = autoclass("android.os.Environment")
208
+ pictures_dir: str = context.getExternalFilesDir(environment.DIRECTORY_PICTURES).getAbsolutePath()
209
+ except Exception: # noqa: BLE001
210
+ pictures_dir = "/storage/emulated/0/Pictures"
211
+
212
+ return pictures_dir
213
+
214
+
215
+ @lru_cache(maxsize=1)
216
+ def _android_videos_folder() -> str:
217
+ """:return: videos folder for the Android OS"""
218
+ # Get directories with pyjnius
219
+ try:
220
+ from jnius import autoclass # noqa: PLC0415
221
+
222
+ context = autoclass("android.content.Context")
223
+ environment = autoclass("android.os.Environment")
224
+ videos_dir: str = context.getExternalFilesDir(environment.DIRECTORY_DCIM).getAbsolutePath()
225
+ except Exception: # noqa: BLE001
226
+ videos_dir = "/storage/emulated/0/DCIM/Camera"
227
+
228
+ return videos_dir
229
+
230
+
231
+ @lru_cache(maxsize=1)
232
+ def _android_music_folder() -> str:
233
+ """:return: music folder for the Android OS"""
234
+ # Get directories with pyjnius
235
+ try:
236
+ from jnius import autoclass # noqa: PLC0415
237
+
238
+ context = autoclass("android.content.Context")
239
+ environment = autoclass("android.os.Environment")
240
+ music_dir: str = context.getExternalFilesDir(environment.DIRECTORY_MUSIC).getAbsolutePath()
241
+ except Exception: # noqa: BLE001
242
+ music_dir = "/storage/emulated/0/Music"
243
+
244
+ return music_dir
245
+
246
+
247
+ __all__ = [
248
+ "Android",
249
+ ]
tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/api.py ADDED
@@ -0,0 +1,292 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Base API."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import os
6
+ from abc import ABC, abstractmethod
7
+ from pathlib import Path
8
+ from typing import TYPE_CHECKING
9
+
10
+ if TYPE_CHECKING:
11
+ from typing import Iterator, Literal
12
+
13
+
14
+ class PlatformDirsABC(ABC): # noqa: PLR0904
15
+ """Abstract base class for platform directories."""
16
+
17
+ def __init__( # noqa: PLR0913, PLR0917
18
+ self,
19
+ appname: str | None = None,
20
+ appauthor: str | None | Literal[False] = None,
21
+ version: str | None = None,
22
+ roaming: bool = False, # noqa: FBT001, FBT002
23
+ multipath: bool = False, # noqa: FBT001, FBT002
24
+ opinion: bool = True, # noqa: FBT001, FBT002
25
+ ensure_exists: bool = False, # noqa: FBT001, FBT002
26
+ ) -> None:
27
+ """
28
+ Create a new platform directory.
29
+
30
+ :param appname: See `appname`.
31
+ :param appauthor: See `appauthor`.
32
+ :param version: See `version`.
33
+ :param roaming: See `roaming`.
34
+ :param multipath: See `multipath`.
35
+ :param opinion: See `opinion`.
36
+ :param ensure_exists: See `ensure_exists`.
37
+
38
+ """
39
+ self.appname = appname #: The name of application.
40
+ self.appauthor = appauthor
41
+ """
42
+ The name of the app author or distributing body for this application.
43
+
44
+ Typically, it is the owning company name. Defaults to `appname`. You may pass ``False`` to disable it.
45
+
46
+ """
47
+ self.version = version
48
+ """
49
+ An optional version path element to append to the path.
50
+
51
+ You might want to use this if you want multiple versions of your app to be able to run independently. If used,
52
+ this would typically be ``<major>.<minor>``.
53
+
54
+ """
55
+ self.roaming = roaming
56
+ """
57
+ Whether to use the roaming appdata directory on Windows.
58
+
59
+ That means that for users on a Windows network setup for roaming profiles, this user data will be synced on
60
+ login (see
61
+ `here <https://technet.microsoft.com/en-us/library/cc766489(WS.10).aspx>`_).
62
+
63
+ """
64
+ self.multipath = multipath
65
+ """
66
+ An optional parameter which indicates that the entire list of data dirs should be returned.
67
+
68
+ By default, the first item would only be returned.
69
+
70
+ """
71
+ self.opinion = opinion #: A flag to indicating to use opinionated values.
72
+ self.ensure_exists = ensure_exists
73
+ """
74
+ Optionally create the directory (and any missing parents) upon access if it does not exist.
75
+
76
+ By default, no directories are created.
77
+
78
+ """
79
+
80
+ def _append_app_name_and_version(self, *base: str) -> str:
81
+ params = list(base[1:])
82
+ if self.appname:
83
+ params.append(self.appname)
84
+ if self.version:
85
+ params.append(self.version)
86
+ path = os.path.join(base[0], *params) # noqa: PTH118
87
+ self._optionally_create_directory(path)
88
+ return path
89
+
90
+ def _optionally_create_directory(self, path: str) -> None:
91
+ if self.ensure_exists:
92
+ Path(path).mkdir(parents=True, exist_ok=True)
93
+
94
+ @property
95
+ @abstractmethod
96
+ def user_data_dir(self) -> str:
97
+ """:return: data directory tied to the user"""
98
+
99
+ @property
100
+ @abstractmethod
101
+ def site_data_dir(self) -> str:
102
+ """:return: data directory shared by users"""
103
+
104
+ @property
105
+ @abstractmethod
106
+ def user_config_dir(self) -> str:
107
+ """:return: config directory tied to the user"""
108
+
109
+ @property
110
+ @abstractmethod
111
+ def site_config_dir(self) -> str:
112
+ """:return: config directory shared by the users"""
113
+
114
+ @property
115
+ @abstractmethod
116
+ def user_cache_dir(self) -> str:
117
+ """:return: cache directory tied to the user"""
118
+
119
+ @property
120
+ @abstractmethod
121
+ def site_cache_dir(self) -> str:
122
+ """:return: cache directory shared by users"""
123
+
124
+ @property
125
+ @abstractmethod
126
+ def user_state_dir(self) -> str:
127
+ """:return: state directory tied to the user"""
128
+
129
+ @property
130
+ @abstractmethod
131
+ def user_log_dir(self) -> str:
132
+ """:return: log directory tied to the user"""
133
+
134
+ @property
135
+ @abstractmethod
136
+ def user_documents_dir(self) -> str:
137
+ """:return: documents directory tied to the user"""
138
+
139
+ @property
140
+ @abstractmethod
141
+ def user_downloads_dir(self) -> str:
142
+ """:return: downloads directory tied to the user"""
143
+
144
+ @property
145
+ @abstractmethod
146
+ def user_pictures_dir(self) -> str:
147
+ """:return: pictures directory tied to the user"""
148
+
149
+ @property
150
+ @abstractmethod
151
+ def user_videos_dir(self) -> str:
152
+ """:return: videos directory tied to the user"""
153
+
154
+ @property
155
+ @abstractmethod
156
+ def user_music_dir(self) -> str:
157
+ """:return: music directory tied to the user"""
158
+
159
+ @property
160
+ @abstractmethod
161
+ def user_desktop_dir(self) -> str:
162
+ """:return: desktop directory tied to the user"""
163
+
164
+ @property
165
+ @abstractmethod
166
+ def user_runtime_dir(self) -> str:
167
+ """:return: runtime directory tied to the user"""
168
+
169
+ @property
170
+ @abstractmethod
171
+ def site_runtime_dir(self) -> str:
172
+ """:return: runtime directory shared by users"""
173
+
174
+ @property
175
+ def user_data_path(self) -> Path:
176
+ """:return: data path tied to the user"""
177
+ return Path(self.user_data_dir)
178
+
179
+ @property
180
+ def site_data_path(self) -> Path:
181
+ """:return: data path shared by users"""
182
+ return Path(self.site_data_dir)
183
+
184
+ @property
185
+ def user_config_path(self) -> Path:
186
+ """:return: config path tied to the user"""
187
+ return Path(self.user_config_dir)
188
+
189
+ @property
190
+ def site_config_path(self) -> Path:
191
+ """:return: config path shared by the users"""
192
+ return Path(self.site_config_dir)
193
+
194
+ @property
195
+ def user_cache_path(self) -> Path:
196
+ """:return: cache path tied to the user"""
197
+ return Path(self.user_cache_dir)
198
+
199
+ @property
200
+ def site_cache_path(self) -> Path:
201
+ """:return: cache path shared by users"""
202
+ return Path(self.site_cache_dir)
203
+
204
+ @property
205
+ def user_state_path(self) -> Path:
206
+ """:return: state path tied to the user"""
207
+ return Path(self.user_state_dir)
208
+
209
+ @property
210
+ def user_log_path(self) -> Path:
211
+ """:return: log path tied to the user"""
212
+ return Path(self.user_log_dir)
213
+
214
+ @property
215
+ def user_documents_path(self) -> Path:
216
+ """:return: documents a path tied to the user"""
217
+ return Path(self.user_documents_dir)
218
+
219
+ @property
220
+ def user_downloads_path(self) -> Path:
221
+ """:return: downloads path tied to the user"""
222
+ return Path(self.user_downloads_dir)
223
+
224
+ @property
225
+ def user_pictures_path(self) -> Path:
226
+ """:return: pictures path tied to the user"""
227
+ return Path(self.user_pictures_dir)
228
+
229
+ @property
230
+ def user_videos_path(self) -> Path:
231
+ """:return: videos path tied to the user"""
232
+ return Path(self.user_videos_dir)
233
+
234
+ @property
235
+ def user_music_path(self) -> Path:
236
+ """:return: music path tied to the user"""
237
+ return Path(self.user_music_dir)
238
+
239
+ @property
240
+ def user_desktop_path(self) -> Path:
241
+ """:return: desktop path tied to the user"""
242
+ return Path(self.user_desktop_dir)
243
+
244
+ @property
245
+ def user_runtime_path(self) -> Path:
246
+ """:return: runtime path tied to the user"""
247
+ return Path(self.user_runtime_dir)
248
+
249
+ @property
250
+ def site_runtime_path(self) -> Path:
251
+ """:return: runtime path shared by users"""
252
+ return Path(self.site_runtime_dir)
253
+
254
+ def iter_config_dirs(self) -> Iterator[str]:
255
+ """:yield: all user and site configuration directories."""
256
+ yield self.user_config_dir
257
+ yield self.site_config_dir
258
+
259
+ def iter_data_dirs(self) -> Iterator[str]:
260
+ """:yield: all user and site data directories."""
261
+ yield self.user_data_dir
262
+ yield self.site_data_dir
263
+
264
+ def iter_cache_dirs(self) -> Iterator[str]:
265
+ """:yield: all user and site cache directories."""
266
+ yield self.user_cache_dir
267
+ yield self.site_cache_dir
268
+
269
+ def iter_runtime_dirs(self) -> Iterator[str]:
270
+ """:yield: all user and site runtime directories."""
271
+ yield self.user_runtime_dir
272
+ yield self.site_runtime_dir
273
+
274
+ def iter_config_paths(self) -> Iterator[Path]:
275
+ """:yield: all user and site configuration paths."""
276
+ for path in self.iter_config_dirs():
277
+ yield Path(path)
278
+
279
+ def iter_data_paths(self) -> Iterator[Path]:
280
+ """:yield: all user and site data paths."""
281
+ for path in self.iter_data_dirs():
282
+ yield Path(path)
283
+
284
+ def iter_cache_paths(self) -> Iterator[Path]:
285
+ """:yield: all user and site cache paths."""
286
+ for path in self.iter_cache_dirs():
287
+ yield Path(path)
288
+
289
+ def iter_runtime_paths(self) -> Iterator[Path]:
290
+ """:yield: all user and site runtime paths."""
291
+ for path in self.iter_runtime_dirs():
292
+ yield Path(path)
tuning-competition-baseline/.venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/macos.py ADDED
@@ -0,0 +1,130 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """macOS."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import os.path
6
+ import sys
7
+
8
+ from .api import PlatformDirsABC
9
+
10
+
11
+ class MacOS(PlatformDirsABC):
12
+ """
13
+ Platform directories for the macOS operating system.
14
+
15
+ Follows the guidance from
16
+ `Apple documentation <https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/MacOSXDirectories/MacOSXDirectories.html>`_.
17
+ Makes use of the `appname <platformdirs.api.PlatformDirsABC.appname>`,
18
+ `version <platformdirs.api.PlatformDirsABC.version>`,
19
+ `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
20
+
21
+ """
22
+
23
+ @property
24
+ def user_data_dir(self) -> str:
25
+ """:return: data directory tied to the user, e.g. ``~/Library/Application Support/$appname/$version``"""
26
+ return self._append_app_name_and_version(os.path.expanduser("~/Library/Application Support")) # noqa: PTH111
27
+
28
+ @property
29
+ def site_data_dir(self) -> str:
30
+ """
31
+ :return: data directory shared by users, e.g. ``/Library/Application Support/$appname/$version``.
32
+ If we're using a Python binary managed by `Homebrew <https://brew.sh>`_, the directory
33
+ will be under the Homebrew prefix, e.g. ``/opt/homebrew/share/$appname/$version``.
34
+ If `multipath <platformdirs.api.PlatformDirsABC.multipath>` is enabled, and we're in Homebrew,
35
+ the response is a multi-path string separated by ":", e.g.
36
+ ``/opt/homebrew/share/$appname/$version:/Library/Application Support/$appname/$version``
37
+ """
38
+ is_homebrew = sys.prefix.startswith("/opt/homebrew")
39
+ path_list = [self._append_app_name_and_version("/opt/homebrew/share")] if is_homebrew else []
40
+ path_list.append(self._append_app_name_and_version("/Library/Application Support"))
41
+ if self.multipath:
42
+ return os.pathsep.join(path_list)
43
+ return path_list[0]
44
+
45
+ @property
46
+ def user_config_dir(self) -> str:
47
+ """:return: config directory tied to the user, same as `user_data_dir`"""
48
+ return self.user_data_dir
49
+
50
+ @property
51
+ def site_config_dir(self) -> str:
52
+ """:return: config directory shared by the users, same as `site_data_dir`"""
53
+ return self.site_data_dir
54
+
55
+ @property
56
+ def user_cache_dir(self) -> str:
57
+ """:return: cache directory tied to the user, e.g. ``~/Library/Caches/$appname/$version``"""
58
+ return self._append_app_name_and_version(os.path.expanduser("~/Library/Caches")) # noqa: PTH111
59
+
60
+ @property
61
+ def site_cache_dir(self) -> str:
62
+ """
63
+ :return: cache directory shared by users, e.g. ``/Library/Caches/$appname/$version``.
64
+ If we're using a Python binary managed by `Homebrew <https://brew.sh>`_, the directory
65
+ will be under the Homebrew prefix, e.g. ``/opt/homebrew/var/cache/$appname/$version``.
66
+ If `multipath <platformdirs.api.PlatformDirsABC.multipath>` is enabled, and we're in Homebrew,
67
+ the response is a multi-path string separated by ":", e.g.
68
+ ``/opt/homebrew/var/cache/$appname/$version:/Library/Caches/$appname/$version``
69
+ """
70
+ is_homebrew = sys.prefix.startswith("/opt/homebrew")
71
+ path_list = [self._append_app_name_and_version("/opt/homebrew/var/cache")] if is_homebrew else []
72
+ path_list.append(self._append_app_name_and_version("/Library/Caches"))
73
+ if self.multipath:
74
+ return os.pathsep.join(path_list)
75
+ return path_list[0]
76
+
77
+ @property
78
+ def user_state_dir(self) -> str:
79
+ """:return: state directory tied to the user, same as `user_data_dir`"""
80
+ return self.user_data_dir
81
+
82
+ @property
83
+ def user_log_dir(self) -> str:
84
+ """:return: log directory tied to the user, e.g. ``~/Library/Logs/$appname/$version``"""
85
+ return self._append_app_name_and_version(os.path.expanduser("~/Library/Logs")) # noqa: PTH111
86
+
87
+ @property
88
+ def user_documents_dir(self) -> str:
89
+ """:return: documents directory tied to the user, e.g. ``~/Documents``"""
90
+ return os.path.expanduser("~/Documents") # noqa: PTH111
91
+
92
+ @property
93
+ def user_downloads_dir(self) -> str:
94
+ """:return: downloads directory tied to the user, e.g. ``~/Downloads``"""
95
+ return os.path.expanduser("~/Downloads") # noqa: PTH111
96
+
97
+ @property
98
+ def user_pictures_dir(self) -> str:
99
+ """:return: pictures directory tied to the user, e.g. ``~/Pictures``"""
100
+ return os.path.expanduser("~/Pictures") # noqa: PTH111
101
+
102
+ @property
103
+ def user_videos_dir(self) -> str:
104
+ """:return: videos directory tied to the user, e.g. ``~/Movies``"""
105
+ return os.path.expanduser("~/Movies") # noqa: PTH111
106
+
107
+ @property
108
+ def user_music_dir(self) -> str:
109
+ """:return: music directory tied to the user, e.g. ``~/Music``"""
110
+ return os.path.expanduser("~/Music") # noqa: PTH111
111
+
112
+ @property
113
+ def user_desktop_dir(self) -> str:
114
+ """:return: desktop directory tied to the user, e.g. ``~/Desktop``"""
115
+ return os.path.expanduser("~/Desktop") # noqa: PTH111
116
+
117
+ @property
118
+ def user_runtime_dir(self) -> str:
119
+ """:return: runtime directory tied to the user, e.g. ``~/Library/Caches/TemporaryItems/$appname/$version``"""
120
+ return self._append_app_name_and_version(os.path.expanduser("~/Library/Caches/TemporaryItems")) # noqa: PTH111
121
+
122
+ @property
123
+ def site_runtime_dir(self) -> str:
124
+ """:return: runtime directory shared by users, same as `user_runtime_dir`"""
125
+ return self.user_runtime_dir
126
+
127
+
128
+ __all__ = [
129
+ "MacOS",
130
+ ]