bluer-ugv 7.673.1__py3-none-any.whl → 7.683.1__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 bluer-ugv might be problematic. Click here for more details.

@@ -3,15 +3,21 @@
3
3
  function bluer_ugv_swallow_git_rm_keys() {
4
4
  local options=$1
5
5
  local do_dryrun=$(bluer_ai_option_int "$options" dryrun 1)
6
+ local do_undo=$(bluer_ai_option_int "$options" undo 0)
6
7
 
7
8
  if [[ "$abcli_is_rpi" == false ]]; then
8
9
  bluer_ai_log_error "only works on rpi."
9
10
  return 1
10
11
  fi
11
12
 
12
- sudo rm -v ~/.ssh/$BLUER_AI_GIT_SSH_KEY_NAME
13
+ if [[ "$do_undo" == 0 ]]; then
14
+ sudo rm -v ~/.ssh/$BLUER_AI_GIT_SSH_KEY_NAME
15
+ sudo rm -v ~/.ssh/$BLUER_AI_GIT_SSH_KEY_NAME.pub
16
+ fi
13
17
 
14
- sudo rm -v ~/.ssh/$BLUER_AI_GIT_SSH_KEY_NAME.pub
18
+ local remote="https"
19
+ [[ "$do_undo" == 0 ]] &&
20
+ remote="ssh"
15
21
 
16
22
  local repo_name
17
23
  for repo_name in bluer-ai $(bluer_ai_plugins list_of_external \
@@ -21,7 +27,7 @@ function bluer_ugv_swallow_git_rm_keys() {
21
27
  bluer_ai_git \
22
28
  $repo_name \
23
29
  set_remote \
24
- dryrun=$do_dryrun,https
30
+ dryrun=$do_dryrun,$remote
25
31
  [[ $? -ne 0 ]] && return 1
26
32
  done
27
33
  }
@@ -51,6 +51,9 @@ dict_of_ugvs = {
51
51
  f"{rangin_assets2}/20251222_160737.jpg",
52
52
  f"{rangin_assets2}/20251222_165829.jpg",
53
53
  f"{rangin_assets2}/20251222_173509.jpg",
54
+ f"{rangin_assets2}/IMG-20251223-WA0001.jpg",
55
+ f"{rangin_assets2}/IMG-20251223-WA0009.jpg",
56
+ f"{rangin_assets2}/IMG-20251223-WA0010.jpg",
54
57
  ],
55
58
  },
56
59
  }
bluer_ugv/__init__.py CHANGED
@@ -4,7 +4,7 @@ ICON = "🐬"
4
4
 
5
5
  DESCRIPTION = f"{ICON} AI x UGV."
6
6
 
7
- VERSION = "7.673.1"
7
+ VERSION = "7.683.1"
8
8
 
9
9
  REPO_NAME = "bluer-ugv"
10
10
 
bluer_ugv/config.env CHANGED
@@ -31,4 +31,9 @@ BLUER_UGV_ULTRASONIC_SENSOR_LOG=0
31
31
 
32
32
  RANGIN_VIDEO_LIST_OBJECT=rangin-video-list-1
33
33
 
34
- BLUER_UGV_RELEASE_2=release-two-2025-12-01-12-50-03-1hyrts
34
+ BLUER_UGV_RELEASE_2=release-two-2025-12-01-12-50-03-1hyrts
35
+
36
+ BLUER_UGV_AUDIO_LANGUAGE=fa
37
+ BLUER_UGV_AUDIO_CHANNELS=1
38
+ BLUER_UGV_AUDIO_RATE=48000
39
+ BLUER_UGV_AUDIO_LENGTH=30
bluer_ugv/env.py CHANGED
@@ -4,18 +4,30 @@ from bluer_options.env import load_config, load_env, get_env
4
4
  load_env(__name__)
5
5
  load_config(__name__)
6
6
 
7
+ BLUER_UGV_MOUSEPAD_ENABLED = get_env(
8
+ "BLUER_UGV_MOUSEPAD_ENABLED",
9
+ 0,
10
+ )
7
11
 
