trcc-linux 9.6.1__tar.gz → 9.6.2__tar.gz

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.
Files changed (1059) hide show
  1. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/PKG-INFO +2 -1
  2. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/pyproject.toml +9 -1
  3. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/__version__.py +1 -1
  4. trcc_linux-9.6.2/src/trcc/adapters/device/_pyusb_find.py +46 -0
  5. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/_usb_bot_scsi.py +3 -2
  6. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/_usb_helpers.py +6 -4
  7. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/detector.py +2 -2
  8. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/hid.py +3 -2
  9. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/macos/detector.py +2 -2
  10. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/infra/diagnostics.py +28 -6
  11. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/ports.py +58 -0
  12. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/trcc.py +45 -100
  13. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/daemon.py +2 -1
  14. trcc_linux-9.6.2/src/trcc/services/metrics_loop.py +181 -0
  15. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/api/__init__.py +0 -16
  16. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/api/led.py +5 -8
  17. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/__init__.py +2 -1
  18. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/.gitignore +0 -0
  19. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/LICENSE +0 -0
  20. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/README.md +0 -0
  21. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/__init__.py +0 -0
  22. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/__main__.py +0 -0
  23. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/_boot.py +0 -0
  24. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/_entry.py +0 -0
  25. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/__init__.py +0 -0
  26. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/__init__.py +0 -0
  27. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/bsd/__init__.py +0 -0
  28. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/bsd/detector.py +0 -0
  29. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/bsd/scsi.py +0 -0
  30. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/bulk.py +0 -0
  31. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/bulk_protocol.py +0 -0
  32. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/factory.py +0 -0
  33. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/frame.py +0 -0
  34. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/hid_protocol.py +0 -0
  35. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/led.py +0 -0
  36. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/led_kvm.py +0 -0
  37. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/led_protocol.py +0 -0
  38. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/linux/__init__.py +0 -0
  39. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/linux/detector.py +0 -0
  40. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/linux/scsi.py +0 -0
  41. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/ly.py +0 -0
  42. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/ly_protocol.py +0 -0
  43. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/macos/__init__.py +0 -0
  44. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/macos/scsi.py +0 -0
  45. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/scsi.py +0 -0
  46. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/scsi_protocol.py +0 -0
  47. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/windows/__init__.py +0 -0
  48. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/windows/detector.py +0 -0
  49. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/device/windows/scsi.py +0 -0
  50. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/infra/__init__.py +0 -0
  51. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/infra/binary_reader.py +0 -0
  52. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/infra/data_repository.py +0 -0
  53. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/infra/dc_config.py +0 -0
  54. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/infra/dc_parser.py +0 -0
  55. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/infra/dc_writer.py +0 -0
  56. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/infra/debug_report.py +0 -0
  57. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/infra/doctor.py +0 -0
  58. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/infra/logging_setup.py +0 -0
  59. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/infra/media_player.py +0 -0
  60. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/infra/network.py +0 -0
  61. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/infra/theme_cloud.py +0 -0
  62. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/infra/theme_downloader.py +0 -0
  63. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/render/__init__.py +0 -0
  64. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/render/factory_render.py +0 -0
  65. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/render/qt.py +0 -0
  66. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/__init__.py +0 -0
  67. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/_base.py +0 -0
  68. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/_shared.py +0 -0
  69. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/_windows_wmi.py +0 -0
  70. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/bsd_platform.py +0 -0
  71. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/config.py +0 -0
  72. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/linux_platform.py +0 -0
  73. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/linux_sensors.py +0 -0
  74. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/macos/__init__.py +0 -0
  75. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/macos/hardware.py +0 -0
  76. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/macos/hid_sensors.py +0 -0
  77. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/macos/powermetrics_extra.py +0 -0
  78. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/macos/powermetrics_ipc.py +0 -0
  79. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/macos/powermetrics_plist.py +0 -0
  80. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/macos/sensors.py +0 -0
  81. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/macos/smc_client.py +0 -0
  82. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/macos/smc_ismc_tables.py +0 -0
  83. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/macos_platform.py +0 -0
  84. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/windows/__init__.py +0 -0
  85. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/windows/enumerator.py +0 -0
  86. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/windows/sources/__init__.py +0 -0
  87. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/windows/sources/_base.py +0 -0
  88. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/windows/sources/hwinfo.py +0 -0
  89. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/windows/sources/lhm.py +0 -0
  90. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/windows/sources/msacpi.py +0 -0
  91. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/adapters/system/windows_platform.py +0 -0
  92. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/LibreHardwareMonitor.config +0 -0
  93. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/com.github.lexonight1.trcc.policy +0 -0
  94. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/fonts/MSYH.TTC +0 -0
  95. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/fonts/MSYHBD.TTC +0 -0
  96. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/fonts/README.md +0 -0
  97. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/icons/app.ico +0 -0
  98. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/icons/trcc.png +0 -0
  99. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/icons/trcc_128x128.png +0 -0
  100. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/icons/trcc_16x16.png +0 -0
  101. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/icons/trcc_24x24.png +0 -0
  102. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/icons/trcc_256x256.png +0 -0
  103. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/icons/trcc_32x32.png +0 -0
  104. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/icons/trcc_48x48.png +0 -0
  105. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/icons/trcc_64x64.png +0 -0
  106. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/trcc-linux.desktop +0 -0
  107. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/assets/trcc-quirk-fix.service +0 -0
  108. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/conf.py +0 -0
  109. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/__init__.py +0 -0
  110. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/_command.py +0 -0
  111. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/_device_commands.py +0 -0
  112. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/_logging.py +0 -0
  113. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/builder.py +0 -0
  114. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/color.py +0 -0
  115. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/control_center_commands.py +0 -0
  116. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/device/__init__.py +0 -0
  117. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/device/base.py +0 -0
  118. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/device/factory.py +0 -0
  119. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/device/lcd.py +0 -0
  120. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/device/lcd_persistence.py +0 -0
  121. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/device/lcd_theme_workflow.py +0 -0
  122. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/device/led.py +0 -0
  123. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/device/registry.py +0 -0
  124. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/encoding.py +0 -0
  125. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/events.py +0 -0
  126. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/i18n.py +0 -0
  127. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/io.py +0 -0
  128. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/lcd_commands.py +0 -0
  129. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/led_commands.py +0 -0
  130. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/led_segment.py +0 -0
  131. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/macos_app_bundle_launch.py +0 -0
  132. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/models/__init__.py +0 -0
  133. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/models/api.py +0 -0
  134. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/models/constants.py +0 -0
  135. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/models/device.py +0 -0
  136. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/models/led.py +0 -0
  137. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/models/os.py +0 -0
  138. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/models/overlay.py +0 -0
  139. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/models/protocol.py +0 -0
  140. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/models/sensor.py +0 -0
  141. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/models/theme.py +0 -0
  142. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/paths.py +0 -0
  143. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/perf.py +0 -0
  144. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/platform.py +0 -0
  145. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/results.py +0 -0
  146. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/trcc_proxy.py +0 -0
  147. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/core/wire.py +0 -0
  148. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/data/trcc_usb.te +0 -0
  149. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/install/__init__.py +0 -0
  150. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/install/gui.py +0 -0
  151. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ipc.py +0 -0
  152. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/__init__.py +0 -0
  153. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/__main__.py +0 -0
  154. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/__init__.py +0 -0
  155. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/device/__init__.py +0 -0
  156. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/device/bulk_lcd.py +0 -0
  157. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/device/hid_lcd.py +0 -0
  158. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/device/led.py +0 -0
  159. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/device/ly_lcd.py +0 -0
  160. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/device/scsi_lcd.py +0 -0
  161. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/device/transport.py +0 -0
  162. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/device/usb_bot_scsi.py +0 -0
  163. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/render/__init__.py +0 -0
  164. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/render/qt.py +0 -0
  165. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/sensors/__init__.py +0 -0
  166. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/sensors/aggregator.py +0 -0
  167. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/sensors/gpu_detect.py +0 -0
  168. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/sensors/hwmon.py +0 -0
  169. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/sensors/nvml.py +0 -0
  170. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/sensors/psutil_sources.py +0 -0
  171. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/system/__init__.py +0 -0
  172. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/system/_devd.py +0 -0
  173. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/system/_macos_setup.py +0 -0
  174. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/system/_udev.py +0 -0
  175. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/system/_winusb.py +0 -0
  176. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/system/bsd.py +0 -0
  177. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/system/linux.py +0 -0
  178. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/system/macos.py +0 -0
  179. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/adapters/system/windows.py +0 -0
  180. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/app.py +0 -0
  181. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/core/__init__.py +0 -0
  182. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/core/commands.py +0 -0
  183. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/core/errors.py +0 -0
  184. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/core/events.py +0 -0
  185. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/core/models.py +0 -0
  186. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/core/ports.py +0 -0
  187. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/core/registry.py +0 -0
  188. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/core/results.py +0 -0
  189. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/services/__init__.py +0 -0
  190. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/services/_dc_reader.py +0 -0
  191. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/services/display.py +0 -0
  192. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/services/led_segment.py +0 -0
  193. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/services/media.py +0 -0
  194. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/services/overlay.py +0 -0
  195. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/services/settings.py +0 -0
  196. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/services/theme.py +0 -0
  197. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/__init__.py +0 -0
  198. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/api/__init__.py +0 -0
  199. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/api/_shared.py +0 -0
  200. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/api/devices.py +0 -0
  201. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/api/display.py +0 -0
  202. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/api/led.py +0 -0
  203. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/api/main.py +0 -0
  204. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/api/schemas.py +0 -0
  205. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/api/system.py +0 -0
  206. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/cli/__init__.py +0 -0
  207. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/cli/_ctx.py +0 -0
  208. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/cli/device.py +0 -0
  209. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/cli/display.py +0 -0
  210. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/cli/led.py +0 -0
  211. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/cli/main.py +0 -0
  212. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/cli/system.py +0 -0
  213. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/gui/__init__.py +0 -0
  214. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/gui/app.py +0 -0
  215. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/gui/bus_bridge.py +0 -0
  216. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/gui/panels/__init__.py +0 -0
  217. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/gui/panels/device_panel.py +0 -0
  218. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/gui/panels/display_panel.py +0 -0
  219. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/next/ui/gui/panels/led_panel.py +0 -0
  220. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/__init__.py +0 -0
  221. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/audio.py +0 -0
  222. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/device.py +0 -0
  223. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/display.py +0 -0
  224. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/display_loops.py +0 -0
  225. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/display_pipeline.py +0 -0
  226. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/image.py +0 -0
  227. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/lcd_config.py +0 -0
  228. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/led.py +0 -0
  229. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/led_config.py +0 -0
  230. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/led_effects.py +0 -0
  231. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/media.py +0 -0
  232. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/overlay.py +0 -0
  233. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/perf.py +0 -0
  234. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/system.py +0 -0
  235. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/theme.py +0 -0
  236. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/theme_loader.py +0 -0
  237. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/theme_persistence.py +0 -0
  238. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/services/video_cache.py +0 -0
  239. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/__init__.py +0 -0
  240. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/api/control_center.py +0 -0
  241. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/api/devices.py +0 -0
  242. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/api/display.py +0 -0
  243. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/api/i18n.py +0 -0
  244. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/api/models.py +0 -0
  245. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/api/system.py +0 -0
  246. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/api/themes.py +0 -0
  247. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/api/trcc.py +0 -0
  248. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/cli/__init__.py +0 -0
  249. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/cli/__main__.py +0 -0
  250. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/cli/_connect.py +0 -0
  251. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/cli/_control_center.py +0 -0
  252. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/cli/_device.py +0 -0
  253. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/cli/_diag.py +0 -0
  254. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/cli/_display.py +0 -0
  255. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/cli/_i18n.py +0 -0
  256. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/cli/_led.py +0 -0
  257. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/cli/_status.py +0 -0
  258. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/cli/_system.py +0 -0
  259. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/cli/_theme.py +0 -0
  260. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/240240.gif +0 -0
  261. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/240320.gif +0 -0
  262. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/320240.gif +0 -0
  263. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/320320.gif +0 -0
  264. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1AK120 Digital.png +0 -0
  265. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1AK120 Digitala.png +0 -0
  266. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1AK120_Digital.png +0 -0
  267. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1AK120_Digitala.png +0 -0
  268. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1AS120 VISION.png +0 -0
  269. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1AS120 VISIONa.png +0 -0
  270. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1AS120_VISION.png +0 -0
  271. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1AS120_VISIONa.png +0 -0
  272. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1AX120 DIGITAL.png +0 -0
  273. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1AX120 DIGITALa.png +0 -0
  274. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1AX120_DIGITAL.png +0 -0
  275. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1AX120_DIGITALa.png +0 -0
  276. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1BA120 VISION.png +0 -0
  277. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1BA120 VISIONa.png +0 -0
  278. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1BA120_VISION.png +0 -0
  279. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1BA120_VISIONa.png +0 -0
  280. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1CORE VISION.png +0 -0
  281. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1CORE VISIONa.png +0 -0
  282. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1CORE_VISION.png +0 -0
  283. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1CORE_VISIONa.png +0 -0
  284. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1CZ1.png +0 -0
  285. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1CZ1a.png +0 -0
  286. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1CZ2.png +0 -0
  287. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1CZ2a.png +0 -0
  288. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1CZTV.png +0 -0
  289. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1CZTVa.png +0 -0
  290. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1ELITE VISION.png +0 -0
  291. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1ELITE VISIONa.png +0 -0
  292. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1ELITE_VISION.png +0 -0
  293. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1ELITE_VISIONa.png +0 -0
  294. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN HORIZON PRO.png +0 -0
  295. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN HORIZON PROa.png +0 -0
  296. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN MAGIC PRO.png +0 -0
  297. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN MAGIC PROa.png +0 -0
  298. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN VISION V2.png +0 -0
  299. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN VISION V2a.png +0 -0
  300. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN WARFRAME PRO.png +0 -0
  301. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN WARFRAME PROa.png +0 -0
  302. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN WARFRAME SE.png +0 -0
  303. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN WARFRAME SEa.png +0 -0
  304. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN WARFRAME.png +0 -0
  305. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN WARFRAMEa.png +0 -0
  306. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN_HORIZON_PRO.png +0 -0
  307. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN_HORIZON_PROa.png +0 -0
  308. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN_MAGIC_PRO.png +0 -0
  309. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN_MAGIC_PROa.png +0 -0
  310. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN_VISION_V2.png +0 -0
  311. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN_VISION_V2a.png +0 -0
  312. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAME.png +0 -0
  313. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAME_PRO.png +0 -0
  314. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAME_PROa.png +0 -0
  315. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAME_SE.png +0 -0
  316. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAME_SEa.png +0 -0
  317. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1FROZEN_WARFRAMEa.png +0 -0
  318. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1GRAND VISION.png +0 -0
  319. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1GRAND VISIONa.png +0 -0
  320. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1GRAND_VISION.png +0 -0
  321. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1GRAND_VISIONa.png +0 -0
  322. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1HR10 2280 PRO DIGITAL.png +0 -0
  323. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1HR10 2280 PRO DIGITALa.png +0 -0
  324. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1HYPER VISION.png +0 -0
  325. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1HYPER VISIONa.png +0 -0
  326. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1HYPER_VISION.png +0 -0
  327. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1HYPER_VISIONa.png +0 -0
  328. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1KVMALEDC6.png +0 -0
  329. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1KVMALEDC6a.png +0 -0
  330. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC1.png +0 -0
  331. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC1a.png +0 -0
  332. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC2.png +0 -0
  333. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC2JD.png +0 -0
  334. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC2JDa.png +0 -0
  335. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC2a.png +0 -0
  336. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC3.png +0 -0
  337. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC3a.png +0 -0
  338. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC5.png +0 -0
  339. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC5a.png +0 -0
  340. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC7.png +0 -0
  341. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC7a.png +0 -0
  342. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC8.png +0 -0
  343. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC8a.png +0 -0
  344. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC9.png +0 -0
  345. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LC9a.png +0 -0
  346. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LD10.png +0 -0
  347. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LD10a.png +0 -0
  348. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LD6.png +0 -0
  349. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LD6a.png +0 -0
  350. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LD7.png +0 -0
  351. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LD7a.png +0 -0
  352. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LD8.png +0 -0
  353. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LD8a.png +0 -0
  354. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LD9.png +0 -0
  355. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LD9a.png +0 -0
  356. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF10.png +0 -0
  357. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF10V.png +0 -0
  358. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF10Va.png +0 -0
  359. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF10a.png +0 -0
  360. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF11.png +0 -0
  361. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF11a.png +0 -0
  362. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF12.png +0 -0
  363. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF12a.png +0 -0
  364. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF13.png +0 -0
  365. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF13a.png +0 -0
  366. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF14.png +0 -0
  367. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF14a.png +0 -0
  368. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF15.png +0 -0
  369. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF15a.png +0 -0
  370. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF16.png +0 -0
  371. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF167.png +0 -0
  372. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF16a.png +0 -0
  373. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF17a.png +0 -0
  374. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF18.png +0 -0
  375. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF18a.png +0 -0
  376. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF19.png +0 -0
  377. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF19a.png +0 -0
  378. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF20.png +0 -0
  379. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF20a.png +0 -0
  380. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF21.png +0 -0
  381. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF21a.png +0 -0
  382. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF22.png +0 -0
  383. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF22a.png +0 -0
  384. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF25.png +0 -0
  385. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF25a.png +0 -0
  386. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF8.png +0 -0
  387. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LF8a.png +0 -0
  388. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LM16SE.png +0 -0
  389. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LM16SEa.png +0 -0
  390. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LM19SE.png +0 -0
  391. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LM19SEa.png +0 -0
  392. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LM22.png +0 -0
  393. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LM22a.png +0 -0
  394. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LM24.png +0 -0
  395. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LM24a.png +0 -0
  396. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LM26.png +0 -0
  397. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LM26a.png +0 -0
  398. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LM27.png +0 -0
  399. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LM27a.png +0 -0
  400. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LM30.png +0 -0
  401. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1LM30a.png +0 -0
  402. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1Mjolnir VISION PRO.png +0 -0
  403. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1Mjolnir VISION PROa.png +0 -0
  404. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1Mjolnir VISION.png +0 -0
  405. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1Mjolnir VISIONa.png +0 -0
  406. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1Mjolnir_VISION.png +0 -0
  407. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1Mjolnir_VISION_PRO.png +0 -0
  408. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1Mjolnir_VISION_PROa.png +0 -0
  409. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1Mjolnir_VISIONa.png +0 -0
  410. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1PA120 DIGITAL.png +0 -0
  411. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1PA120 DIGITALa.png +0 -0
  412. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1PA120_DIGITAL.png +0 -0
  413. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1PA120_DIGITALa.png +0 -0
  414. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1PC1.png +0 -0
  415. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1PC1a.png +0 -0
  416. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1RK120 DIGITAL.png +0 -0
  417. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1RK120 DIGITALa.png +0 -0
  418. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1RK120_DIGITAL.png +0 -0
  419. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1RK120_DIGITALa.png +0 -0
  420. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1RP130 VISION.png +0 -0
  421. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1RP130 VISIONa.png +0 -0
  422. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1RP130_VISION.png +0 -0
  423. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1RP130_VISIONa.png +0 -0
  424. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1Stream Vision.png +0 -0
  425. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1Stream Visiona.png +0 -0
  426. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1Stream_Vision.png +0 -0
  427. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/A1Stream_Visiona.png +0 -0
  428. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/about_dropdown.png +0 -0
  429. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/about_dropdown_bg.png +0 -0
  430. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/about_dropdown_select.png +0 -0
  431. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/about_update.png +0 -0
  432. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/about_update_overlay.png +0 -0
  433. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_about_bg.png +0 -0
  434. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_brightness_0.png +0 -0
  435. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_brightness_1.png +0 -0
  436. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_brightness_2.png +0 -0
  437. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_brightness_3.png +0 -0
  438. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_export.png +0 -0
  439. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_form_bg.png +0 -0
  440. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_help.png +0 -0
  441. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_import.png +0 -0
  442. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_main_bg.png +0 -0
  443. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_power.png +0 -0
  444. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_power_hover.png +0 -0
  445. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_save.png +0 -0
  446. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_sysinfo_bg.png +0 -0
  447. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_tab_cloud.png +0 -0
  448. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_tab_cloud_active.png +0 -0
  449. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_tab_local.png +0 -0
  450. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_tab_local_active.png +0 -0
  451. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_tab_mask.png +0 -0
  452. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_tab_mask_active.png +0 -0
  453. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_tab_mask_lower.png +0 -0
  454. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_tab_settings.png +0 -0
  455. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_tab_settings_active.png +0 -0
  456. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_theme_base_bg.png +0 -0
  457. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_theme_gallery_bg.png +0 -0
  458. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/app_theme_settings_bg.png +0 -0
  459. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/carousel_1.png +0 -0
  460. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/carousel_2.png +0 -0
  461. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/carousel_3.png +0 -0
  462. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/carousel_4.png +0 -0
  463. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/carousel_5.png +0 -0
  464. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/carousel_6.png +0 -0
  465. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/carousel_btn.png +0 -0
  466. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/carousel_btn_active.png +0 -0
  467. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/carousel_select_frame.png +0 -0
  468. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/color_panel_eyedropper.png +0 -0
  469. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/color_panel_picker.png +0 -0
  470. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/color_panel_selector_ring.png +0 -0
  471. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/color_panel_slider_thumb.png +0 -0
  472. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/color_wheel_knob.png +0 -0
  473. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/color_wheel_knob_0.png +0 -0
  474. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/color_wheel_toggle_hover.png +0 -0
  475. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/color_wheel_toggle_off.png +0 -0
  476. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/color_wheel_toggle_on.png +0 -0
  477. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_12h.png +0 -0
  478. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_24h.png +0 -0
  479. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_border.png +0 -0
  480. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_border_active.png +0 -0
  481. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_crop.png +0 -0
  482. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_date_dm.png +0 -0
  483. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_date_dmy.png +0 -0
  484. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_date_md.png +0 -0
  485. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_date_ymd.png +0 -0
  486. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_digit_font.png +0 -0
  487. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_fit_height.png +0 -0
  488. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_fit_width.png +0 -0
  489. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_function.png +0 -0
  490. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_function_active.png +0 -0
  491. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_icon.png +0 -0
  492. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_icon_gif.png +0 -0
  493. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_icon_image.png +0 -0
  494. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_icon_livestream.png +0 -0
  495. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_icon_mask.png +0 -0
  496. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_icon_network.png +0 -0
  497. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_icon_video.png +0 -0
  498. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_m1.png +0 -0
  499. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_m1_active.png +0 -0
  500. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_m2.png +0 -0
  501. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_m2_active.png +0 -0
  502. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_m3.png +0 -0
  503. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_m3_active.png +0 -0
  504. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_m4.png +0 -0
  505. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_m4_active.png +0 -0
  506. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_m5.png +0 -0
  507. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_m5_active.png +0 -0
  508. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_m6.png +0 -0
  509. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_m6_active.png +0 -0
  510. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_minus.png +0 -0
  511. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_network_btn.png +0 -0
  512. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_plus.png +0 -0
  513. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_rotate.png +0 -0
  514. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_slider_thumb.png +0 -0
  515. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_text_font.png +0 -0
  516. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_unit_c.png +0 -0
  517. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/display_mode_unit_f.png +0 -0
  518. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/frozen_warframe_ultra.png +0 -0
  519. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/frozen_warframe_ultra_active.png +0 -0
  520. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_110x480.png +0 -0
  521. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_116x480.png +0 -0
  522. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_1280x480.png +0 -0
  523. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_160x480.png +0 -0
  524. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_180x400.png +0 -0
  525. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_180x480.png +0 -0
  526. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_240x240.png +0 -0
  527. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_240x320.png +0 -0
  528. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_240x400.png +0 -0
  529. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_240x427.png +0 -0
  530. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_270x480.png +0 -0
  531. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_320x240.png +0 -0
  532. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_320x320.png +0 -0
  533. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_320x86.png +0 -0
  534. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_360x360.png +0 -0
  535. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_400x180.png +0 -0
  536. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_400x240.png +0 -0
  537. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_427x240.png +0 -0
  538. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_480x110.png +0 -0
  539. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_480x116.png +0 -0
  540. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_480x160.png +0 -0
  541. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_480x180.png +0 -0
  542. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_480x270.png +0 -0
  543. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_480x480.png +0 -0
  544. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/image_cut_86x320.png +0 -0
  545. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_aggregate.png +0 -0
  546. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_aggregate_active.png +0 -0
  547. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_bg_cz1.png +0 -0
  548. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_bg_kvma.png +0 -0
  549. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_bg_lc1.png +0 -0
  550. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_bg_lc2.png +0 -0
  551. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_bg_lf10.png +0 -0
  552. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_bg_lf11.png +0 -0
  553. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_bg_lf12.png +0 -0
  554. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_bg_lf13.png +0 -0
  555. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_bg_lf15.png +0 -0
  556. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_bg_lf8.png +0 -0
  557. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_bg_rgb_lf13.png +0 -0
  558. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_bg_segment.png +0 -0
  559. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_bg_segment_4zone.png +0 -0
  560. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_dropdown.png +0 -0
  561. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_dropdown_2.png +0 -0
  562. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_dropdown_highlight.png +0 -0
  563. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_dropdown_highlight_2.png +0 -0
  564. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_dropdown_menu.png +0 -0
  565. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_dropdown_menu_2.png +0 -0
  566. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_external.png +0 -0
  567. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_external_active.png +0 -0
  568. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_helmet_1.png +0 -0
  569. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_helmet_2.png +0 -0
  570. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_helmet_3.png +0 -0
  571. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_helmet_4.png +0 -0
  572. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_helmet_5.png +0 -0
  573. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_meter_bar_1.png +0 -0
  574. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_meter_bar_2.png +0 -0
  575. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_meter_bar_3.png +0 -0
  576. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_meter_bar_4.png +0 -0
  577. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_meter_bar_5.png +0 -0
  578. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_meter_bar_6.png +0 -0
  579. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_meter_bg_1.png +0 -0
  580. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_meter_bg_2.png +0 -0
  581. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_meter_bg_3.png +0 -0
  582. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_meter_bg_4.png +0 -0
  583. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_meter_bg_5.png +0 -0
  584. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_meter_bg_5_active.png +0 -0
  585. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_meter_bg_6.png +0 -0
  586. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_1.png +0 -0
  587. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_10.png +0 -0
  588. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_10_active.png +0 -0
  589. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_11.png +0 -0
  590. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_11_active.png +0 -0
  591. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_12.png +0 -0
  592. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_12_active.png +0 -0
  593. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_1_active.png +0 -0
  594. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_2.png +0 -0
  595. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_2_active.png +0 -0
  596. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_3.png +0 -0
  597. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_3_active.png +0 -0
  598. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_4.png +0 -0
  599. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_4_active.png +0 -0
  600. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_5.png +0 -0
  601. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_5_active.png +0 -0
  602. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_6.png +0 -0
  603. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_6_active.png +0 -0
  604. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_7.png +0 -0
  605. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_7_active.png +0 -0
  606. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_8.png +0 -0
  607. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_8_active.png +0 -0
  608. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_9.png +0 -0
  609. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_mode_9_active.png +0 -0
  610. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_power.png +0 -0
  611. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_power_active.png +0 -0
  612. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preset_blue.png +0 -0
  613. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preset_cyan.png +0 -0
  614. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preset_green.png +0 -0
  615. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preset_orange.png +0 -0
  616. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preset_purple.png +0 -0
  617. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preset_red.png +0 -0
  618. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preset_white.png +0 -0
  619. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preset_yellow.png +0 -0
  620. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preview_ak120.png +0 -0
  621. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preview_ax120.png +0 -0
  622. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preview_cz1.png +0 -0
  623. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preview_frozen_horizon_pro.png +0 -0
  624. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preview_frozen_magic_pro.png +0 -0
  625. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preview_lc1.png +0 -0
  626. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preview_lc2.png +0 -0
  627. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preview_lf10.png +0 -0
  628. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preview_lf11.png +0 -0
  629. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preview_lf12.png +0 -0
  630. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preview_lf13.png +0 -0
  631. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preview_lf15.png +0 -0
  632. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preview_lf8.png +0 -0
  633. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preview_pa120.png +0 -0
  634. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_preview_pa120_space.png +0 -0
  635. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_show_1.png +0 -0
  636. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_show_1_active.png +0 -0
  637. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_show_2.png +0 -0
  638. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_show_2_active.png +0 -0
  639. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_show_3.png +0 -0
  640. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_show_3_active.png +0 -0
  641. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_slider_thumb.png +0 -0
  642. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_btn_1.png +0 -0
  643. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_btn_1_active.png +0 -0
  644. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_btn_2.png +0 -0
  645. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_btn_2_active.png +0 -0
  646. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_btn_3.png +0 -0
  647. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_btn_3_active.png +0 -0
  648. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_btn_4.png +0 -0
  649. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_btn_4_active.png +0 -0
  650. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_mode_1.png +0 -0
  651. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_mode_1_active.png +0 -0
  652. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_mode_2.png +0 -0
  653. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_mode_2_active.png +0 -0
  654. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_mode_3.png +0 -0
  655. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_mode_3_active.png +0 -0
  656. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_mode_4.png +0 -0
  657. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_mode_4_active.png +0 -0
  658. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_mode_5.png +0 -0
  659. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_mode_5_active.png +0 -0
  660. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_mode_6.png +0 -0
  661. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/led_zone_mode_6_active.png +0 -0
  662. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_label_sysinfo.png +0 -0
  663. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_label_sysinfo_1_en.png +0 -0
  664. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_label_sysinfo_1_tc.png +0 -0
  665. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_label_sysinfo_en.png +0 -0
  666. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_label_sysinfo_tc.png +0 -0
  667. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_label_text.png +0 -0
  668. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_label_text_en.png +0 -0
  669. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_label_text_tc.png +0 -0
  670. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_label_time.png +0 -0
  671. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_label_time_en.png +0 -0
  672. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_label_time_tc.png +0 -0
  673. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_mode_date.png +0 -0
  674. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_mode_hardware.png +0 -0
  675. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_mode_text.png +0 -0
  676. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_mode_time.png +0 -0
  677. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_mode_weekday.png +0 -0
  678. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/overlay_select.png +0 -0
  679. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_110x480.png +0 -0
  680. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_116x480.png +0 -0
  681. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_160x480.png +0 -0
  682. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_180x400.png +0 -0
  683. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_180x480.png +0 -0
  684. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_240x240.png +0 -0
  685. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_240x320.png +0 -0
  686. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_240x400.png +0 -0
  687. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_240x427.png +0 -0
  688. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_270x480.png +0 -0
  689. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_320x240.png +0 -0
  690. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_320x320.png +0 -0
  691. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_320x320_round.png +0 -0
  692. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_320x86.png +0 -0
  693. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_360x360_round.png +0 -0
  694. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_400x180.png +0 -0
  695. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_400x240.png +0 -0
  696. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_427x240.png +0 -0
  697. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_480x110.png +0 -0
  698. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_480x116.png +0 -0
  699. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_480x160.png +0 -0
  700. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_480x180.png +0 -0
  701. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_480x270.png +0 -0
  702. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_480x480.png +0 -0
  703. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_480x480_round.png +0 -0
  704. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_86x320.png +0 -0
  705. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_animation.png +0 -0
  706. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_btn.png +0 -0
  707. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_btn_active.png +0 -0
  708. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_pause.png +0 -0
  709. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_play.png +0 -0
  710. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_player_control_bg.png +0 -0
  711. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_1280x480.png +0 -0
  712. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_1920x440.png +0 -0
  713. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_1920x462.png +0 -0
  714. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_320x960.png +0 -0
  715. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_360x800.png +0 -0
  716. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_440x1920.png +0 -0
  717. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_462x1920.png +0 -0
  718. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_480x1280.png +0 -0
  719. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_480x800.png +0 -0
  720. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_480x854.png +0 -0
  721. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_540x960.png +0 -0
  722. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_800x360.png +0 -0
  723. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_800x480.png +0 -0
  724. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_854x480.png +0 -0
  725. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_960x320.png +0 -0
  726. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_popup_960x540.png +0 -0
  727. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_res_240x240.png +0 -0
  728. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_res_240x320.png +0 -0
  729. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_res_320x240.png +0 -0
  730. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_res_320x320.png +0 -0
  731. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_round_mask_320x320.png +0 -0
  732. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_round_mask_360x360.png +0 -0
  733. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_round_mask_480x480.png +0 -0
  734. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_video_controls_bg.png +0 -0
  735. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/preview_video_controls_bg_alt.png +0 -0
  736. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/screen_led_deco_1.png +0 -0
  737. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/screen_led_deco_2.png +0 -0
  738. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/screen_led_deco_3.png +0 -0
  739. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/screen_led_deco_4.png +0 -0
  740. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/screen_led_deco_cz1.png +0 -0
  741. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/secondary_screen_bg.png +0 -0
  742. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/secondary_screen_bg_d.png +0 -0
  743. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/secondary_screen_bg_e.png +0 -0
  744. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/secondary_screen_bg_en.png +0 -0
  745. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/secondary_screen_bg_f.png +0 -0
  746. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/secondary_screen_bg_h.png +0 -0
  747. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/secondary_screen_bg_p.png +0 -0
  748. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/secondary_screen_bg_r.png +0 -0
  749. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/secondary_screen_bg_tc.png +0 -0
  750. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/secondary_screen_bg_x.png +0 -0
  751. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_add_content.png +0 -0
  752. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_add_content_btn.png +0 -0
  753. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_add_content_mask.png +0 -0
  754. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_add_date.png +0 -0
  755. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_add_date_1.png +0 -0
  756. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_add_icon.png +0 -0
  757. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_add_link_1.png +0 -0
  758. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_add_text.png +0 -0
  759. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_add_text_1.png +0 -0
  760. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_add_time.png +0 -0
  761. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_add_time_1.png +0 -0
  762. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_add_weekday.png +0 -0
  763. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_add_weekday_1.png +0 -0
  764. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_anim_sync.png +0 -0
  765. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_background.png +0 -0
  766. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_brightness.png +0 -0
  767. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_keyboard_sync_1.png +0 -0
  768. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_keyboard_sync_2.png +0 -0
  769. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_keyboard_sync_3.png +0 -0
  770. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_module.png +0 -0
  771. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_overlay.png +0 -0
  772. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_overlay_add_bg.png +0 -0
  773. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_overlay_color_bg.png +0 -0
  774. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_overlay_grid_bg.png +0 -0
  775. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_overlay_table_bg.png +0 -0
  776. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/settings_params.png +0 -0
  777. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_brightness_bar.png +0 -0
  778. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_checkbox_off.png +0 -0
  779. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_checkbox_on.png +0 -0
  780. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_clip_a.png +0 -0
  781. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_clip_b.png +0 -0
  782. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_close.png +0 -0
  783. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_close_2.png +0 -0
  784. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_dropdown.png +0 -0
  785. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_dropdown_bg_2x.png +0 -0
  786. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_dropdown_bg_4x.png +0 -0
  787. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_dropdown_highlight.png +0 -0
  788. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_loading_animation.png +0 -0
  789. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_progress_bar.png +0 -0
  790. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_round_close.png +0 -0
  791. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_round_confirm.png +0 -0
  792. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_scrollbar_bg.png +0 -0
  793. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_scrollbar_thumb.png +0 -0
  794. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_shortcut_size_slider.png +0 -0
  795. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_thread_multi.png +0 -0
  796. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_thread_single.png +0 -0
  797. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_toggle_off.png +0 -0
  798. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shared_toggle_on.png +0 -0
  799. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shortcuts_panel.png +0 -0
  800. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shortcuts_panel_d.png +0 -0
  801. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shortcuts_panel_e.png +0 -0
  802. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shortcuts_panel_en.png +0 -0
  803. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shortcuts_panel_f.png +0 -0
  804. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shortcuts_panel_p.png +0 -0
  805. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shortcuts_panel_r.png +0 -0
  806. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shortcuts_panel_tc.png +0 -0
  807. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/shortcuts_panel_x.png +0 -0
  808. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sidebar_about.png +0 -0
  809. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sidebar_about_active.png +0 -0
  810. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sidebar_about_bg.png +0 -0
  811. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sidebar_bg.png +0 -0
  812. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sidebar_no_device.png +0 -0
  813. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sidebar_sensor.png +0 -0
  814. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sidebar_sensor_active.png +0 -0
  815. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sidebar_splash.png +0 -0
  816. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sidebar_sysinfo_bg.png +0 -0
  817. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/split_overlay_a.png +0 -0
  818. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/split_overlay_a_180.png +0 -0
  819. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/split_overlay_a_270.png +0 -0
  820. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/split_overlay_a_90.png +0 -0
  821. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/split_overlay_b.png +0 -0
  822. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/split_overlay_b_180.png +0 -0
  823. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/split_overlay_b_270.png +0 -0
  824. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/split_overlay_b_90.png +0 -0
  825. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/split_overlay_c.png +0 -0
  826. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/split_overlay_c_180.png +0 -0
  827. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/split_overlay_c_270.png +0 -0
  828. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/split_overlay_c_90.png +0 -0
  829. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sysinfo_add_group.png +0 -0
  830. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sysinfo_cpu.png +0 -0
  831. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sysinfo_custom.png +0 -0
  832. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sysinfo_dram.png +0 -0
  833. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sysinfo_fan.png +0 -0
  834. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sysinfo_gpu.png +0 -0
  835. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sysinfo_hdd.png +0 -0
  836. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sysinfo_net.png +0 -0
  837. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sysinfo_next_page.png +0 -0
  838. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sysinfo_prev_page.png +0 -0
  839. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sysinfo_scrollbar.png +0 -0
  840. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/sysinfo_select.png +0 -0
  841. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_browser_filter.png +0 -0
  842. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_browser_filter_active.png +0 -0
  843. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_cloud_label.png +0 -0
  844. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_cloud_label_d.png +0 -0
  845. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_cloud_label_e.png +0 -0
  846. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_cloud_label_en.png +0 -0
  847. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_cloud_label_f.png +0 -0
  848. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_cloud_label_h.png +0 -0
  849. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_cloud_label_p.png +0 -0
  850. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_cloud_label_r.png +0 -0
  851. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_cloud_label_tc.png +0 -0
  852. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_cloud_label_x.png +0 -0
  853. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_local_carousel.png +0 -0
  854. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_local_carousel_active.png +0 -0
  855. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_local_export_all.png +0 -0
  856. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_local_multi_select.png +0 -0
  857. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_local_multi_select_active.png +0 -0
  858. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_local_select_frame.png +0 -0
  859. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_local_select_frame_active.png +0 -0
  860. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/theme_mask_label.png +0 -0
  861. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_110x480.png +0 -0
  862. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_116x480.png +0 -0
  863. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_1280x480.png +0 -0
  864. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_160x480.png +0 -0
  865. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_180x400.png +0 -0
  866. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_180x480.png +0 -0
  867. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_240x240.png +0 -0
  868. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_240x320.png +0 -0
  869. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_240x400.png +0 -0
  870. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_240x427.png +0 -0
  871. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_270x480.png +0 -0
  872. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_320x240.png +0 -0
  873. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_320x320.png +0 -0
  874. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_320x86.png +0 -0
  875. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_360x360.png +0 -0
  876. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_400x180.png +0 -0
  877. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_400x240.png +0 -0
  878. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_427x240.png +0 -0
  879. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_480x110.png +0 -0
  880. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_480x116.png +0 -0
  881. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_480x160.png +0 -0
  882. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_480x180.png +0 -0
  883. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_480x270.png +0 -0
  884. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_480x480.png +0 -0
  885. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_86x320.png +0 -0
  886. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_bg.png +0 -0
  887. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets/video_cut_bg_alt.png +0 -0
  888. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/assets.py +0 -0
  889. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/base.py +0 -0
  890. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/base_handler.py +0 -0
  891. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/color_and_add_panels.py +0 -0
  892. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/constants.py +0 -0
  893. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/display_mode_panels.py +0 -0
  894. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/eyedropper.py +0 -0
  895. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/lcd_handler.py +0 -0
  896. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/led_handler.py +0 -0
  897. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/metrics_mediator.py +0 -0
  898. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/overlay_element.py +0 -0
  899. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/overlay_grid.py +0 -0
  900. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/pipewire_capture.py +0 -0
  901. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/screen_capture.py +0 -0
  902. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/splash.py +0 -0
  903. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/trcc_app.py +0 -0
  904. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_about.py +0 -0
  905. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_activity_sidebar.py +0 -0
  906. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_color_wheel.py +0 -0
  907. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_device.py +0 -0
  908. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_image_cut.py +0 -0
  909. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_info_module.py +0 -0
  910. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_led_control.py +0 -0
  911. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_preview.py +0 -0
  912. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_screen_led.py +0 -0
  913. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_sensor_picker.py +0 -0
  914. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_system_info.py +0 -0
  915. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_theme_local.py +0 -0
  916. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_theme_mask.py +0 -0
  917. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_theme_setting.py +0 -0
  918. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_theme_web.py +0 -0
  919. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/src/trcc/ui/gui/uc_video_cut.py +0 -0
  920. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/README.md +0 -0
  921. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/__init__.py +0 -0
  922. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/__init__.py +0 -0
  923. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/__init__.py +0 -0
  924. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/bsd/__init__.py +0 -0
  925. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/bsd/test_detector.py +0 -0
  926. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/bsd/test_scsi.py +0 -0
  927. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/bsd/test_scsi_protocol.py +0 -0
  928. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/conftest.py +0 -0
  929. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/linux/__init__.py +0 -0
  930. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/linux/test_scsi.py +0 -0
  931. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/macos/__init__.py +0 -0
  932. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/macos/test_detector.py +0 -0
  933. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/macos/test_scsi.py +0 -0
  934. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/test_bulk.py +0 -0
  935. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/test_detector.py +0 -0
  936. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/test_factory.py +0 -0
  937. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/test_frame.py +0 -0
  938. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/test_implementations.py +0 -0
  939. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/test_led.py +0 -0
  940. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/test_led_kvm.py +0 -0
  941. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/test_ly.py +0 -0
  942. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/test_scsi.py +0 -0
  943. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/windows/__init__.py +0 -0
  944. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/windows/test_detector.py +0 -0
  945. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/device/windows/test_scsi.py +0 -0
  946. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/infra/__init__.py +0 -0
  947. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/infra/test_data_repository.py +0 -0
  948. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/infra/test_dc_config.py +0 -0
  949. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/infra/test_dc_parser.py +0 -0
  950. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/infra/test_dc_writer.py +0 -0
  951. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/infra/test_debug_report.py +0 -0
  952. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/infra/test_media_player.py +0 -0
  953. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/infra/test_theme_cloud.py +0 -0
  954. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/infra/test_theme_downloader.py +0 -0
  955. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/__init__.py +0 -0
  956. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/bsd/__init__.py +0 -0
  957. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/bsd/test_hardware.py +0 -0
  958. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/bsd/test_platform.py +0 -0
  959. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/bsd/test_sensors.py +0 -0
  960. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/conftest.py +0 -0
  961. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/linux/__init__.py +0 -0
  962. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/linux/test_hardware.py +0 -0
  963. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/linux/test_platform.py +0 -0
  964. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/linux/test_sensors.py +0 -0
  965. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/macos/__init__.py +0 -0
  966. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/macos/test_hardware.py +0 -0
  967. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/macos/test_platform.py +0 -0
  968. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/macos/test_powermetrics_extra.py +0 -0
  969. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/macos/test_powermetrics_ipc.py +0 -0
  970. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/macos/test_powermetrics_plist.py +0 -0
  971. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/macos/test_sensors.py +0 -0
  972. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/test_config.py +0 -0
  973. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/windows/__init__.py +0 -0
  974. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/windows/test_hardware.py +0 -0
  975. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/windows/test_hwinfo_source.py +0 -0
  976. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/windows/test_platform.py +0 -0
  977. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/adapters/system/windows/test_sensors.py +0 -0
  978. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/api/__init__.py +0 -0
  979. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/api/conftest.py +0 -0
  980. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/api/test_api.py +0 -0
  981. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/api/test_api_security.py +0 -0
  982. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/cli/__init__.py +0 -0
  983. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/cli/conftest.py +0 -0
  984. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/cli/test_cli.py +0 -0
  985. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/cli/test_device.py +0 -0
  986. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/cli/test_display.py +0 -0
  987. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/cli/test_led.py +0 -0
  988. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/cli/test_serve.py +0 -0
  989. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/cli/test_system.py +0 -0
  990. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/cli/test_theme.py +0 -0
  991. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/conftest.py +0 -0
  992. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/__init__.py +0 -0
  993. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_builder.py +0 -0
  994. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_builder_routing.py +0 -0
  995. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_color.py +0 -0
  996. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_descriptors_ipc.py +0 -0
  997. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_device_isolation.py +0 -0
  998. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_encoding.py +0 -0
  999. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_geometry.py +0 -0
  1000. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_i18n.py +0 -0
  1001. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_io.py +0 -0
  1002. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_lcd_device.py +0 -0
  1003. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_led_device.py +0 -0
  1004. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_led_segment.py +0 -0
  1005. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_led_segment_ax120.py +0 -0
  1006. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_models.py +0 -0
  1007. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_paths.py +0 -0
  1008. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_perf.py +0 -0
  1009. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/core/test_wire.py +0 -0
  1010. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/fixtures/hwinfo/.gitkeep +0 -0
  1011. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/gui/__init__.py +0 -0
  1012. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/gui/conftest.py +0 -0
  1013. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/gui/test_base.py +0 -0
  1014. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/gui/test_base_panel.py +0 -0
  1015. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/gui/test_constants.py +0 -0
  1016. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/gui/test_lcd_handler.py +0 -0
  1017. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/gui/test_led_control.py +0 -0
  1018. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/gui/test_misc.py +0 -0
  1019. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/gui/test_preview.py +0 -0
  1020. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/gui/test_screen_capture.py +0 -0
  1021. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/gui/test_theme_mask.py +0 -0
  1022. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/gui/test_theme_setting.py +0 -0
  1023. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/gui/test_trcc_app.py +0 -0
  1024. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/gui/test_widgets.py +0 -0
  1025. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/mock_platform.py +0 -0
  1026. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/next/__init__.py +0 -0
  1027. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/next/conftest.py +0 -0
  1028. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/next/test_autostart.py +0 -0
  1029. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/next/test_commands.py +0 -0
  1030. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/next/test_dc_reader.py +0 -0
  1031. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/next/test_sensors.py +0 -0
  1032. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/next/test_theme_service.py +0 -0
  1033. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/next/test_transports.py +0 -0
  1034. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/next/test_udev.py +0 -0
  1035. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/noop_transports.py +0 -0
  1036. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/__init__.py +0 -0
  1037. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/conftest.py +0 -0
  1038. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/test_device.py +0 -0
  1039. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/test_display_integration.py +0 -0
  1040. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/test_image_ansi.py +0 -0
  1041. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/test_led.py +0 -0
  1042. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/test_led_config.py +0 -0
  1043. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/test_led_effects.py +0 -0
  1044. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/test_media.py +0 -0
  1045. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/test_overlay.py +0 -0
  1046. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/test_perf.py +0 -0
  1047. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/test_services.py +0 -0
  1048. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/test_system.py +0 -0
  1049. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/test_theme.py +0 -0
  1050. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/test_theme_loader.py +0 -0
  1051. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/test_theme_persistence.py +0 -0
  1052. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/services/test_video_cache.py +0 -0
  1053. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/test_all_devices.py +0 -0
  1054. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/test_architecture.py +0 -0
  1055. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/test_conf.py +0 -0
  1056. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/test_cpu.py +0 -0
  1057. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/test_integration.py +0 -0
  1058. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/test_memory.py +0 -0
  1059. {trcc_linux-9.6.1 → trcc_linux-9.6.2}/tests/test_wiring.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: trcc-linux
