absfuyu 5.0.1__py3-none-any.whl → 5.2.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of absfuyu might be problematic. Click here for more details.
- absfuyu/__init__.py +1 -1
- absfuyu/__main__.py +3 -3
- absfuyu/cli/__init__.py +2 -2
- absfuyu/cli/color.py +30 -14
- absfuyu/cli/config_group.py +9 -2
- absfuyu/cli/do_group.py +13 -6
- absfuyu/cli/game_group.py +9 -2
- absfuyu/cli/tool_group.py +15 -9
- absfuyu/config/__init__.py +2 -2
- absfuyu/core/__init__.py +2 -2
- absfuyu/core/baseclass.py +448 -79
- absfuyu/core/baseclass2.py +2 -2
- absfuyu/core/decorator.py +70 -4
- absfuyu/core/docstring.py +43 -25
- absfuyu/core/dummy_cli.py +2 -2
- absfuyu/core/dummy_func.py +15 -4
- absfuyu/dxt/__init__.py +2 -2
- absfuyu/dxt/dictext.py +5 -2
- absfuyu/dxt/dxt_support.py +2 -2
- absfuyu/dxt/intext.py +34 -3
- absfuyu/dxt/listext.py +300 -113
- absfuyu/dxt/strext.py +75 -15
- absfuyu/extra/__init__.py +2 -2
- absfuyu/extra/beautiful.py +2 -2
- absfuyu/extra/da/__init__.py +36 -0
- absfuyu/extra/da/dadf.py +1177 -0
- absfuyu/extra/da/dadf_base.py +186 -0
- absfuyu/extra/da/df_func.py +97 -0
- absfuyu/extra/da/mplt.py +219 -0
- absfuyu/extra/data_analysis.py +10 -1067
- absfuyu/fun/__init__.py +2 -2
- absfuyu/fun/tarot.py +2 -2
- absfuyu/game/__init__.py +2 -2
- absfuyu/game/game_stat.py +2 -2
- absfuyu/game/sudoku.py +2 -2
- absfuyu/game/tictactoe.py +2 -3
- absfuyu/game/wordle.py +2 -2
- absfuyu/general/__init__.py +2 -2
- absfuyu/general/content.py +2 -2
- absfuyu/general/human.py +2 -2
- absfuyu/general/shape.py +2 -2
- absfuyu/logger.py +2 -2
- absfuyu/pkg_data/__init__.py +2 -2
- absfuyu/pkg_data/deprecated.py +2 -2
- absfuyu/sort.py +2 -2
- absfuyu/tools/__init__.py +28 -2
- absfuyu/tools/checksum.py +27 -7
- absfuyu/tools/converter.py +120 -34
- absfuyu/tools/generator.py +251 -110
- absfuyu/tools/inspector.py +463 -0
- absfuyu/tools/keygen.py +2 -2
- absfuyu/tools/obfuscator.py +45 -7
- absfuyu/tools/passwordlib.py +88 -24
- absfuyu/tools/shutdownizer.py +2 -2
- absfuyu/tools/web.py +2 -2
- absfuyu/typings.py +136 -0
- absfuyu/util/__init__.py +18 -4
- absfuyu/util/api.py +36 -16
- absfuyu/util/json_method.py +43 -14
- absfuyu/util/lunar.py +2 -2
- absfuyu/util/path.py +190 -82
- absfuyu/util/performance.py +122 -7
- absfuyu/util/shorten_number.py +40 -10
- absfuyu/util/text_table.py +306 -0
- absfuyu/util/zipped.py +8 -7
- absfuyu/version.py +2 -2
- {absfuyu-5.0.1.dist-info → absfuyu-5.2.0.dist-info}/METADATA +9 -2
- absfuyu-5.2.0.dist-info/RECORD +76 -0
- absfuyu-5.0.1.dist-info/RECORD +0 -68
- {absfuyu-5.0.1.dist-info → absfuyu-5.2.0.dist-info}/WHEEL +0 -0
- {absfuyu-5.0.1.dist-info → absfuyu-5.2.0.dist-info}/entry_points.txt +0 -0
- {absfuyu-5.0.1.dist-info → absfuyu-5.2.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Absufyu: Utilities
|
|
3
|
+
------------------
|
|
4
|
+
Text table
|
|
5
|
+
|
|
6
|
+
Version: 5.2.0
|
|
7
|
+
Date updated: 13/03/2025 (dd/mm/yyyy)
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
# Module level
|
|
11
|
+
# ---------------------------------------------------------------------------
|
|
12
|
+
__all__ = ["OneColumnTableMaker"]
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
# Library
|
|
16
|
+
# ---------------------------------------------------------------------------
|
|
17
|
+
import os
|
|
18
|
+
from collections.abc import Sequence
|
|
19
|
+
from enum import StrEnum
|
|
20
|
+
from textwrap import TextWrapper
|
|
21
|
+
from typing import Literal, Protocol, cast
|
|
22
|
+
|
|
23
|
+
from absfuyu.core import BaseClass
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
# Style
|
|
27
|
+
# ---------------------------------------------------------------------------
|
|
28
|
+
class BoxDrawingCharacter(Protocol):
|
|
29
|
+
UPPER_LEFT_CORNER: str = ""
|
|
30
|
+
UPPER_RIGHT_CORNER: str = ""
|
|
31
|
+
HORIZONTAL: str = ""
|
|
32
|
+
VERTICAL: str = ""
|
|
33
|
+
LOWER_LEFT_CORNER: str = ""
|
|
34
|
+
LOWER_RIGHT_CORNER: str = ""
|
|
35
|
+
VERTICAL_RIGHT: str = ""
|
|
36
|
+
VERTICAL_LEFT: str = ""
|
|
37
|
+
CROSS: str = ""
|
|
38
|
+
HORIZONTAL_UP: str = ""
|
|
39
|
+
HORIZONTAL_DOWN: str = ""
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
class BoxDrawingCharacterNormal(StrEnum):
|
|
43
|
+
"""
|
|
44
|
+
Box drawing characters - Normal
|
|
45
|
+
|
|
46
|
+
Characters reference: https://en.wikipedia.org/wiki/Box-drawing_characters
|
|
47
|
+
"""
|
|
48
|
+
|
|
49
|
+
UPPER_LEFT_CORNER = "\u250c"
|
|
50
|
+
UPPER_RIGHT_CORNER = "\u2510"
|
|
51
|
+
HORIZONTAL = "\u2500"
|
|
52
|
+
VERTICAL = "\u2502"
|
|
53
|
+
LOWER_LEFT_CORNER = "\u2514"
|
|
54
|
+
LOWER_RIGHT_CORNER = "\u2518"
|
|
55
|
+
VERTICAL_RIGHT = "\u251c"
|
|
56
|
+
VERTICAL_LEFT = "\u2524"
|
|
57
|
+
CROSS = "\u253c"
|
|
58
|
+
HORIZONTAL_UP = "\u2534"
|
|
59
|
+
HORIZONTAL_DOWN = "\u252c"
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
class BoxDrawingCharacterBold(StrEnum):
|
|
63
|
+
"""
|
|
64
|
+
Box drawing characters - Bold
|
|
65
|
+
|
|
66
|
+
Characters reference: https://en.wikipedia.org/wiki/Box-drawing_characters
|
|
67
|
+
"""
|
|
68
|
+
|
|
69
|
+
UPPER_LEFT_CORNER = "\u250f"
|
|
70
|
+
UPPER_RIGHT_CORNER = "\u2513"
|
|
71
|
+
HORIZONTAL = "\u2501"
|
|
72
|
+
VERTICAL = "\u2503"
|
|
73
|
+
LOWER_LEFT_CORNER = "\u2517"
|
|
74
|
+
LOWER_RIGHT_CORNER = "\u251b"
|
|
75
|
+
VERTICAL_RIGHT = "\u2523"
|
|
76
|
+
VERTICAL_LEFT = "\u252b"
|
|
77
|
+
CROSS = "\u254b"
|
|
78
|
+
HORIZONTAL_UP = "\u253b"
|
|
79
|
+
HORIZONTAL_DOWN = "\u2533"
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
class BoxDrawingCharacterDashed(StrEnum):
|
|
83
|
+
"""
|
|
84
|
+
Box drawing characters - Dashed
|
|
85
|
+
|
|
86
|
+
Characters reference: https://en.wikipedia.org/wiki/Box-drawing_characters
|
|
87
|
+
"""
|
|
88
|
+
|
|
89
|
+
UPPER_LEFT_CORNER = "\u250c"
|
|
90
|
+
UPPER_RIGHT_CORNER = "\u2510"
|
|
91
|
+
HORIZONTAL = "\u254c"
|
|
92
|
+
VERTICAL = "\u254e"
|
|
93
|
+
LOWER_LEFT_CORNER = "\u2514"
|
|
94
|
+
LOWER_RIGHT_CORNER = "\u2518"
|
|
95
|
+
VERTICAL_RIGHT = "\u251c"
|
|
96
|
+
VERTICAL_LEFT = "\u2524"
|
|
97
|
+
CROSS = "\u253c"
|
|
98
|
+
HORIZONTAL_UP = "\u2534"
|
|
99
|
+
HORIZONTAL_DOWN = "\u252c"
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
class BoxDrawingCharacterDouble(StrEnum):
|
|
103
|
+
"""
|
|
104
|
+
Box drawing characters - Double
|
|
105
|
+
|
|
106
|
+
Characters reference: https://en.wikipedia.org/wiki/Box-drawing_characters
|
|
107
|
+
"""
|
|
108
|
+
|
|
109
|
+
UPPER_LEFT_CORNER = "\u2554"
|
|
110
|
+
UPPER_RIGHT_CORNER = "\u2557"
|
|
111
|
+
HORIZONTAL = "\u2550"
|
|
112
|
+
VERTICAL = "\u2551"
|
|
113
|
+
LOWER_LEFT_CORNER = "\u255a"
|
|
114
|
+
LOWER_RIGHT_CORNER = "\u255d"
|
|
115
|
+
VERTICAL_RIGHT = "\u2560"
|
|
116
|
+
VERTICAL_LEFT = "\u2563"
|
|
117
|
+
CROSS = "\u256c"
|
|
118
|
+
HORIZONTAL_UP = "\u2569"
|
|
119
|
+
HORIZONTAL_DOWN = "\u2566"
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
def get_box_drawing_character(
|
|
123
|
+
style: Literal["normal", "bold", "dashed", "double"] = "normal",
|
|
124
|
+
) -> BoxDrawingCharacter:
|
|
125
|
+
"""
|
|
126
|
+
Choose style for Box drawing characters.
|
|
127
|
+
|
|
128
|
+
Parameters
|
|
129
|
+
----------
|
|
130
|
+
style : Literal["normal", "bold", "dashed", "double"], optional
|
|
131
|
+
Style for the table, by default ``"normal"``
|
|
132
|
+
|
|
133
|
+
Returns
|
|
134
|
+
-------
|
|
135
|
+
BoxDrawingCharacter
|
|
136
|
+
Box drawing characters in specified style.
|
|
137
|
+
"""
|
|
138
|
+
|
|
139
|
+
if style.lower() == "normal":
|
|
140
|
+
return cast(BoxDrawingCharacter, BoxDrawingCharacterNormal)
|
|
141
|
+
elif style.lower() == "bold":
|
|
142
|
+
return cast(BoxDrawingCharacter, BoxDrawingCharacterBold)
|
|
143
|
+
elif style.lower() == "dashed":
|
|
144
|
+
return cast(BoxDrawingCharacter, BoxDrawingCharacterDashed)
|
|
145
|
+
elif style.lower() == "double":
|
|
146
|
+
return cast(BoxDrawingCharacter, BoxDrawingCharacterDouble)
|
|
147
|
+
else:
|
|
148
|
+
return cast(BoxDrawingCharacter, BoxDrawingCharacterNormal)
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
# Class
|
|
152
|
+
# ---------------------------------------------------------------------------
|
|
153
|
+
class OneColumnTableMaker(BaseClass):
|
|
154
|
+
"""
|
|
155
|
+
Table Maker instance
|
|
156
|
+
|
|
157
|
+
Parameters
|
|
158
|
+
----------
|
|
159
|
+
ncols : int | None, optional
|
|
160
|
+
Length of the table (include content). Must be >= 5.
|
|
161
|
+
Set to ``None`` to use maximum length,
|
|
162
|
+
defaults to ``88`` when failed to use ``os.get_terminal_size()``.
|
|
163
|
+
By default ``None``
|
|
164
|
+
|
|
165
|
+
style : Literal["normal", "bold", "dashed", "double"], optional
|
|
166
|
+
Style for the table, by default ``"normal"``
|
|
167
|
+
"""
|
|
168
|
+
|
|
169
|
+
__slots__ = ("ncols", "_title", "_paragraphs", "_table_char", "_text_wrapper")
|
|
170
|
+
|
|
171
|
+
def __init__(
|
|
172
|
+
self,
|
|
173
|
+
ncols: int | None = None,
|
|
174
|
+
style: Literal["normal", "bold", "dashed", "double"] = "normal",
|
|
175
|
+
) -> None:
|
|
176
|
+
"""
|
|
177
|
+
Table Maker instance
|
|
178
|
+
|
|
179
|
+
Parameters
|
|
180
|
+
----------
|
|
181
|
+
ncols : int | None, optional
|
|
182
|
+
Length of the table (include content). Must be >= 5.
|
|
183
|
+
Set to ``None`` to use maximum length,
|
|
184
|
+
defaults to ``88`` when failed to use ``os.get_terminal_size()``.
|
|
185
|
+
By default ``None``
|
|
186
|
+
|
|
187
|
+
style : Literal["normal", "bold", "dashed", "double"], optional
|
|
188
|
+
Style for the table, by default ``"normal"``
|
|
189
|
+
"""
|
|
190
|
+
|
|
191
|
+
# Text length
|
|
192
|
+
if ncols is None:
|
|
193
|
+
try:
|
|
194
|
+
self.ncols = os.get_terminal_size().columns
|
|
195
|
+
except OSError:
|
|
196
|
+
self.ncols = 88
|
|
197
|
+
else:
|
|
198
|
+
self.ncols = max(5, ncols)
|
|
199
|
+
|
|
200
|
+
# Title & paragraph
|
|
201
|
+
self._title = ""
|
|
202
|
+
self._paragraphs: list[Sequence[str]] = []
|
|
203
|
+
|
|
204
|
+
# Style
|
|
205
|
+
self._table_char = get_box_drawing_character(style=style)
|
|
206
|
+
|
|
207
|
+
# Text wrapper
|
|
208
|
+
self._text_wrapper = TextWrapper(
|
|
209
|
+
width=self.ncols - 4,
|
|
210
|
+
initial_indent="",
|
|
211
|
+
subsequent_indent="",
|
|
212
|
+
tabsize=4,
|
|
213
|
+
break_long_words=True,
|
|
214
|
+
)
|
|
215
|
+
|
|
216
|
+
def add_title(self, title: str) -> None:
|
|
217
|
+
"""
|
|
218
|
+
Add title to Table
|
|
219
|
+
|
|
220
|
+
Parameters
|
|
221
|
+
----------
|
|
222
|
+
title : str
|
|
223
|
+
Title to add.
|
|
224
|
+
When ``len(title) > ncols``: title will not show
|
|
225
|
+
"""
|
|
226
|
+
max_padding_length = self.ncols - 2
|
|
227
|
+
if max_padding_length < (len(title) + 2) or len(title) < 1:
|
|
228
|
+
_title = ""
|
|
229
|
+
else:
|
|
230
|
+
_title = f" {title} "
|
|
231
|
+
|
|
232
|
+
line = (
|
|
233
|
+
f"{self._table_char.UPPER_LEFT_CORNER}"
|
|
234
|
+
f"{_title.center(max_padding_length, self._table_char.HORIZONTAL)}"
|
|
235
|
+
f"{self._table_char.UPPER_RIGHT_CORNER}"
|
|
236
|
+
)
|
|
237
|
+
self._title = line
|
|
238
|
+
|
|
239
|
+
def add_paragraph(self, paragraph: Sequence[str]) -> None:
|
|
240
|
+
"""
|
|
241
|
+
Add paragraph into Table
|
|
242
|
+
|
|
243
|
+
Parameters
|
|
244
|
+
----------
|
|
245
|
+
paragraph : Sequence[str]
|
|
246
|
+
An iterable of str
|
|
247
|
+
"""
|
|
248
|
+
if isinstance(paragraph, str):
|
|
249
|
+
self._paragraphs.append([paragraph])
|
|
250
|
+
else:
|
|
251
|
+
self._paragraphs.append(paragraph)
|
|
252
|
+
|
|
253
|
+
def _make_line(self, option: Literal[0, 1, 2]) -> str:
|
|
254
|
+
options = (
|
|
255
|
+
(self._table_char.UPPER_LEFT_CORNER, self._table_char.UPPER_RIGHT_CORNER),
|
|
256
|
+
(self._table_char.VERTICAL_RIGHT, self._table_char.VERTICAL_LEFT),
|
|
257
|
+
(self._table_char.LOWER_LEFT_CORNER, self._table_char.LOWER_RIGHT_CORNER),
|
|
258
|
+
)
|
|
259
|
+
max_line_length = self.ncols - 2
|
|
260
|
+
line = (
|
|
261
|
+
f"{options[option][0]}"
|
|
262
|
+
f"{''.ljust(max_line_length, self._table_char.HORIZONTAL)}"
|
|
263
|
+
f"{options[option][1]}"
|
|
264
|
+
)
|
|
265
|
+
return line
|
|
266
|
+
|
|
267
|
+
def _make_table(self) -> list[str] | None:
|
|
268
|
+
# Check if empty
|
|
269
|
+
if len(self._paragraphs) < 1:
|
|
270
|
+
return None
|
|
271
|
+
if len(self._paragraphs[0]) < 1:
|
|
272
|
+
return None
|
|
273
|
+
|
|
274
|
+
# Make table
|
|
275
|
+
max_content_length = self.ncols - 4
|
|
276
|
+
paragraph_length = len(self._paragraphs)
|
|
277
|
+
|
|
278
|
+
# Line prep
|
|
279
|
+
_first_line = self._make_line(0)
|
|
280
|
+
_sep_line = self._make_line(1)
|
|
281
|
+
_last_line = self._make_line(2)
|
|
282
|
+
|
|
283
|
+
# Table
|
|
284
|
+
table: list[str] = [_first_line] if self._title == "" else [self._title]
|
|
285
|
+
for i, paragraph in enumerate(self._paragraphs, start=1):
|
|
286
|
+
for line in paragraph:
|
|
287
|
+
splitted_line = self._text_wrapper.wrap(line) if len(line) > 0 else [""]
|
|
288
|
+
mod_lines: list[str] = [
|
|
289
|
+
f"{self._table_char.VERTICAL} "
|
|
290
|
+
f"{line.ljust(max_content_length, ' ')}"
|
|
291
|
+
f" {self._table_char.VERTICAL}"
|
|
292
|
+
for line in splitted_line
|
|
293
|
+
]
|
|
294
|
+
table.extend(mod_lines)
|
|
295
|
+
|
|
296
|
+
if i != paragraph_length:
|
|
297
|
+
table.append(_sep_line)
|
|
298
|
+
else:
|
|
299
|
+
table.append(_last_line)
|
|
300
|
+
return table
|
|
301
|
+
|
|
302
|
+
def make_table(self) -> str:
|
|
303
|
+
table = self._make_table()
|
|
304
|
+
if table is None:
|
|
305
|
+
return ""
|
|
306
|
+
return "\n".join(table)
|
absfuyu/util/zipped.py
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
"""
|
|
2
2
|
Absfuyu: Zipped
|
|
3
3
|
---------------
|
|
4
|
-
Zipping stuff
|
|
4
|
+
Zipping stuff
|
|
5
|
+
(deprecated, use absfuyu.util.path.Directory)
|
|
5
6
|
|
|
6
|
-
Version: 5.
|
|
7
|
-
Date updated:
|
|
7
|
+
Version: 5.2.0
|
|
8
|
+
Date updated: 16/03/2025 (dd/mm/yyyy)
|
|
8
9
|
"""
|
|
9
10
|
|
|
10
11
|
# Module level
|
|
11
12
|
# ---------------------------------------------------------------------------
|
|
12
|
-
__all__ = [
|
|
13
|
-
"Zipper",
|
|
14
|
-
]
|
|
13
|
+
__all__ = ["Zipper"]
|
|
15
14
|
|
|
16
15
|
|
|
17
16
|
# Library
|
|
@@ -20,11 +19,13 @@ import shutil
|
|
|
20
19
|
import zipfile
|
|
21
20
|
from pathlib import Path
|
|
22
21
|
|
|
23
|
-
from absfuyu.core import BaseClass, versionadded
|
|
22
|
+
from absfuyu.core import BaseClass, deprecated, versionadded
|
|
24
23
|
from absfuyu.logger import logger
|
|
25
24
|
|
|
26
25
|
|
|
26
|
+
# Class
|
|
27
27
|
# ---------------------------------------------------------------------------
|
|
28
|
+
@deprecated("5.1.0", reason="Use ``absfuyu.util.path.Directory`` instead")
|
|
28
29
|
class Zipper(BaseClass):
|
|
29
30
|
"""Zip file or folder"""
|
|
30
31
|
|
absfuyu/version.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: absfuyu
|
|
3
|
-
Version: 5.0
|
|
3
|
+
Version: 5.2.0
|
|
4
4
|
Summary: A small collection of code
|
|
5
5
|
Project-URL: Homepage, https://github.com/AbsoluteWinter/absfuyu-public
|
|
6
6
|
Project-URL: Documentation, https://absolutewinter.github.io/absfuyu-docs/
|
|
@@ -86,7 +86,7 @@ help(absfuyu)
|
|
|
86
86
|
|
|
87
87
|
### Notable features
|
|
88
88
|
|
|
89
|
-
**absfuyu.core**: Provides
|
|
89
|
+
**absfuyu.core**: Provides base components for additional functionalities.
|
|
90
90
|
|
|
91
91
|
```python
|
|
92
92
|
# Decorators that adds info to __doc__
|
|
@@ -104,6 +104,13 @@ for x in [DictExt, IntExt, ListExt, Text]:
|
|
|
104
104
|
x.show_all_methods(print_result=1)
|
|
105
105
|
```
|
|
106
106
|
|
|
107
|
+
**absfuyu.tools.Inspector**: An object inspector
|
|
108
|
+
|
|
109
|
+
```python
|
|
110
|
+
from absfuyu.tools import Inspector
|
|
111
|
+
print(Inspector(Inspector))
|
|
112
|
+
```
|
|
113
|
+
|
|
107
114
|
There are many additional features available to explore.
|
|
108
115
|
|
|
109
116
|
## **DOCUMENTATION:**
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
absfuyu/__init__.py,sha256=Me_UQT0wqp5GPpohk7HBD3ijJdIsIafBJJI6vn_SRDQ,600
|
|
2
|
+
absfuyu/__main__.py,sha256=j6vPe7oFtED_nC__UeSsmoNiE474ErYW-gVpQmRKQ0c,595
|
|
3
|
+
absfuyu/logger.py,sha256=J-O12HYtQzP8Zm_4NtpzBQruAbqxSgsOtH4MKGJJAs8,13043
|
|
4
|
+
absfuyu/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
+
absfuyu/sort.py,sha256=vl48Ijm16Jasj5unp3HLU0d-7jN-FihOoyI_x8wBUlA,3250
|
|
6
|
+
absfuyu/typings.py,sha256=b6HfKgOFC6Nw9wcPr57jhMvH4YrvJIGfMBWji9qYXKU,4598
|
|
7
|
+
absfuyu/version.py,sha256=HxRg7XUVfBKVgAebxK9YrPbys_sVTEKqHD1QW4VdEOM,14489
|
|
8
|
+
absfuyu/cli/__init__.py,sha256=81GpY_LfmtMBdFdBbkti-YUAdBgzVxRXiXCdM7PgJKM,1181
|
|
9
|
+
absfuyu/cli/color.py,sha256=s64Sq7O_2ICJgWle8msh3tpoirlG8wEVsm7w7tba3eM,1139
|
|
10
|
+
absfuyu/cli/config_group.py,sha256=Y4M7FlXUJcLhTC_Vzul-xW7VQ-CGGi2SiYJiY2NK3DI,1505
|
|
11
|
+
absfuyu/cli/do_group.py,sha256=cVqYN5t0WTWRzvY0WdsCSWZcW-n2JR0JMpYGWOVRKUs,2438
|
|
12
|
+
absfuyu/cli/game_group.py,sha256=L621kuN4ncpFakxB2sofuByivA-ySr1ZFZrur8uXnCA,2623
|
|
13
|
+
absfuyu/cli/tool_group.py,sha256=RV_Fnap66KGm33DgvTZsPHenhbMx9IwYZgvNzVA7cj0,3416
|
|
14
|
+
absfuyu/config/__init__.py,sha256=ZpWb3yuO_9UgmZiDzuvwMXyeJMMMLP8xRrw25fjLpHY,8238
|
|
15
|
+
absfuyu/config/config.json,sha256=-ZQnmDuLq0aAFfsrQbSNR3tq5k9Eu9IVUQgYD9htIQM,646
|
|
16
|
+
absfuyu/core/__init__.py,sha256=PQf_DHqI5zU-TIQbiARfF5mQG4R77FiX-5ySOZfJ9wY,1186
|
|
17
|
+
absfuyu/core/baseclass.py,sha256=x3UIToKNZo09w6xVC_MWQrhZcZJ7q_nFq7sr9s-Ts7g,22591
|
|
18
|
+
absfuyu/core/baseclass2.py,sha256=NWCeAmS5-coLlq1Q9Y9ouFe1mefA0Q9YRKnhCeBx6yA,5366
|
|
19
|
+
absfuyu/core/decorator.py,sha256=xnzIFMcVfxfm7Den4QnZ4AEaHSdszcHSpWyPABm4YPY,4176
|
|
20
|
+
absfuyu/core/docstring.py,sha256=gAVovS1zVn_H9e-xkNY4xQtEQMf_p3PRpdTfpGqA5_A,5791
|
|
21
|
+
absfuyu/core/dummy_cli.py,sha256=hqsjrEbT-BPLRaODdoslwc53YQyM67Rse057gvlnOSo,1884
|
|
22
|
+
absfuyu/core/dummy_func.py,sha256=1XK6E3RDoQqN7eYkuGpoo025g0JcEHrBFrVZz71XIlk,1426
|
|
23
|
+
absfuyu/dxt/__init__.py,sha256=c-KOWD7LNwV6cBRv9RjEP2D6C8lBhx8Q0CtdcXFA0_Q,986
|
|
24
|
+
absfuyu/dxt/dictext.py,sha256=Sp4jMPvKLb61nU6g4JJ86dsxIhlc3eZXTsys1oXy41M,6073
|
|
25
|
+
absfuyu/dxt/dxt_support.py,sha256=dB313kVTWRVHGhsA2daNBjmU3xNz6_B72Cn6JbgvvpE,2109
|
|
26
|
+
absfuyu/dxt/intext.py,sha256=9fV9-CsY1mbaH6k3BkLo1nSn99JN1M0m2ES2zQpuXDE,17454
|
|
27
|
+
absfuyu/dxt/listext.py,sha256=Hr3b6B2si6pbzI_vEmGr2_PiTQpQN2ICcrIrSN5JPPw,19328
|
|
28
|
+
absfuyu/dxt/strext.py,sha256=ILOtcbF23qWX_relkW8HWNnJCGouIDEh2X5OAXDHNWk,16257
|
|
29
|
+
absfuyu/extra/__init__.py,sha256=w47uEx0KkUfSVuX9_WYM2xVBcfHd93b9YzTlWs8dkwc,182
|
|
30
|
+
absfuyu/extra/beautiful.py,sha256=OjaNY457I7eePklQ8sN6I1b11QrkmIzra8IW-Aj3NlM,8137
|
|
31
|
+
absfuyu/extra/data_analysis.py,sha256=AZA4V-c-ZBe7Zkv1_P6exSyWr5UjHmH5Dv0P1MxVXw8,499
|
|
32
|
+
absfuyu/extra/da/__init__.py,sha256=S-jDX96fQ7s6mFxCNFrkqM4ckQGuEAHdCMN4TgzASkw,913
|
|
33
|
+
absfuyu/extra/da/dadf.py,sha256=duhZwbHBm2F5g_QY_gTx1JK1segxKyVsg-wIr4t9q-Y,38688
|
|
34
|
+
absfuyu/extra/da/dadf_base.py,sha256=IhJiYu4whWjkV6hUBrvHF9kRdXyCO2swwt2_GfvNAu8,5167
|
|
35
|
+
absfuyu/extra/da/df_func.py,sha256=IWVIjQdKc7TGfVK8qmhsikoyWhHhrvd9aM2JH7J6giM,2524
|
|
36
|
+
absfuyu/extra/da/mplt.py,sha256=POoD7a7iUmivzcVUtbhZgFhSFkEMoLgPDhE6Wxn5HWE,6305
|
|
37
|
+
absfuyu/fun/__init__.py,sha256=YUXIHAkluHR40ld3pY-5qy7Dim18BFXOwP9aQWGf4Qw,5435
|
|
38
|
+
absfuyu/fun/tarot.py,sha256=LuA_ioFjpBuRRE95eIqa66YuyOjhsgidezIfR_oV1C0,2401
|
|
39
|
+
absfuyu/game/__init__.py,sha256=w_7djRlaH_bRnXDIE7k2o3IH7mEnI3HoPNATsHO3RVk,4691
|
|
40
|
+
absfuyu/game/game_stat.py,sha256=3qIhHowsKSw03538hgikjDXcNnFZnFAeh8oQGgatMWA,1236
|
|
41
|
+
absfuyu/game/sudoku.py,sha256=yWH6qFYjFQELpq47ip3CU07jzL5rvWpc6tGhuyhbAAw,10405
|
|
42
|
+
absfuyu/game/tictactoe.py,sha256=Ae53kHZL9CmqUKAz6IUUv5T1ARBkC8zeOf3tqm8su3g,9958
|
|
43
|
+
absfuyu/game/wordle.py,sha256=CWWh_W1-I7nS_v33EgNTxbFyEXyPApeLB6kzOMZhHrg,101576
|
|
44
|
+
absfuyu/general/__init__.py,sha256=vufEDiUeK5uleZS5AQ-0vbMe31nfgTRxcUtW3kwxbV8,472
|
|
45
|
+
absfuyu/general/content.py,sha256=Dabw5rLgfryLw8ApD6qOSJBAe6Pz1Eh5A8JAsX_01Ug,17122
|
|
46
|
+
absfuyu/general/human.py,sha256=Uf8Eih7Xoq3WrFX8aoYSDcqTAJxCBhVJLm_EzuY-a4w,8099
|
|
47
|
+
absfuyu/general/shape.py,sha256=elZcTGQ11_-qczMwNoiw5Y4sQpWRd_tgmzyUPIdmwJ4,38619
|
|
48
|
+
absfuyu/pkg_data/__init__.py,sha256=-RscaF305zV76dFI_gecNm76_Smkx0OHP0OxSNKb2J0,5510
|
|
49
|
+
absfuyu/pkg_data/chemistry.pkl,sha256=kYWNa_PVffoDnzT8b9Jvimmf_GZshPe1D-SnEKERsLo,4655
|
|
50
|
+
absfuyu/pkg_data/deprecated.py,sha256=FhUFNgjjeaneBU66ImZuzJRKNZJ7OA_qLz2QoDbUn8M,4349
|
|
51
|
+
absfuyu/pkg_data/passwordlib_lzma.pkl,sha256=rT5lJT8t42BATU5Cp2qFwbnZkbx-QlUgodSvR0wFY6I,891877
|
|
52
|
+
absfuyu/pkg_data/tarot.pkl,sha256=ssXTCC_BQgslO5F-3a9HivbxFQ6BioIe2E1frPVi2m0,56195
|
|
53
|
+
absfuyu/tools/__init__.py,sha256=yAO-Iq348oQYAbizMwJHhMEyonpe3HIkxxIwVhZh3Yw,926
|
|
54
|
+
absfuyu/tools/checksum.py,sha256=OaMkEyHawqZpVwrYaSLgv7ErKDtQb1Wk10u0pKQbkMs,5666
|
|
55
|
+
absfuyu/tools/converter.py,sha256=sXHtKl5QyLDv8pjz-msq5ZXgGjMbQplKaGivMnyiAm8,13566
|
|
56
|
+
absfuyu/tools/generator.py,sha256=o6RT3h8oSiLibubdBQTptKQUUHb5YBcGUR0-imVwKhk,13473
|
|
57
|
+
absfuyu/tools/inspector.py,sha256=OHq2Hj7uzisaqto1mngVVYo2rvpzyUGKFSUMpsjDzmw,15107
|
|
58
|
+
absfuyu/tools/keygen.py,sha256=Ic_Vsk_QHqJ7331CyDcPm59csLB0ar_Vka9NMs07dO0,7115
|
|
59
|
+
absfuyu/tools/obfuscator.py,sha256=mViEFLHjyic2Zlr8Q7v3S8xmpTUexLA2RvDfqUngrpE,13669
|
|
60
|
+
absfuyu/tools/passwordlib.py,sha256=vxN6mwZAvHiUppSVv5yS_djkVLeutgrR3exXaj2AZo8,11080
|
|
61
|
+
absfuyu/tools/shutdownizer.py,sha256=Yye7rVzH3CeVNWFnKvUIYXeKkKOyXNBcF65hPv8QpK4,8549
|
|
62
|
+
absfuyu/tools/web.py,sha256=0hWiPSsprJPy_x1Ml_MEUwTkfocHj6Ew_77WDms5K6Y,1240
|
|
63
|
+
absfuyu/util/__init__.py,sha256=MrHykiPbfR-r_U3Rf1l4_ZGPfHQgGL7AWUU0WrzBvfc,4187
|
|
64
|
+
absfuyu/util/api.py,sha256=zB2XxI2fzYAmX-fpPHFXTWizKixHDf3fTsZkDUcvZv4,4463
|
|
65
|
+
absfuyu/util/json_method.py,sha256=rHJ_omzJ9lwEacnTLprLVJmbZrRXepCbBYb57ElGW7M,2847
|
|
66
|
+
absfuyu/util/lunar.py,sha256=5zVsCl1UdsFW8sR7BHquF0VGyVNpJdyJcdZGkcDyuh0,13630
|
|
67
|
+
absfuyu/util/path.py,sha256=uZkLRlkUwq4p261pB7VHuvn3kxbMHxyXBJTefsWhhgA,19444
|
|
68
|
+
absfuyu/util/performance.py,sha256=TzsubH_1qrSNPSk42R5WthY6WlGD9EC5Gm9XpMLZU7M,12094
|
|
69
|
+
absfuyu/util/shorten_number.py,sha256=B7VDIlS3IYutlFkktv1pedEOGViC6P6BpeAOJn2BYWQ,8312
|
|
70
|
+
absfuyu/util/text_table.py,sha256=lkZREFjw_Jh1Hl2vhekROASVHvB3VoWaK9bmRMLp7bU,9112
|
|
71
|
+
absfuyu/util/zipped.py,sha256=8I6vW2hTNQtogzT7nKOMhSJrsQup7uRK0nu5JOsikO0,3042
|
|
72
|
+
absfuyu-5.2.0.dist-info/METADATA,sha256=pGcb4H4C4H3ZhlhY5C22n1coTfCyp4YA0pkY8kO_BvQ,4965
|
|
73
|
+
absfuyu-5.2.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
74
|
+
absfuyu-5.2.0.dist-info/entry_points.txt,sha256=bW5CgJRTTWJ2Pywojo07sf-YucRPcnHzMmETh5avbX0,79
|
|
75
|
+
absfuyu-5.2.0.dist-info/licenses/LICENSE,sha256=pFCHBSNSzdXwYG1AHpq7VcofI1NMQ1Fc77RzZ4Ln2O4,1097
|
|
76
|
+
absfuyu-5.2.0.dist-info/RECORD,,
|
absfuyu-5.0.1.dist-info/RECORD
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
absfuyu/__init__.py,sha256=pDzdGzKO07dKGuByDoOGJGxanWFB9XKqTNY0BunlEyU,600
|
|
2
|
-
absfuyu/__main__.py,sha256=9bLz3WK0oG0jGTLE9pd3e3j3ldVaCfO2dsLFNneJ6fU,603
|
|
3
|
-
absfuyu/logger.py,sha256=zEu8Px0kCmdeMtawf8UWb_fwff1_ZG45U0iUjI6g9GU,13043
|
|
4
|
-
absfuyu/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
-
absfuyu/sort.py,sha256=BsXuDMuO-Q6hUZwmFspyLo5jc7rxgBFSdektIlVJ0BQ,3250
|
|
6
|
-
absfuyu/version.py,sha256=Smkc97D0lbfLcMFuMyfBqCmsKjgo7ws-NqbMmL9I4_Q,14489
|
|
7
|
-
absfuyu/cli/__init__.py,sha256=QQv0pYorucbEoeTydtHVPwMdpiiMK_eWTxinZgQviS8,1181
|
|
8
|
-
absfuyu/cli/color.py,sha256=S_y20gw4FEVtc_cCdRjxGW8HALi2vvRT8YurmwjMH54,774
|
|
9
|
-
absfuyu/cli/config_group.py,sha256=fvWkm70LnIiL6yc9Fn7Dlg32xsjiADyLAnS3_dx1VOE,1230
|
|
10
|
-
absfuyu/cli/do_group.py,sha256=8ZwtNEZ7nadPIr-KH-Dwj1y4trZsKOgUwiof52zbUYM,2131
|
|
11
|
-
absfuyu/cli/game_group.py,sha256=21U-8QCIZtdWf6fYBPip-sT0YvP4yoB9FmogW6NSCwA,2348
|
|
12
|
-
absfuyu/cli/tool_group.py,sha256=Sx3HJHJTtsEaagsCxykrkwgp3ft9aH6BRAqs1V4mI0Q,3164
|
|
13
|
-
absfuyu/config/__init__.py,sha256=4SrWqzP_PyIjMH9QT4JjSzJqtsOWmUFlEJeoCjGd_3g,8238
|
|
14
|
-
absfuyu/config/config.json,sha256=-ZQnmDuLq0aAFfsrQbSNR3tq5k9Eu9IVUQgYD9htIQM,646
|
|
15
|
-
absfuyu/core/__init__.py,sha256=vs2FCaiXoiG0v7nRMKMickfHbeC_quTtj6JiZpI7-iU,1186
|
|
16
|
-
absfuyu/core/baseclass.py,sha256=hNmqP8YIBuNUXGduNck31rXXuZ4smTUPbMKBV-Gj41Q,10204
|
|
17
|
-
absfuyu/core/baseclass2.py,sha256=4MZTUz8WSzJn-uGY5-lSHTzkDCsRDgLnntvMwQaF8_s,5366
|
|
18
|
-
absfuyu/core/decorator.py,sha256=MpmgAb1gsXgRDEyMJLvSxUWEG0WC4aTFYJAEwjdauAI,1901
|
|
19
|
-
absfuyu/core/docstring.py,sha256=1QaqnbQLVB9qjPz2a_oCFG04XxXmOM8yWUdEVmYzYCc,5287
|
|
20
|
-
absfuyu/core/dummy_cli.py,sha256=_-Gsmg2beO7fTSP-3nSGwqVmiVKpzTICIuHfGetQbw8,1884
|
|
21
|
-
absfuyu/core/dummy_func.py,sha256=msbauMSxlbbzLzgdJqeydhAF-R4WZiA5_h6h2_8809U,1221
|
|
22
|
-
absfuyu/dxt/__init__.py,sha256=XvvcsN9Ax9ywFEuvlq4JEY4Mto3_qhp56JgWwCiWUPY,986
|
|
23
|
-
absfuyu/dxt/dictext.py,sha256=aiCvNhdDQvuYteVKptLkpC0ni9rIbN26cYEPKpIbqps,5998
|
|
24
|
-
absfuyu/dxt/dxt_support.py,sha256=7xo2-gQWfgsqvLdh7pcyK1rx4XU1-G7nWx0VbKQ69tQ,2109
|
|
25
|
-
absfuyu/dxt/intext.py,sha256=h9p8OEzb0--8u7wq50BfGG1ExY7egV_Yh8CgP2hKsdw,16716
|
|
26
|
-
absfuyu/dxt/listext.py,sha256=_sCdbnKsEAR-V60wIZxyCtXIRA7HzTu6WvIgSb_TDjQ,13964
|
|
27
|
-
absfuyu/dxt/strext.py,sha256=5YWpDz-6lZH500KcQXyQRZ_7bsRWBROfTZi0Mkr5b00,14626
|
|
28
|
-
absfuyu/extra/__init__.py,sha256=fd7WZQYt_aRsTxih5n_DvXY-5PIGCawzia4uQ5Y3huc,182
|
|
29
|
-
absfuyu/extra/beautiful.py,sha256=Ae0zhieHIbMMIJUsxDmMEEw1X14CcoyAgr-Ic2YYR9I,8137
|
|
30
|
-
absfuyu/extra/data_analysis.py,sha256=fqJgmHv9KRP2SHFTUWGMPCB8zMgfXni1jMWwn1mPYRU,32005
|
|
31
|
-
absfuyu/fun/__init__.py,sha256=20kZpFoivJXhV9oHUHOuiPCbcGvQWFE9v62EUkj4cyU,5435
|
|
32
|
-
absfuyu/fun/tarot.py,sha256=xIJNKAxgDckE4UNn8lBaLMasOT1md04BaDI_h23AmsA,2401
|
|
33
|
-
absfuyu/game/__init__.py,sha256=iKrXSOFCFFCwQVHNIRJp1ItNqSOGRQHb-31_MamVE3U,4691
|
|
34
|
-
absfuyu/game/game_stat.py,sha256=OMMz4iyyMxvEHbhVEka2uEDtREyidcOO-HX5XZi5G88,1236
|
|
35
|
-
absfuyu/game/sudoku.py,sha256=yJt950Lwcbq-sxXw-lyi1bB1Ds0y9vqYfKNRzfXwRLY,10405
|
|
36
|
-
absfuyu/game/tictactoe.py,sha256=2VV0wM3pi1weVjTR0Yp0hiWqN09yPcHeUXoqa9YVI4U,9960
|
|
37
|
-
absfuyu/game/wordle.py,sha256=cD0AOhXp5uOnyEh6vtTODmJyXcjSmQz27Di3y6xB9JM,101576
|
|
38
|
-
absfuyu/general/__init__.py,sha256=OamzZUsVcaPcwA5wA5PYPv5xl-GHmAO9cL-vzX4TJy0,472
|
|
39
|
-
absfuyu/general/content.py,sha256=5wWYto6Na8SMyA6Lh5_C_cgKNok_JCDhQCQhsImNCBQ,17122
|
|
40
|
-
absfuyu/general/human.py,sha256=o1TswjgN8zRfCmkEgchS1HVq036twBB64u1Dt4KLI1I,8099
|
|
41
|
-
absfuyu/general/shape.py,sha256=GclEwdKtciPaGsZIDpmIDvC7UiHcRKRaxIi7yqBTnfs,38619
|
|
42
|
-
absfuyu/pkg_data/__init__.py,sha256=gWOdNVaisaMfn2XBYAammTytGwZK_iTKMgyirhNCN3I,5510
|
|
43
|
-
absfuyu/pkg_data/chemistry.pkl,sha256=kYWNa_PVffoDnzT8b9Jvimmf_GZshPe1D-SnEKERsLo,4655
|
|
44
|
-
absfuyu/pkg_data/deprecated.py,sha256=NG8aqVPrC08xPBZb1n1FwNTGi2ah03zzcrp8zieaf1k,4349
|
|
45
|
-
absfuyu/pkg_data/passwordlib_lzma.pkl,sha256=rT5lJT8t42BATU5Cp2qFwbnZkbx-QlUgodSvR0wFY6I,891877
|
|
46
|
-
absfuyu/pkg_data/tarot.pkl,sha256=ssXTCC_BQgslO5F-3a9HivbxFQ6BioIe2E1frPVi2m0,56195
|
|
47
|
-
absfuyu/tools/__init__.py,sha256=u5IvTdxpr1uEE9nPXmMaDzFHGZRja_CTwKYs505N8C8,118
|
|
48
|
-
absfuyu/tools/checksum.py,sha256=cA0jL7IX7CLMuunZfiaTVZNnfg0CEy8LXaxX_UnlNuo,5156
|
|
49
|
-
absfuyu/tools/converter.py,sha256=QxWPHSJtl-_i3q8LaKWeIcdUDkkhhO7jty1K-SgQYCY,11615
|
|
50
|
-
absfuyu/tools/generator.py,sha256=C54TJ3DZ5TXFYRI7_jLdtjTMcWxACX4Jmlo27Zh90Ew,8996
|
|
51
|
-
absfuyu/tools/keygen.py,sha256=JxhUiiaUHaGqVicXY46JjVrH3ke2QlnsRJqgIvlxUsg,7115
|
|
52
|
-
absfuyu/tools/obfuscator.py,sha256=c1tBG3nbGFi7ejjRbxgBMSYV8sBQCy9Ko6r9iBO3UwY,12685
|
|
53
|
-
absfuyu/tools/passwordlib.py,sha256=s_Z9EoHCnEpHwvei5Yigo9VKkDL3sNPUkDeg8cjfSWk,9630
|
|
54
|
-
absfuyu/tools/shutdownizer.py,sha256=z5z5ofdAtOBat1m7lz95FwXZI0fMarl2mChBMwUMi4I,8549
|
|
55
|
-
absfuyu/tools/web.py,sha256=JHeW9koW_5uRwE507_mtNJ8v0R7W2yvjDxJSClkWzLM,1240
|
|
56
|
-
absfuyu/util/__init__.py,sha256=h23kB8cx4-KLMiRPFnHlxTYVqt4ortI8wCc9vUc5UVg,3831
|
|
57
|
-
absfuyu/util/api.py,sha256=gd3QCuxRfOmiGhUpN3qqdWfD0o3VFOafbKplEwWpcz0,4288
|
|
58
|
-
absfuyu/util/json_method.py,sha256=a4xVabcw18HBLJthkmf5KNUcQya45-A8AFEpcGIDx3Q,2197
|
|
59
|
-
absfuyu/util/lunar.py,sha256=P6hF6H4BmJcY0S2Jq0_TkcaiLU5O-CnyfHYoLaWTx00,13630
|
|
60
|
-
absfuyu/util/path.py,sha256=ehKib-zSISx0XguRr-OlRnNlmR27rhVSfDGmjqh6CCg,16434
|
|
61
|
-
absfuyu/util/performance.py,sha256=kZbgC8CPEjzO8JWrTjT1NqAkQ3022M4zzp7G3caeUbk,8585
|
|
62
|
-
absfuyu/util/shorten_number.py,sha256=401H1k0wxc2W6qycH_gsEGtUmYdJt6KRzMNR4m94W38,7788
|
|
63
|
-
absfuyu/util/zipped.py,sha256=nJzKxLwle9wSiKL-615J40ARiK2y0mGCwNYJ0fOCHus,2979
|
|
64
|
-
absfuyu-5.0.1.dist-info/METADATA,sha256=ypxRsGR4WuBk9BMllZqqanH766SY5mUswgvVnHVUcpI,4844
|
|
65
|
-
absfuyu-5.0.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
66
|
-
absfuyu-5.0.1.dist-info/entry_points.txt,sha256=bW5CgJRTTWJ2Pywojo07sf-YucRPcnHzMmETh5avbX0,79
|
|
67
|
-
absfuyu-5.0.1.dist-info/licenses/LICENSE,sha256=pFCHBSNSzdXwYG1AHpq7VcofI1NMQ1Fc77RzZ4Ln2O4,1097
|
|
68
|
-
absfuyu-5.0.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|