8
12
  BLUER_UGV_BEAST_MODEL = get_env(
9
13
  "BLUER_UGV_BEAST_MODEL",
10
14
  )
11
15
 
16
+ BLUER_UGV_CAMERA_ACTION_PERIOD = get_env(
17
+ "BLUER_UGV_CAMERA_ACTION_PERIOD",
18
+ 1.5,
19
+ )
12
20
  BLUER_UGV_CAMERA_TRAINING_PERIOD = get_env(
13
21
  "BLUER_UGV_CAMERA_TRAINING_PERIOD",
14
22
  3.0,
15
23
  )
16
- BLUER_UGV_CAMERA_ACTION_PERIOD = get_env(
17
- "BLUER_UGV_CAMERA_ACTION_PERIOD",
18
- 1.5,
24
+
25
+ BLUER_UGV_SWALLOW_NAVIGATION_DATASET_LIST = get_env(
26
+ "BLUER_UGV_SWALLOW_NAVIGATION_DATASET_LIST"
27
+ )
28
+
29
+ BLUER_UGV_SWALLOW_NAVIGATION_MODEL = get_env(
30
+ "BLUER_UGV_SWALLOW_NAVIGATION_MODEL",
19
31
  )
20
32
 
21
33
  BLUER_UGV_SWALLOW_STEERING_SETPOINT = get_env(
@@ -28,38 +40,25 @@ BLUER_UGV_SWALLOW_STEERING_YOLO_EXPIRY = get_env(
28
40
  0.1,
29
41
  )
30
42
 
31
- BLUER_UGV_MOUSEPAD_ENABLED = get_env(
32
- "BLUER_UGV_MOUSEPAD_ENABLED",
33
- 0,
34
- )
35
-
36
- BLUER_UGV_SWALLOW_NAVIGATION_DATASET_LIST = get_env(
37
- "BLUER_UGV_SWALLOW_NAVIGATION_DATASET_LIST"
38
- )
39
-
40
- BLUER_UGV_SWALLOW_NAVIGATION_MODEL = get_env(
41
- "BLUER_UGV_SWALLOW_NAVIGATION_MODEL",
43
+ BLUER_UGV_SWALLOW_YOLO_DATASET_LIST = get_env(
44
+ "BLUER_UGV_SWALLOW_YOLO_DATASET_LIST",
42
45
  )
43
46
 
44
47
  BLUER_UGV_SWALLOW_YOLO_MODEL = get_env(
45
48
  "BLUER_UGV_SWALLOW_YOLO_MODEL",
46
49
  )
47
50
 
48
- BLUER_UGV_SWALLOW_YOLO_DATASET_LIST = get_env(
49
- "BLUER_UGV_SWALLOW_YOLO_DATASET_LIST",
50
- )
51
-
52
- BLUER_UGV_ULTRASONIC_SENSOR_TEST_OBJECT = get_env(
53
- "BLUER_UGV_ULTRASONIC_SENSOR_TEST_OBJECT"
51
+ BLUER_UGV_ULTRASONIC_SENSOR_DANGER_THRESHOLD = get_env(
52
+ "BLUER_UGV_ULTRASONIC_SENSOR_DANGER_THRESHOLD",
53
+ 500.0,
54
54
  )
55
-
56
55
  BLUER_UGV_ULTRASONIC_SENSOR_WARNING_THRESHOLD = get_env(
57
56
  "BLUER_UGV_ULTRASONIC_SENSOR_WARNING_THRESHOLD",
58
57
  800.0,
59
58
  )
60
- BLUER_UGV_ULTRASONIC_SENSOR_DANGER_THRESHOLD = get_env(
61
- "BLUER_UGV_ULTRASONIC_SENSOR_DANGER_THRESHOLD",
62
- 500.0,
59
+
60
+ BLUER_UGV_ULTRASONIC_SENSOR_TEST_OBJECT = get_env(
61
+ "BLUER_UGV_ULTRASONIC_SENSOR_TEST_OBJECT"
63
62
  )
64
63
 
65
64
  BLUER_UGV_ULTRASONIC_SENSOR_ENABLED = get_env(
@@ -82,6 +81,27 @@ BLUER_UGV_ULTRASONIC_SENSOR_LOG = get_env(
82
81
  1,
83
82
  )
84
83
 
85
- RANGIN_VIDEO_LIST_OBJECT = get_env("RANGIN_VIDEO_LIST_OBJECT")
84
+ RANGIN_VIDEO_LIST_OBJECT = get_env(
85
+ "RANGIN_VIDEO_LIST_OBJECT",
86
+ )
86
87
 
87
- BLUER_UGV_RELEASE_2 = get_env("BLUER_UGV_RELEASE_2")
88
+ BLUER_UGV_RELEASE_2 = get_env(
89
+ "BLUER_UGV_RELEASE_2",
90
+ )
91
+
92
+ BLUER_UGV_AUDIO_LANGUAGE = get_env(
93
+ "BLUER_UGV_AUDIO_LANGUAGE",
94
+ "fa",
95
+ )
96
+ BLUER_UGV_AUDIO_CHANNELS = get_env(
97
+ "BLUER_UGV_AUDIO_CHANNELS",
98
+ 1,
99
+ )
100
+ BLUER_UGV_AUDIO_RATE = get_env(
101
+ "BLUER_UGV_AUDIO_RATE",
102
+ 48000,
103
+ )
104
+ BLUER_UGV_AUDIO_LENGTH = get_env(
105
+ "BLUER_UGV_AUDIO_LENGTH",
106
+ 30,
107
+ )
@@ -7,7 +7,7 @@ def help_rm_keys(
7
7
  tokens: List[str],
8
8
  mono: bool,
9
9
  ) -> str:
10
- options = "~dryrun"
10
+ options = "~dryrun,undo"
11
11
 
12
12
  return show_usage(
13
13
  [
@@ -16,7 +16,7 @@ def help_rm_keys(
16
16
  "rm_keys",
17
17
  f"[{options}]",
18
18
  ],
19
- "rm github keys.",
19
+ "(undo) rm github keys.",
20
20
  mono=mono,
21
21
  )
22
22
 
@@ -77,6 +77,7 @@ class VideoEngine(Enum):
77
77
  "cvlc",
78
78
  "--fullscreen",
79
79
  "--no-video-title-show",
80
+ "--no-audio-capture",
80
81
  "--video-on-top",
81
82
  "--no-osd",
82
83
  "--loop" if loop else "",
@@ -45,7 +45,9 @@ class ClassicalSession:
45
45
 
46
46
  self.leds = ClassicalLeds()
47
47
 
48
- self.audio = ClassicalAudio()
48
+ self.audio = ClassicalAudio(
49
+ leds=self.leds,
50
+ )
49
51
 
50
52
  self.setpoint = ClassicalSetPoint(
51
53
  leds=self.leds,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bluer_ugv
3
- Version: 7.673.1
3
+ Version: 7.683.1
4
4
  Summary: 🐬 AI x UGV.
5
5
  Home-page: https://github.com/kamangir/bluer-ugv
6
6
  Author: Arash Abadpour (Kamangir)
@@ -12,6 +12,7 @@ Classifier: Operating System :: OS Independent
12
12
  Description-Content-Type: text/markdown
13
13
  License-File: LICENSE
14
14
  Requires-Dist: bluer_ai
15
+ Requires-Dist: bluer_agent
15
16
  Requires-Dist: bluer_algo
16
17
  Requires-Dist: bluer_sbc
17
18
  Requires-Dist: keyboard
@@ -65,7 +66,7 @@ pip install bluer_ugv
65
66
 
66
67
  [![pylint](https://github.com/kamangir/bluer-ugv/actions/workflows/pylint.yml/badge.svg)](https://github.com/kamangir/bluer-ugv/actions/workflows/pylint.yml) [![pytest](https://github.com/kamangir/bluer-ugv/actions/workflows/pytest.yml/badge.svg)](https://github.com/kamangir/bluer-ugv/actions/workflows/pytest.yml) [![bashtest](https://github.com/kamangir/bluer-ugv/actions/workflows/bashtest.yml/badge.svg)](https://github.com/kamangir/bluer-ugv/actions/workflows/bashtest.yml) [![PyPI version](https://img.shields.io/pypi/v/bluer-ugv.svg)](https://pypi.org/project/bluer-ugv/) [![PyPI - Downloads](https://img.shields.io/pypi/dd/bluer-ugv)](https://pypistats.org/packages/bluer-ugv)
67
68
 
68
- built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.673.1`](https://github.com/kamangir/bluer-ugv).
69
+ built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.683.1`](https://github.com/kamangir/bluer-ugv).
69
70
 
70
71
 
71
72
  built by 🌀 [`blueness-3.118.1`](https://github.com/kamangir/blueness).
@@ -1,7 +1,7 @@
1
- bluer_ugv/__init__.py,sha256=RIo7EhCDnnQg_iXT2-JkyqQGpiPjyVHmhggHlcbTWlY,288
1
+ bluer_ugv/__init__.py,sha256=SyzgYAIGJXX-l6zMetBLpi7dhKINjpF3sAK41bxwOho,288
2
2
  bluer_ugv/__main__.py,sha256=77TquqyMca7qHk0XtCixGVyzfW3_9ywnl5oXEPERlls,374
3
- bluer_ugv/config.env,sha256=I718Cfy1GaGqVI80vb7iYsoJ0P7SKLW8USaBYb2sub4,1055
4
- bluer_ugv/env.py,sha256=oEJiyKf1cCJ9kgZqgwnWemT0U_cO2RmCN3MRSS2vitY,1875
3
+ bluer_ugv/config.env,sha256=TODRtdZqUAYbVudsJgwu24IIJzOdd78FkYB59xjQNSo,1164
4
+ bluer_ugv/env.py,sha256=f5Wb4Fb6136bZBkUkZJGxnwtA9NIGyORZCsjV0I1hTg,2193
5
5
  bluer_ugv/host.py,sha256=DpdJCvBpUfP9LkZgcH4BcdLGD-WZUvbTsjvMfPtS8uY,292
6
6
  bluer_ugv/logger.py,sha256=faY6GL6xfZAzlZ1aJ-MEHuPRJZNx8PYS4jMyY3xuxMw,98
7
7
  bluer_ugv/sample.env,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -29,7 +29,7 @@ bluer_ugv/.abcli/swallow/dataset/upload.sh,sha256=KM33QM4rIQpltbd_V49wPWear9Wi8c
29
29
  bluer_ugv/.abcli/swallow/env/cp.sh,sha256=vWBlG9n4Q6m_lBWcot9nyN6kc7-uil5skCjfJWHCfrY,168
30
30
  bluer_ugv/.abcli/swallow/env/list.sh,sha256=pT-hRS0ZfmogAfAMfm-hh0raGoUAnl66U5VuqgyeIwE,173
31
31
  bluer_ugv/.abcli/swallow/env/set.sh,sha256=ed6NCkhYK9LNhSYU_iJUNYXuyQFzmH9mydQ5agihhvA,817
32
- bluer_ugv/.abcli/swallow/git/rm_keys.sh,sha256=jc2Pz4lsgcGvpPZ8bZB16Iz-2oVUBiJsXhj9NptaNvo,684
32
+ bluer_ugv/.abcli/swallow/git/rm_keys.sh,sha256=jekY8r9olDq2ZH0OHHbbj9y39StUw9PWK0oLRIW87cg,870
33
33
  bluer_ugv/.abcli/swallow/keyboard/test.sh,sha256=B04AO-Er3_utzULPziyKD0aybuN2bry7h9wrQBEJ0tA,218
34
34
  bluer_ugv/.abcli/swallow/ultrasonic/review.sh,sha256=XoKwUliTcH-yTHrIo1cc9RSxL3tYQsBfWf1XOJ6YtOI,717
35
35
  bluer_ugv/.abcli/swallow/ultrasonic/test.sh,sha256=WRq4jnm2lv6q7fAw-_6Xg7DD8kgki48t8ilwXA-SsBM,582
@@ -112,7 +112,7 @@ bluer_ugv/README/swallow/digital/design/mechanical.py,sha256=OwgMrFIpRA-RR9CwurX
112
112
  bluer_ugv/README/swallow/digital/design/parts.py,sha256=R_CePkG5zF3qn1X4hvQyd8Iunc0u6yfWXyJJZi3fWBw,549
113
113
  bluer_ugv/README/swallow/digital/design/ultrasonic_sensor.py,sha256=VefIdTUXnsxVj3rmjsguV7N2BD9tPRiiaHjjRl84QUM,1517
114
114
  bluer_ugv/README/ugvs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
115
- bluer_ugv/README/ugvs/db.py,sha256=TnHRjwXPmr9_-biF7EYgX717dtkDBABpDNRuU_DNZDM,1891
115
+ bluer_ugv/README/ugvs/db.py,sha256=_8e-WwPcu30DwwE7lRL0vrMj0Sc246J5aI0GaXYYCOY,2062
116
116
  bluer_ugv/README/ugvs/docs.py,sha256=ZtX6abCe1PEIhAWXenH6jNqXcYzbn7QuK8m0LlQS17E,1952
117
117
  bluer_ugv/README/ugvs/comparison/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
118
118
  bluer_ugv/README/ugvs/comparison/build.py,sha256=Dj86jYV0gGHZQrTRH0wZ_Q8eh3yREBx5bgQ1Sw2bahA,4634
@@ -158,7 +158,7 @@ bluer_ugv/help/swallow/__init__.py,sha256=13rjEuN0KXX6PpYlKzG8Pf3H3TKS3U8f9AZBhq
158
158
  bluer_ugv/help/swallow/dataset.py,sha256=59D5XLQG1PRWfPwfM73Jz1-f0qh_cO0q18qLtsxXtj0,2495
159
159
  bluer_ugv/help/swallow/debug.py,sha256=70krqg-YtjxPjPwWnx4J1Fxlvw46hHyAYq7pA7yPt50,481
160
160
  bluer_ugv/help/swallow/env.py,sha256=0CZyXIMWV2cpV_VbgdSEXigc63UNvQ-L2tjb-5Edwe8,1531
161
- bluer_ugv/help/swallow/git.py,sha256=XERZ3RadYV6GnI7MCoGyNwGTPrzUut3n_j2mgv6v-1Q,413
161
+ bluer_ugv/help/swallow/git.py,sha256=u_08uXk1OqL5oV9vdunldr_EWpxo_aA5LemvW-gp0cw,425
162
162
  bluer_ugv/help/swallow/keyboard.py,sha256=YNkGWvE7tN3agCaL2R30FSIF2zw6oXa5ZJdnTJQA3Hk,518
163
163
  bluer_ugv/help/swallow/select_target.py,sha256=s1-v2IyT6thAncIzo4wKnU8hFJ-rDyi-IDzx2kMaJrs,390
164
164
  bluer_ugv/help/swallow/ultrasonic_sensor.py,sha256=rhxHQWDU7orCvqC_TeJWMCJFrm4qyJyHdiUIUIpZmhU,1223
@@ -181,7 +181,7 @@ bluer_ugv/swallow/session/classical/mode.py,sha256=6rFe1IIpfijuI7Xd-wcGKhYQ7EdQx
181
181
  bluer_ugv/swallow/session/classical/mousepad.py,sha256=LI7yvmtrZZaGUgPGpxNU7zcPkW8D5ykHlY_O-4H2STs,1871
182
182
  bluer_ugv/swallow/session/classical/position.py,sha256=gNeNzNpUG8zkDrcwibxaYStPNKUN1_DV5RjHu_pHMIg,913
183
183
  bluer_ugv/swallow/session/classical/push_button.py,sha256=s8sPart_dECjLK-gfsJi0UorRYcFYf3ofLqjmG8PoA8,2397
184
- bluer_ugv/swallow/session/classical/session.py,sha256=VLXJ5zX8DLZvFrcxV66VQAE_hXmgNld_pUl8CIHcAKQ,6000
184
+ bluer_ugv/swallow/session/classical/session.py,sha256=TqOcVzqVkGwuv2VKX6jPbG_K2yKO5JhxDXvjjghktY8,6037
185
185
  bluer_ugv/swallow/session/classical/camera/__init__.py,sha256=2GchuT19_Ns0uYRS5aUMz4pBwbK3y5XoFxoAlAnJKh8,464
186
186
  bluer_ugv/swallow/session/classical/camera/generic.py,sha256=tW7bQMzmBi9MV28cTlKlDhFdtnB-9mkpBzjaWzEJNec,1220
187
187
  bluer_ugv/swallow/session/classical/camera/navigation.py,sha256=HoeTlifGEfnedb6o8P-O0TcP1bNDRJ0M7vWupQh1pL4,6790
@@ -203,7 +203,7 @@ bluer_ugv/swallow/session/classical/screen/__init__.py,sha256=47DEQpj8HBSa-_TImW
203
203
  bluer_ugv/swallow/session/classical/screen/classes.py,sha256=EzMJOcI5b153pHYAzTeNKU82CHc9AKyNS5ZfudoBvTo,1311
204
204
  bluer_ugv/swallow/session/classical/screen/video/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
205
205
  bluer_ugv/swallow/session/classical/screen/video/__main__.py,sha256=2uyKoxnZ9LwYWlEP_KDEyvIrwRL31SjK7I-xvM-eZpI,2190
206
- bluer_ugv/swallow/session/classical/screen/video/engine.py,sha256=-P_VSdqBjP2KBooMzcc-izWP-GMfl4q07t4Fyc6CQH4,3752
206
+ bluer_ugv/swallow/session/classical/screen/video/engine.py,sha256=XDKGcR2SQyFM5FSXCXoyVWvYjanM-9OuGs-lQoCRzo0,3794
207
207
  bluer_ugv/swallow/session/classical/screen/video/player.py,sha256=XLXYVHqseZKKD-CmyW2NXzuGarf91BJGSNP7t1nMJzM,3353
208
208
  bluer_ugv/swallow/session/classical/screen/video/playlist.py,sha256=OAqPz_eOlBdWKlYDmqtD3FaO9duAbA94kr02jSbSFIo,2934
209
209
  bluer_ugv/swallow/session/classical/setpoint/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -220,8 +220,8 @@ bluer_ugv/swallow/session/classical/ultrasonic_sensor/pack.py,sha256=bVcG8V0P6Sl
220
220
  bluer_ugv/swallow/session/classical/ultrasonic_sensor/review.py,sha256=_iQmec2VSq-ORkTVpXSNJg08hrSz2M1O8LzNZEtoT9U,959
221
221
  bluer_ugv/swallow/session/classical/ultrasonic_sensor/sensor.py,sha256=En-J8BRTiR8k9p2CBbW0cOUuw8nctD5DOXDm5uhCNO4,3987
222
222
  bluer_ugv/swallow/session/classical/ultrasonic_sensor/testing.py,sha256=yj2MY_Jo1FzeXnR_JoFAXsb9eHEVhicDiHEsUa8z03U,1525
223
- bluer_ugv-7.673.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
224
- bluer_ugv-7.673.1.dist-info/METADATA,sha256=RkdqJvbfIvkg2iZNLhym9eixcZ4g--37ZBlSubsjcD8,5677
225
- bluer_ugv-7.673.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
226
- bluer_ugv-7.673.1.dist-info/top_level.txt,sha256=_MlDhFvIPpher9Zs7xyJTHgO2xJJTbfR1dzncz3LQnk,10
227
- bluer_ugv-7.673.1.dist-info/RECORD,,
223
+ bluer_ugv-7.683.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
224
+ bluer_ugv-7.683.1.dist-info/METADATA,sha256=1H-6d-E0kGFYL1Q7eNdYcdyfQRowE1PIkQaTIoaH5tk,5704
225
+ bluer_ugv-7.683.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
226
+ bluer_ugv-7.683.1.dist-info/top_level.txt,sha256=_MlDhFvIPpher9Zs7xyJTHgO2xJJTbfR1dzncz3LQnk,10
227
+ bluer_ugv-7.683.1.dist-info/RECORD,,