3
- Version: 9.6.1
3
+ Version: 9.6.2
4
4
  Summary: Linux implementation of Thermalright LCD Control Center
5
5
  Project-URL: Homepage, https://github.com/Lexonight1/thermalright-trcc-linux
6
6
  Project-URL: Documentation, https://github.com/Lexonight1/thermalright-trcc-linux#readme
@@ -26,6 +26,7 @@ Requires-Python: >=3.10
26
26
  Requires-Dist: certifi>=2023.7.22
27
27
  Requires-Dist: click>=7.0
28
28
  Requires-Dist: fastapi>=0.100
29
+ Requires-Dist: libusb-package>=1.0.26.3; sys_platform == 'win32' and python_version < '3.14'
29
30
  Requires-Dist: numpy>=1.24.0
30
31
  Requires-Dist: prompt-toolkit>=3.0.0
31
32
  Requires-Dist: psutil>=5.9.0
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "trcc-linux"
7
- version = "9.6.1"
7
+ version = "9.6.2"
8
8
  description = "Linux implementation of Thermalright LCD Control Center"
9
9
  readme = "README.md"
10
10
  license = "GPL-3.0-or-later"
@@ -33,6 +33,14 @@ dependencies = [
33
33
  "numpy>=1.24.0",
34
34
  "psutil>=5.9.0",
35
35
  "pyusb>=1.2.0",
36
+ # libusb-package bundles libusb-1.0.dll on Windows so pip-installed
37
+ # users get a working pyusb backend out of the box. Pyocd's canonical
38
+ # pattern (#131 — usb.core.NoBackendError on pip-install Windows).
39
+ # Pinned for Windows + Python <3.14 because upstream wheels only go
40
+ # to cp313 (verified PyPI 2026-05-14); pip install of trcc-linux on
41
+ # Python 3.14 Windows would otherwise fail at sdist build. Lift the
42
+ # python_version cap once libusb-package ships a cp314 wheel.
43
+ "libusb-package>=1.0.26.3; sys_platform == 'win32' and python_version < '3.14'",
36
44
  "click>=7.0",
37
45
  "typer>=0.9.0",
38
46
  "fastapi>=0.100",
@@ -1,4 +1,4 @@
1
1
  """TRCC Linux version information. History in doc/CHANGELOG.md."""
2
2
 
3
- __version__ = "9.6.1"
3
+ __version__ = "9.6.2"
4
4
  __version_info__ = tuple(int(x) for x in __version__.split("."))
@@ -0,0 +1,46 @@
1
+ """PyUSB find() wrapper — uses libusb_package's bundled backend on Windows.
2
+
3
+ PyUSB needs ``libusb-1.0`` userspace to talk to USB devices. On Linux and
4
+ macOS the system package manager ships it. On Windows there is no system
5
+ libusb — pip-installed users hit ``usb.core.NoBackendError: No backend
6
+ available`` (issue #131, lallemandgianni-boop on Windows 11 v9.6.1).
7
+
8
+ The canonical fix is `libusb-package <https://github.com/pyocd/libusb-package>`_
9
+ (pyocd's project) — a Windows wheel that bundles ``libusb-1.0.dll`` and
10
+ exposes ``find()`` as a drop-in for ``usb.core.find()``. pyproject.toml
11
+ adds it as a Windows-only dependency::
12
+
13
+ libusb-package>=1.0.26.2; sys_platform == 'win32'
14
+
15
+ This module exports a single :func:`find` shim that uses
16
+ ``libusb_package.find`` when available (Windows wheel installed) and
17
+ falls back to ``usb.core.find`` otherwise (Linux/macOS users with system
18
+ libusb, or anyone who installed the optional wheel themselves). Every
19
+ ``usb.core.find`` call site in ``trcc.adapters.device`` goes through
20
+ this seam so there's exactly one place that knows about the Windows
21
+ quirk.
22
+ """
23
+ from __future__ import annotations
24
+
25
+ import logging
26
+ from typing import Any
27
+
28
+ log = logging.getLogger(__name__)
29
+
30
+ try:
31
+ from libusb_package import find as _find # type: ignore[import-not-found]
32
+ log.debug("pyusb backend: libusb-package (bundled libusb-1.0)")
33
+ except ImportError:
34
+ from usb.core import find as _find # type: ignore[no-redef]
35
+ log.debug("pyusb backend: system libusb via usb.core.find")
36
+
37
+
38
+ def find(*args: Any, **kwargs: Any) -> Any:
39
+ """Drop-in for ``usb.core.find()`` with Windows-compatible backend.
40
+
41
+ Identical signature, identical return type. Routes through
42
+ ``libusb_package.find`` on platforms where it's installed (Windows
43
+ via pip), otherwise calls ``usb.core.find`` directly (Linux, macOS,
44
+ or any environment where the user manages libusb themselves).
45
+ """
46
+ return _find(*args, **kwargs)
@@ -51,8 +51,9 @@ class UsbBotScsiTransport(ScsiTransport):
51
51
  def open(self) -> bool:
52
52
  """Find device, detach kernel driver, claim interface."""
53
53
  try:
54
- import usb.core # pyright: ignore[reportMissingImports]
55
54
  import usb.util # pyright: ignore[reportMissingImports]
55
+
56
+ from . import _pyusb_find
56
57
  except ImportError:
57
58
  log.error(self._pyusb_install_hint)
58
59
  return False
@@ -60,7 +61,7 @@ class UsbBotScsiTransport(ScsiTransport):
60
61
  kwargs: dict[str, Any] = {'idVendor': self._vid, 'idProduct': self._pid}
61
62
  if self._usb_address is not None:
62
63
  kwargs['custom_match'] = self._usb_address.matches
63
- dev: Any = usb.core.find(**kwargs)
64
+ dev: Any = _pyusb_find.find(**kwargs)
64
65
  if dev is None:
65
66
  where = f" @ {self._usb_address}" if self._usb_address else ""
66
67
  log.error("Device %04X:%04X%s not found", self._vid, self._pid, where)
@@ -109,11 +109,11 @@ def _detach_kernel_drivers(dev: Any, count: int = 4) -> bool:
109
109
 
110
110
  def _reset_and_refind(dev: Any, vid: int, pid: int) -> Any:
111
111
  """Reset USB device, wait, re-find, detach drivers. Returns new handle."""
112
- import usb.core # type: ignore[import-untyped]
112
+ from . import _pyusb_find
113
113
 
114
114
  dev.reset() # type: ignore[union-attr]
115
115
  time.sleep(0.5)
116
- new_dev = usb.core.find(idVendor=vid, idProduct=pid)
116
+ new_dev = _pyusb_find.find(idVendor=vid, idProduct=pid)
117
117
  if new_dev is None:
118
118
  raise RuntimeError(_ERR_NOT_FOUND.format(vid=vid, pid=pid))
119
119
  _detach_kernel_drivers(new_dev)
@@ -145,13 +145,15 @@ def open_usb_device(
145
145
  RuntimeError: Device not found, or kernel driver could not be detached.
146
146
  usb.core.USBError: Permission denied (errno 13).
147
147
  """
148
- import usb.core # type: ignore[import-untyped]
148
+ import usb.core # type: ignore[import-untyped] # for USBError below
149
149
  import usb.util # type: ignore[import-untyped]
150
150
 
151
+ from . import _pyusb_find
152
+
151
153
  kwargs: dict[str, Any] = {'idVendor': vid, 'idProduct': pid}
152
154
  if usb_address is not None:
153
155
  kwargs['custom_match'] = usb_address.matches
154
- dev = usb.core.find(**kwargs)
156
+ dev = _pyusb_find.find(**kwargs)
155
157
  if dev is None:
156
158
  where = f" @ {usb_address}" if usb_address else ""
157
159
  raise RuntimeError(_ERR_NOT_FOUND.format(vid=vid, pid=pid) + where)
@@ -85,7 +85,7 @@ class DeviceDetector:
85
85
  def _detect(scsi_resolver: ScsiResolver | None) -> list[DetectedDevice]:
86
86
  """Core detection via pyusb with injected SCSI resolver."""
87
87
  try:
88
- import usb.core # pyright: ignore[reportMissingImports]
88
+ from . import _pyusb_find
89
89
  except ImportError:
90
90
  log.error("pyusb not installed — pip install pyusb")
91
91
  return []
@@ -95,7 +95,7 @@ class DeviceDetector:
95
95
  # find_all=True yields every match; `or ()` handles None when
96
96
  # no devices are present, so two same-VID/PID coolers each
97
97
  # produce their own DetectedDevice (issue #128).
98
- for usb_dev in (usb.core.find(find_all=True, idVendor=vid, idProduct=pid) or ()):
98
+ for usb_dev in (_pyusb_find.find(find_all=True, idVendor=vid, idProduct=pid) or ()):
99
99
  dev: Any = usb_dev
100
100
  usb_path = f'usb:{dev.bus}:{dev.address}'
101
101
  scsi_dev = (
@@ -37,6 +37,7 @@ from trcc.core.models import (
37
37
  pm_to_fbl,
38
38
  )
39
39
 
40
+ from . import _pyusb_find
40
41
  from .frame import FrameDevice
41
42
 
42
43
  # hidapi is optional ([hid] extra)
@@ -634,7 +635,7 @@ class PyUsbTransport(UsbTransport):
634
635
  # idVendor/idProduct prefilter for speed.
635
636
  kwargs['custom_match'] = self._usb_address.matches
636
637
 
637
- self._device = usb.core.find(**kwargs) # type: ignore[union-attr]
638
+ self._device = _pyusb_find.find(**kwargs) # type: ignore[union-attr]
638
639
  if self._device is None:
639
640
  where = f" @ {self._usb_address}" if self._usb_address else ""
640
641
  raise RuntimeError(
@@ -888,7 +889,7 @@ def find_hid_devices() -> list:
888
889
  ]
889
890
 
890
891
  for vid, pid, dtype in known:
891
- found = usb.core.find(find_all=True, idVendor=vid, idProduct=pid)
892
+ found = _pyusb_find.find(find_all=True, idVendor=vid, idProduct=pid)
892
893
  for dev in found or []:
893
894
  serial_idx = getattr(dev, 'iSerialNumber', 0)
894
895
  serial = usb.util.get_string(dev, serial_idx) if serial_idx else ""
@@ -35,7 +35,7 @@ class MacOSDeviceDetector:
35
35
  devices: list[DetectedDevice] = []
36
36
 
37
37
  try:
38
- import usb.core # pyright: ignore[reportMissingImports]
38
+ from .. import _pyusb_find
39
39
  except ImportError:
40
40
  log.error("pyusb not installed — pip install pyusb")
41
41
  return []
@@ -60,7 +60,7 @@ class MacOSDeviceDetector:
60
60
  for registry, protocol, device_type in all_registries:
61
61
  for (vid, pid), entry in registry.items():
62
62
  # find_all=True so two same-VID/PID coolers both surface (issue #128).
63
- for usb_dev in (usb.core.find(find_all=True, idVendor=vid, idProduct=pid) or ()):
63
+ for usb_dev in (_pyusb_find.find(find_all=True, idVendor=vid, idProduct=pid) or ()):
64
64
  dev: Any = usb_dev
65
65
  impl = 'hid_led' if registry is _LED_DEVICES else entry.implementation
66
66
  dt = device_type if device_type is not None else getattr(entry, 'device_type', 2)
@@ -226,6 +226,18 @@ _INSTALL_MAP: dict[str, dict[str, str]] = {
226
226
  'pacman': 'python-hid',
227
227
  'zypper': 'python3-hidapi',
228
228
  },
229
+ 'nvidia-ml-py': {
230
+ # Distro names lag PyPI — pyproject pins `nvidia-ml-py>=11.0.0` but
231
+ # Debian/Fedora repos still ship the legacy `pynvml`-prefixed alias
232
+ # (same upstream code, exposes the `pynvml` module). Arch ships the
233
+ # official current name. Reflected in packaging/arch/PKGBUILD +
234
+ # release.yml Recommends/optdepend so doctor + packagers agree.
235
+ 'apt': 'python3-pynvml',
236
+ 'dnf': 'python3-pynvml',
237
+ 'pacman': 'python-nvidia-ml-py',
238
+ 'zypper': 'python3-nvidia-ml-py',
239
+ 'rpm-ostree': 'python3-pynvml',
240
+ },
229
241
  }
230
242
 
231
243
  _INSTALL_CMD: dict[str, str] = {
@@ -406,8 +418,8 @@ def _check_library(
406
418
  return True
407
419
 
408
420
 
409
- def _check_gpu_packages() -> None:
410
- if not (results := check_gpu()):
421
+ def _check_gpu_packages(pm: str | None = None) -> None:
422
+ if not (results := check_gpu(pm)):
411
423
  print(f" {_OPT} No discrete GPU detected")
412
424
  return
413
425
  for g in results:
@@ -649,8 +661,14 @@ def check_system_deps(
649
661
  return results
650
662
 
651
663
 
652
- def check_gpu() -> list[GpuResult]:
653
- """Detect GPU vendors and check matching packages."""
664
+ def check_gpu(pm: str | None = None) -> list[GpuResult]:
665
+ """Detect GPU vendors and check matching packages.
666
+
667
+ ``pm`` is the active package manager (apt/dnf/pacman/…). When passed,
668
+ the NVIDIA install hint resolves to the right distro package
669
+ (issue #145 — `pip install nvidia-ml-py` fails on PEP 668-managed
670
+ Pythons like Ubuntu 24.04 / Mint 22). None → falls back to pip.
671
+ """
654
672
  from pathlib import Path # local so tests can patch pathlib.Path
655
673
  pci_base = Path('/sys/bus/pci/devices')
656
674
  if not pci_base.exists():
@@ -672,10 +690,14 @@ def check_gpu() -> list[GpuResult]:
672
690
  results: list[GpuResult] = []
673
691
  if '10de' in vendors:
674
692
  ver = get_module_version('pynvml')
693
+ # Per-distro hint resolves to the right native package name —
694
+ # apt → python3-pynvml, pacman → python-nvidia-ml-py, etc.
695
+ # Falls back to pip when no package manager is detected.
696
+ hint = _install_hint('nvidia-ml-py', pm) if pm else 'pip install nvidia-ml-py'
675
697
  results.append(GpuResult(
676
698
  vendor='nvidia', label='NVIDIA GPU',
677
699
  package_installed=ver is not None,
678
- install_cmd='pip install nvidia-ml-py',
700
+ install_cmd=hint,
679
701
  ))
680
702
  if '1002' in vendors:
681
703
  results.append(GpuResult(
@@ -842,7 +864,7 @@ def run_doctor(doctor_config: DoctorPlatformConfig | None = None) -> int:
842
864
 
843
865
  if doctor_config.run_gpu_check:
844
866
  print()
845
- _check_gpu_packages()
867
+ _check_gpu_packages(pm)
846
868
 
847
869
  if doctor_config.check_libusb:
848
870
  print()
@@ -443,6 +443,49 @@ class AutostartManager(ABC):
443
443
  return self.is_enabled()
444
444
 
445
445
 
446
+ # =========================================================================
447
+ # Metrics Loop ABC — the underlying command stream that ticks every device
448
+ # =========================================================================
449
+
450
+
451
+ class MetricsLoop(ABC):
452
+ """Port: the per-process loop that drives device animation + sensor poll.
453
+
454
+ Owns two cadences in one mechanism:
455
+ * **Tick** — drive `device.tick()` for every connected device, publish
456
+ `Topic.FRAME` results. Fast (50ms on the polling default).
457
+ * **Poll** — read `system_svc.all_metrics`, push to every device's
458
+ `update_metrics()`, publish `Topic.METRICS`. Cadence = the user's
459
+ ``settings.refresh_interval``.
460
+
461
+ The mechanism is OS-discretionary. Default `PollingMetricsLoop` is a
462
+ thread-based polling loop used by every OS today. Future per-OS
463
+ overrides can switch to native event sources (WMI events on Windows,
464
+ IOReportSubscribe on macOS) without changing the contract.
465
+
466
+ Concrete implementations:
467
+ - PollingMetricsLoop (services/metrics_loop.py)
468
+ - NullMetricsLoop (services/metrics_loop.py) — for tests + proxy clients
469
+ """
470
+
471
+ @abstractmethod
472
+ def start(self) -> None:
473
+ """Begin ticking + polling. Idempotent — safe to call when running."""
474
+
475
+ @abstractmethod
476
+ def stop(self) -> None:
477
+ """Stop the loop and release any threads. Idempotent."""
478
+
479
+ @abstractmethod
480
+ def wake(self) -> None:
481
+ """Force an immediate poll iteration (used after settings changes)."""
482
+
483
+ @property
484
+ @abstractmethod
485
+ def is_running(self) -> bool:
486
+ """True iff the loop is currently active."""
487
+
488
+
446
489
  # =========================================================================
447
490
  # Platform ABC — OS foundation, drop in an OS so devices can speak to it
448
491
  # =========================================================================
@@ -599,6 +642,21 @@ class Platform(ABC):
599
642
  """
600
643
  del on_suspend, on_resume # default: no-op stub, subclasses override
601
644
 
645
+ def build_metrics_loop(self, trcc: Any) -> MetricsLoop:
646
+ """Construct the OS-appropriate `MetricsLoop` for this host.
647
+
648
+ Default returns a thread-based `PollingMetricsLoop` — works on
649
+ every OS today. Override per-OS for native event sources
650
+ (e.g. WindowsPlatform → WMI events, MacOSPlatform → IOReport).
651
+ Devices stay thin: they consume `update_metrics()` calls without
652
+ caring which mechanism produced them.
653
+
654
+ ``trcc`` is the host whose ``lcd_devices`` / ``led_devices`` /
655
+ ``events`` / ``settings`` / ``system_svc`` the loop reads.
656
+ """
657
+ from ..services.metrics_loop import PollingMetricsLoop
658
+ return PollingMetricsLoop(trcc)
659
+
602
660
  def resolve_assets_dir(self, pkg_assets_dir: Any) -> Any:
603
661
  """Resolve GUI assets directory. Non-Linux copies to user dir."""
604
662
  return pkg_assets_dir
@@ -2,7 +2,9 @@
2
2
 
3
3
  The one class every UI talks to. Composes LCDCommands, LEDCommands,
4
4
  ControlCenterCommands, and an EventBus. Holds discovered devices.
5
- Owns the metrics tick loop, data extraction pipeline, and hotplug.
5
+ Owns lifecycle for the injected `MetricsLoop` (started by `discover`,
6
+ stopped by `cleanup` and OS suspend), data extraction pipeline, and
7
+ hotplug.
6
8
 
7
9
  Parity rule: every method reachable from one UI is reachable from all
8
10
  three. No shortcuts, no UI-specific extensions. See TRCC_CONTRACT.md.
@@ -45,13 +47,10 @@ if TYPE_CHECKING:
45
47
  from .device.lcd import LCDDevice
46
48
  from .device.led import LEDDevice
47
49
  from .models import DetectedDevice, DeviceInfo
48
- from .ports import EnsureDataFn, Platform, Renderer
50
+ from .ports import EnsureDataFn, MetricsLoop, Platform, Renderer
49
51
 
50
52
  log = logging.getLogger(__name__)
51
53
 
52
- # Animation tick rate — 50ms gives 20 FPS for video and overlay updates.
53
- _TICK_INTERVAL = 0.05
54
-
55
54
 
56
55
  class Trcc:
57
56
  """Universal command facade and process context.
@@ -67,9 +66,8 @@ class Trcc:
67
66
  __slots__ = (
68
67
  '_current_metrics', '_download_pack_fn', '_ensure_data_fn',
69
68
  '_lcd_devices', '_led_devices', '_list_available_fn',
70
- '_metrics_stop', '_metrics_thread', '_metrics_wake',
71
- '_platform', '_renderer', '_settings', '_system_svc',
72
- 'control_center', 'events', 'lcd', 'led',
69
+ '_metrics_loop', '_platform', '_renderer', '_settings',
70
+ '_system_svc', 'control_center', 'events', 'lcd', 'led',
73
71
  )
74
72
 
75
73
  def __init__(
@@ -105,16 +103,18 @@ class Trcc:
105
103
  self._lcd_devices: DeviceRegistry[LCDDevice] = DeviceRegistry()
106
104
  self._led_devices: DeviceRegistry[LEDDevice] = DeviceRegistry()
107
105
 
108
- self._metrics_thread: threading.Thread | None = None
109
- self._metrics_stop: threading.Event = threading.Event()
110
- self._metrics_wake: threading.Event = threading.Event()
111
-
112
106
  self.events = EventBus()
113
107
  self.lcd = LCDCommands(self._lcd_devices, self.events, self._settings)
114
108
  self.led = LEDCommands(self._led_devices, self.events)
115
109
  self.control_center = ControlCenterCommands(
116
110
  platform, self.events, self._settings)
117
111
 
112
+ # The OS produces the metrics loop — fourth factory in the chain
113
+ # (Platform / Protocol / Device / MetricsLoop). Default is a
114
+ # thread-based PollingMetricsLoop; per-OS overrides plug in native
115
+ # event sources (WMI / IOReport) without touching Trcc.
116
+ self._metrics_loop: MetricsLoop = platform.build_metrics_loop(self)
117
+
118
118
  # Subscribe to OS suspend/resume so a sleeping machine doesn't leave
119
119
  # devices with stale USB handles after wake (issue #144). Platform
120
120
  # default is a no-op; Linux uses logind's PrepareForSleep, other
@@ -343,6 +343,15 @@ class Trcc:
343
343
  if ensure_data:
344
344
  self._ensure_data_blocking()
345
345
 
346
+ # Start the underlying command stream now that devices are connected.
347
+ # Idempotent — safe across suspend/resume and hotplug. RuntimeError
348
+ # when SystemService is missing is tolerated so headless / smoke
349
+ # paths still report a successful discover.
350
+ try:
351
+ self._metrics_loop.start()
352
+ except RuntimeError:
353
+ log.warning('discover: metrics loop not started — SystemService missing')
354
+
346
355
  lcd_infos = [d.device_info for d in self._lcd_devices]
347
356
  led_infos = [d.device_info for d in self._led_devices]
348
357
  return DiscoveryResult(
@@ -491,98 +500,33 @@ class Trcc:
491
500
  """Most recently polled metrics with temp unit applied, or None."""
492
501
  return self._current_metrics
493
502
 
494
- def start_metrics_loop(self, interval: float | None = None) -> None:
495
- """Start the 50ms tick + sensor-poll loop in a background thread.
496
-
497
- Two cadences in one thread:
498
- * **Tick** (every 50ms): advance device animation, send frames,
499
- publish ``frame`` events.
500
- * **Poll** (every ``settings.refresh_interval``): read sensors,
501
- update every device, publish ``metrics``.
503
+ def set_current_metrics(self, metrics: Any) -> None:
504
+ """Update the cached metrics snapshot.
502
505
 
503
- UIs (GUI / CLI / API) subscribe to events — none run their own
504
- tick loops.
506
+ Called by the injected `MetricsLoop` after every poll iteration,
507
+ and by :meth:`apply_temp_unit` when the user switches °C ↔ °F.
508
+ Public so the loop port stays decoupled from Trcc's private state.
505
509
  """
506
- if self._system_svc is None:
507
- raise RuntimeError(
508
- 'Trcc.start_metrics_loop: SystemService not injected. '
509
- 'Pass system_svc=… at construction or call set_system_service().')
510
- self.stop_metrics_loop()
511
- self._metrics_stop.clear()
512
- sys_svc = self._system_svc
513
-
514
- # Capture settings at loop start — bound through DI when available,
515
- # falls back to the global lazily otherwise (Phase 10A.3 partial).
516
- _settings = self.settings
510
+ self._current_metrics = metrics
511
+
512
+ @property
513
+ def system_svc(self) -> SystemService | None:
514
+ """The injected sensor read-out service (or None if not yet set).
517
515
 
518
- def _loop() -> None:
519
- from .models import HardwareMetrics
520
- tick_count = 0
521
- while not self._metrics_stop.is_set():
522
- try:
523
- poll_interval = (
524
- interval if interval is not None
525
- else max(1, _settings.refresh_interval)
526
- )
527
- metrics_every = max(1, int(poll_interval / _TICK_INTERVAL))
528
- if tick_count % metrics_every == 0:
529
- try:
530
- metrics = HardwareMetrics.with_temp_unit(
531
- sys_svc.all_metrics, _settings.temp_unit)
532
- self._current_metrics = metrics
533
- for device in tuple(chain(
534
- self._lcd_devices, self._led_devices,
535
- )):
536
- try:
537
- device.update_metrics(metrics)
538
- except Exception:
539
- log.exception('Metrics update error')
540
- self.events.publish(Topic.METRICS, metrics)
541
- except Exception:
542
- log.exception('Metrics poll error')
543
-
544
- for device in tuple(self._lcd_devices):
545
- path = getattr(device, 'device_path', '?') or '?'
546
- try:
547
- if (result := device.tick()) is not None:
548
- self.events.publish(Topic.FRAME, path, result)
549
- elif device.playing:
550
- device.update_video_cache_text(self._current_metrics)
551
- except Exception:
552
- log.exception('LCD tick error: %s', path)
553
- for device in tuple(self._led_devices):
554
- info = device.device_info
555
- path = (getattr(info, 'path', '?') if info else '?') or '?'
556
- try:
557
- if (result := device.tick()) is not None:
558
- self.events.publish(Topic.FRAME, path, result)
559
- except Exception:
560
- log.exception('LED tick error: %s', path)
561
- except Exception:
562
- log.exception('Tick loop error')
563
- tick_count += 1
564
- self._metrics_wake.wait(_TICK_INTERVAL)
565
- self._metrics_wake.clear()
566
-
567
- self._metrics_thread = threading.Thread(
568
- target=_loop, daemon=True, name='trcc-metrics')
569
- self._metrics_thread.start()
570
- log.debug('Metrics loop started (tick=%.0fms, poll=settings.refresh_interval)',
571
- _TICK_INTERVAL * 1000)
572
-
573
- def stop_metrics_loop(self) -> None:
574
- """Stop the background metrics loop. Idempotent."""
575
- self._metrics_stop.set()
576
- self._metrics_wake.set()
577
- if self._metrics_thread and self._metrics_thread.is_alive():
578
- self._metrics_thread.join(timeout=3)
579
- self._metrics_thread = None
580
- self._metrics_wake.clear()
581
- self._metrics_stop.clear()
516
+ Exposed so the injected `MetricsLoop` can poll metrics without
517
+ reaching into Trcc's private state. Updated by
518
+ :meth:`set_system_service` for the test/dev fixture chain.
519
+ """
520
+ return self._system_svc
582
521
 
583
522
  def wake_metrics_loop(self) -> None:
584
- """Wake the metrics loop immediately — used after settings changes."""
585
- self._metrics_wake.set()
523
+ """Force an immediate poll iteration — used after settings changes.
524
+
525
+ Delegates to the injected `MetricsLoop.wake()`. Kept as a method
526
+ on Trcc so callers (control center commands) don't reach into
527
+ the loop directly.
528
+ """
529
+ self._metrics_loop.wake()
586
530
 
587
531
  # ── Cross-cutting OS operations (touch every device + the loop) ──
588
532
 
@@ -651,6 +595,7 @@ class Trcc:
651
595
  """
652
596
  from ..adapters.device.factory import DeviceProtocolFactory
653
597
  self.events.publish(Topic.SYSTEM_SUSPENDED)
598
+ self._metrics_loop.stop()
654
599
  for dev in self:
655
600
  try:
656
601
  dev.cleanup()
@@ -680,7 +625,7 @@ class Trcc:
680
625
  close instead of reaching into ``DeviceProtocolFactory.close_all``.
681
626
  """
682
627
  from ..adapters.device.factory import DeviceProtocolFactory
683
- self.stop_metrics_loop()
628
+ self._metrics_loop.stop()
684
629
  for dev in self:
685
630
  try:
686
631
  dev.cleanup()
@@ -2,7 +2,8 @@
2
2
 
3
3
  One process per user. Built once, lives until SIGTERM/SIGINT or the
4
4
  user runs ``trcc daemon stop``. Holds the singleton `Trcc`, discovers
5
- devices, runs the metrics loop (Phase 9 wires that in), and serves
5
+ devices, runs the per-process `MetricsLoop` (started by
6
+ `Trcc.discover()` after device enumeration — issue #148), and serves
6
7
  `Command` requests over the Unix socket through `IPCServer`.
7
8
 
8
9
  Singleton enforcement is socket-presence: the first invocation that