trcc-linux 1.2.18__tar.gz → 1.2.20__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 (841) hide show
  1. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/PKG-INFO +1 -1
  2. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/pyproject.toml +1 -1
  3. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/__version__.py +8 -1
  4. trcc_linux-1.2.20/src/trcc/bulk_device.py +194 -0
  5. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/cli.py +47 -11
  6. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/device_detector.py +77 -83
  7. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/device_factory.py +116 -2
  8. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/led_device.py +233 -150
  9. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/qt_components/qt_app_mvc.py +49 -3
  10. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/scsi_device.py +21 -0
  11. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/hid_testing/test_device_factory.py +7 -8
  12. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/hid_testing/test_led_device.py +135 -13
  13. trcc_linux-1.2.20/tests/test_bulk_device.py +479 -0
  14. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/test_cli.py +8 -2
  15. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/test_device_detector.py +16 -14
  16. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/.gitignore +0 -0
  17. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/LICENSE +0 -0
  18. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/README.md +0 -0
  19. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/__init__.py +0 -0
  20. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/__main__.py +0 -0
  21. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/fonts/MSYH.TTC +0 -0
  22. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/fonts/MSYHBD.TTC +0 -0
  23. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/fonts/README.md +0 -0
  24. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/240240.gif +0 -0
  25. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/240320.gif +0 -0
  26. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/320240.gif +0 -0
  27. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/320320.gif +0 -0
  28. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A0/345/205/263/344/272/216.png" +0 -0
  29. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A0/345/205/263/344/272/216d.png" +0 -0
  30. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A0/345/205/263/344/272/216e.png" +0 -0
  31. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A0/345/205/263/344/272/216en.png" +0 -0
  32. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A0/345/205/263/344/272/216f.png" +0 -0
  33. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A0/345/205/263/344/272/216p.png" +0 -0
  34. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A0/345/205/263/344/272/216r.png" +0 -0
  35. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A0/345/205/263/344/272/216tc.png" +0 -0
  36. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A0/345/205/263/344/272/216x.png" +0 -0
  37. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A0/345/220/257/345/212/250/347/225/214/351/235/242.png" +0 -0
  38. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A0/346/225/260/346/215/256/345/210/227/350/241/250.png" +0 -0
  39. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A0/346/227/240/350/256/276/345/244/207.png" +0 -0
  40. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A0/346/227/240/350/256/276/345/244/207en.png" +0 -0
  41. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A0/346/227/240/350/256/276/345/244/207tc.png" +0 -0
  42. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A0/347/241/254/344/273/266/345/210/227/350/241/250.png" +0 -0
  43. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1AK120 Digital.png +0 -0
  44. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1AK120 Digitala.png +0 -0
  45. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1AK120_Digital.png +0 -0
  46. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1AK120_Digitala.png +0 -0
  47. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1AS120 VISION.png +0 -0
  48. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1AS120 VISIONa.png +0 -0
  49. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1AS120_VISION.png +0 -0
  50. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1AS120_VISIONa.png +0 -0
  51. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1AX120 DIGITAL.png +0 -0
  52. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1AX120 DIGITALa.png +0 -0
  53. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1AX120_DIGITAL.png +0 -0
  54. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1AX120_DIGITALa.png +0 -0
  55. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1BA120 VISION.png +0 -0
  56. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1BA120 VISIONa.png +0 -0
  57. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1BA120_VISION.png +0 -0
  58. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1BA120_VISIONa.png +0 -0
  59. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1CORE VISION.png +0 -0
  60. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1CORE VISIONa.png +0 -0
  61. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1CORE_VISION.png +0 -0
  62. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1CORE_VISIONa.png +0 -0
  63. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1CZ1.png +0 -0
  64. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1CZ1a.png +0 -0
  65. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1CZTV.png +0 -0
  66. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1CZTVa.png +0 -0
  67. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1ELITE VISION.png +0 -0
  68. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1ELITE VISIONa.png +0 -0
  69. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1ELITE_VISION.png +0 -0
  70. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1ELITE_VISIONa.png +0 -0
  71. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1FROZEN HORIZON PRO.png +0 -0
  72. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1FROZEN HORIZON PROa.png +0 -0
  73. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1FROZEN MAGIC PRO.png +0 -0
  74. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1FROZEN MAGIC PROa.png +0 -0
  75. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1FROZEN VISION V2.png +0 -0
  76. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1FROZEN VISION V2a.png +0 -0
  77. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1FROZEN WARFRAME PRO.png +0 -0
  78. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1FROZEN WARFRAME PROa.png +0 -0
  79. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1FROZEN WARFRAME SE.png +0 -0
  80. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1FROZEN WARFRAME SEa.png +0 -0
  81. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1FROZEN WARFRAME.png +0 -0
  82. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1FROZEN WARFRAMEa.png +0 -0
  83. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1FROZEN_HORIZON_PRO.png +0 -0
  84. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1FROZEN_HORIZON_PROa.png +0 -0
  85. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1FROZEN_MAGIC_PRO.png +0 -0
  86. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1FROZEN_MAGIC_PROa.png +0 -0
  87. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1FROZEN_VISION_V2.png +0 -0
  88. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1FROZEN_VISION_V2a.png +0 -0
  89. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1FROZEN_WARFRAME.png +0 -0
  90. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1FROZEN_WARFRAME_PRO.png +0 -0
  91. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1FROZEN_WARFRAME_PROa.png +0 -0
  92. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1FROZEN_WARFRAME_SE.png +0 -0
  93. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1FROZEN_WARFRAME_SEa.png +0 -0
  94. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1FROZEN_WARFRAMEa.png +0 -0
  95. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1GRAND VISION.png +0 -0
  96. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1GRAND VISIONa.png +0 -0
  97. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1GRAND_VISION.png +0 -0
  98. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1GRAND_VISIONa.png +0 -0
  99. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1HR10 2280 PRO DIGITAL.png +0 -0
  100. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1HR10 2280 PRO DIGITALa.png +0 -0
  101. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1HYPER VISION.png +0 -0
  102. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1HYPER VISIONa.png +0 -0
  103. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1HYPER_VISION.png +0 -0
  104. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1HYPER_VISIONa.png +0 -0
  105. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1KVMALEDC6.png +0 -0
  106. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1KVMALEDC6a.png +0 -0
  107. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LC1.png +0 -0
  108. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LC1a.png +0 -0
  109. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LC2.png +0 -0
  110. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LC2JD.png +0 -0
  111. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LC2JDa.png +0 -0
  112. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LC2a.png +0 -0
  113. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LC3.png +0 -0
  114. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LC3a.png +0 -0
  115. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LC5.png +0 -0
  116. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LC5a.png +0 -0
  117. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LF10.png +0 -0
  118. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LF10a.png +0 -0
  119. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LF11.png +0 -0
  120. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LF11a.png +0 -0
  121. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LF12.png +0 -0
  122. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LF12a.png +0 -0
  123. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LF13.png +0 -0
  124. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LF13a.png +0 -0
  125. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LF14.png +0 -0
  126. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LF14a.png +0 -0
  127. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LF15.png +0 -0
  128. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LF15a.png +0 -0
  129. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LF16.png +0 -0
  130. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LF167.png +0 -0
  131. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LF16a.png +0 -0
  132. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LF17a.png +0 -0
  133. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LF18.png +0 -0
  134. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LF18a.png +0 -0
  135. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LF19.png +0 -0
  136. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LF19a.png +0 -0
  137. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LF8.png +0 -0
  138. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LF8a.png +0 -0
  139. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LM16SE.png +0 -0
  140. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LM16SEa.png +0 -0
  141. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LM22.png +0 -0
  142. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LM22a.png +0 -0
  143. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LM24.png +0 -0
  144. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LM24a.png +0 -0
  145. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LM26.png +0 -0
  146. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LM26a.png +0 -0
  147. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LM27.png +0 -0
  148. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1LM27a.png +0 -0
  149. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1Mjolnir VISION PRO.png +0 -0
  150. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1Mjolnir VISION PROa.png +0 -0
  151. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1Mjolnir VISION.png +0 -0
  152. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1Mjolnir VISIONa.png +0 -0
  153. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1Mjolnir_VISION.png +0 -0
  154. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1Mjolnir_VISION_PRO.png +0 -0
  155. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1Mjolnir_VISION_PROa.png +0 -0
  156. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1Mjolnir_VISIONa.png +0 -0
  157. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1PA120 DIGITAL.png +0 -0
  158. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1PA120 DIGITALa.png +0 -0
  159. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1PA120_DIGITAL.png +0 -0
  160. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1PA120_DIGITALa.png +0 -0
  161. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1RK120 DIGITAL.png +0 -0
  162. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1RK120 DIGITALa.png +0 -0
  163. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1RK120_DIGITAL.png +0 -0
  164. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1RK120_DIGITALa.png +0 -0
  165. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1RP130 VISION.png +0 -0
  166. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1RP130 VISIONa.png +0 -0
  167. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1RP130_VISION.png +0 -0
  168. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1RP130_VISIONa.png +0 -0
  169. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1Stream Vision.png +0 -0
  170. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1Stream Visiona.png +0 -0
  171. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1Stream_Vision.png +0 -0
  172. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1Stream_Visiona.png +0 -0
  173. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1/344/274/240/346/204/237/345/231/250.png" +0 -0
  174. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1/344/274/240/346/204/237/345/231/250a.png" +0 -0
  175. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1/345/205/263/344/272/216.png" +0 -0
  176. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A1/345/205/263/344/272/216a.png" +0 -0
  177. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A2/344/270/213/346/213/211/346/241/206/345/272/225/345/233/276.png" +0 -0
  178. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A2/344/270/213/346/213/211/346/241/206/351/200/211/346/213/251/346/235/241.png" +0 -0
  179. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A2/344/270/213/346/213/211/351/200/211/346/213/251/346/241/206.png" +0 -0
  180. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A2/347/253/213/345/215/263/346/233/264/346/226/260.png" +0 -0
  181. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/Acpu.png +0 -0
  182. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/Adram.png +0 -0
  183. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/Afan.png +0 -0
  184. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/Agpu.png +0 -0
  185. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/Ahdd.png +0 -0
  186. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/Alogout/351/200/211/344/270/255.png" +0 -0
  187. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/Alogout/351/273/230/350/256/244.png" +0 -0
  188. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/Anet.png +0 -0
  189. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A/344/270/212/344/270/200/351/241/265a.png" +0 -0
  190. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A/344/270/213/344/270/200/351/241/265a.png" +0 -0
  191. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A/345/242/236/345/212/240/346/225/260/347/273/204.png" +0 -0
  192. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A/346/225/260/346/215/256/351/200/211/346/213/251.png" +0 -0
  193. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A/346/273/232/345/212/250/346/235/241.png" +0 -0
  194. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/A/350/207/252/345/256/232/344/271/211.png" +0 -0
  195. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0CZ1.png +0 -0
  196. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0CZ1d.png +0 -0
  197. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0CZ1e.png +0 -0
  198. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0CZ1en.png +0 -0
  199. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0CZ1f.png +0 -0
  200. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0CZ1p.png +0 -0
  201. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0CZ1r.png +0 -0
  202. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0CZ1tc.png +0 -0
  203. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0CZ1x.png +0 -0
  204. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0KVMA/347/201/257/346/216/247.png" +0 -0
  205. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LC1.png +0 -0
  206. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LC1d.png +0 -0
  207. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LC1e.png +0 -0
  208. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LC1en.png +0 -0
  209. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LC1f.png +0 -0
  210. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LC1p.png +0 -0
  211. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LC1r.png +0 -0
  212. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LC1tc.png +0 -0
  213. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LC1x.png +0 -0
  214. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LC2.png +0 -0
  215. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LC2d.png +0 -0
  216. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LC2e.png +0 -0
  217. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LC2en.png +0 -0
  218. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LC2f.png +0 -0
  219. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LC2p.png +0 -0
  220. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LC2r.png +0 -0
  221. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LC2tc.png +0 -0
  222. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LC2x.png +0 -0
  223. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF10.png +0 -0
  224. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF10d.png +0 -0
  225. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF10e.png +0 -0
  226. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF10en.png +0 -0
  227. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF10f.png +0 -0
  228. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF10p.png +0 -0
  229. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF10r.png +0 -0
  230. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF10tc.png +0 -0
  231. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF10x.png +0 -0
  232. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF11.png +0 -0
  233. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF11d.png +0 -0
  234. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF11e.png +0 -0
  235. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF11en.png +0 -0
  236. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF11f.png +0 -0
  237. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF11p.png +0 -0
  238. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF11r.png +0 -0
  239. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF11tc.png +0 -0
  240. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF11x.png +0 -0
  241. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF12.png +0 -0
  242. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF12d.png +0 -0
  243. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF12e.png +0 -0
  244. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF12en.png +0 -0
  245. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF12f.png +0 -0
  246. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF12p.png +0 -0
  247. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF12r.png +0 -0
  248. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF12tc.png +0 -0
  249. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF12x.png +0 -0
  250. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF13.png +0 -0
  251. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF13d.png +0 -0
  252. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF13e.png +0 -0
  253. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF13en.png +0 -0
  254. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF13f.png +0 -0
  255. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF13p.png +0 -0
  256. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF13r.png +0 -0
  257. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF13tc.png +0 -0
  258. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF13x.png +0 -0
  259. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF15.png +0 -0
  260. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF15d.png +0 -0
  261. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF15e.png +0 -0
  262. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF15en.png +0 -0
  263. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF15f.png +0 -0
  264. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF15p.png +0 -0
  265. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF15r.png +0 -0
  266. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF15tc.png +0 -0
  267. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF15x.png +0 -0
  268. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF8.png +0 -0
  269. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF8d.png +0 -0
  270. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF8e.png +0 -0
  271. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF8en.png +0 -0
  272. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF8f.png +0 -0
  273. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF8p.png +0 -0
  274. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF8r.png +0 -0
  275. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF8tc.png +0 -0
  276. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0LF8x.png +0 -0
  277. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0rgblf13.png +0 -0
  278. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217.png" +0 -0
  279. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237.png" +0 -0
  280. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237d.png" +0 -0
  281. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237e.png" +0 -0
  282. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237en.png" +0 -0
  283. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237f.png" +0 -0
  284. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237p.png" +0 -0
  285. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237r.png" +0 -0
  286. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237tc.png" +0 -0
  287. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237x.png" +0 -0
  288. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217d.png" +0 -0
  289. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217e.png" +0 -0
  290. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217en.png" +0 -0
  291. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217f.png" +0 -0
  292. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217p.png" +0 -0
  293. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217r.png" +0 -0
  294. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217tc.png" +0 -0
  295. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217x.png" +0 -0
  296. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D1/345/244/226/351/203/250/350/276/223/345/207/272.png" +0 -0
  297. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D1/345/244/226/351/203/250/350/276/223/345/207/272a.png" +0 -0
  298. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D1/345/244/264/347/233/2241.png" +0 -0
  299. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D1/345/244/264/347/233/2242.png" +0 -0
  300. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D1/345/244/264/347/233/2243.png" +0 -0
  301. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D1/345/244/264/347/233/2244.png" +0 -0
  302. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D1/345/244/264/347/233/2245.png" +0 -0
  303. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D1/347/201/257/345/205/211/350/201/232/345/220/210.png" +0 -0
  304. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D1/347/201/257/345/205/211/350/201/232/345/220/210a.png" +0 -0
  305. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D2/347/201/257/345/205/2111.png" +0 -0
  306. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D2/347/201/257/345/205/21110.png" +0 -0
  307. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D2/347/201/257/345/205/21110a.png" +0 -0
  308. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D2/347/201/257/345/205/21111.png" +0 -0
  309. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D2/347/201/257/345/205/21111a.png" +0 -0
  310. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D2/347/201/257/345/205/21112.png" +0 -0
  311. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D2/347/201/257/345/205/21112a.png" +0 -0
  312. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D2/347/201/257/345/205/2111a.png" +0 -0
  313. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D2/347/201/257/345/205/2112.png" +0 -0
  314. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D2/347/201/257/345/205/2112a.png" +0 -0
  315. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D2/347/201/257/345/205/2113.png" +0 -0
  316. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D2/347/201/257/345/205/2113a.png" +0 -0
  317. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D2/347/201/257/345/205/2114.png" +0 -0
  318. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D2/347/201/257/345/205/2114a.png" +0 -0
  319. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D2/347/201/257/345/205/2115.png" +0 -0
  320. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D2/347/201/257/345/205/2115a.png" +0 -0
  321. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D2/347/201/257/345/205/2116.png" +0 -0
  322. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D2/347/201/257/345/205/2116a.png" +0 -0
  323. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D2/347/201/257/345/205/2117.png" +0 -0
  324. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D2/347/201/257/345/205/2117a.png" +0 -0
  325. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D2/347/201/257/345/205/2118.png" +0 -0
  326. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D2/347/201/257/345/205/2118a.png" +0 -0
  327. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D2/347/201/257/345/205/2119.png" +0 -0
  328. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D2/347/201/257/345/205/2119a.png" +0 -0
  329. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D3/345/274/200/345/205/263.png" +0 -0
  330. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D3/345/274/200/345/205/263a.png" +0 -0
  331. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D3/345/274/200/345/205/263b.png" +0 -0
  332. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D3/346/227/213/351/222/256.png" +0 -0
  333. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D3/346/227/213/351/222/2560.png" +0 -0
  334. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D3/346/251/231.png" +0 -0
  335. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D3/346/271/226.png" +0 -0
  336. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D3/346/273/221/345/212/250/346/235/241/346/214/211/351/222/256.png" +0 -0
  337. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D3/347/201/257/345/205/211/347/247/2001.png" +0 -0
  338. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D3/347/201/257/345/205/211/347/247/2001a.png" +0 -0
  339. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D3/347/201/257/345/205/211/347/247/2002.png" +0 -0
  340. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D3/347/201/257/345/205/211/347/247/2002a.png" +0 -0
  341. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D3/347/201/257/345/205/211/347/247/2003.png" +0 -0
  342. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D3/347/201/257/345/205/211/347/247/2003a.png" +0 -0
  343. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D3/347/231/275.png" +0 -0
  344. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D3/347/264/253.png" +0 -0
  345. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D3/347/272/242.png" +0 -0
  346. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D3/347/273/277.png" +0 -0
  347. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D3/350/223/235.png" +0 -0
  348. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D3/351/273/204.png" +0 -0
  349. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D4/345/274/200/346/234/272.png" +0 -0
  350. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D4/345/274/200/346/234/272a.png" +0 -0
  351. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D4/346/214/211/351/222/2561.png" +0 -0
  352. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D4/346/214/211/351/222/2561a.png" +0 -0
  353. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D4/346/214/211/351/222/2562.png" +0 -0
  354. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D4/346/214/211/351/222/2562a.png" +0 -0
  355. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D4/346/214/211/351/222/2563.png" +0 -0
  356. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D4/346/214/211/351/222/2563a.png" +0 -0
  357. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D4/346/214/211/351/222/2564.png" +0 -0
  358. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D4/346/214/211/351/222/2564a.png" +0 -0
  359. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D4/346/250/241/345/274/2171.png" +0 -0
  360. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D4/346/250/241/345/274/2171a.png" +0 -0
  361. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D4/346/250/241/345/274/2172.png" +0 -0
  362. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D4/346/250/241/345/274/2172a.png" +0 -0
  363. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D4/346/250/241/345/274/2173.png" +0 -0
  364. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D4/346/250/241/345/274/2173a.png" +0 -0
  365. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D4/346/250/241/345/274/2174.png" +0 -0
  366. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D4/346/250/241/345/274/2174a.png" +0 -0
  367. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D4/346/250/241/345/274/2175.png" +0 -0
  368. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D4/346/250/241/345/274/2175a.png" +0 -0
  369. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D4/346/250/241/345/274/2176.png" +0 -0
  370. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D4/346/250/241/345/274/2176a.png" +0 -0
  371. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/DAK120_DIGITAL.png +0 -0
  372. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/DAX120_DIGITAL.png +0 -0
  373. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/DCZ1.png +0 -0
  374. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/DFROZEN_HORIZON_PRO.png +0 -0
  375. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/DFROZEN_MAGIC_PRO.png +0 -0
  376. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/DLC1.png +0 -0
  377. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/DLC2.png +0 -0
  378. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/DLF10.png +0 -0
  379. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/DLF11.png +0 -0
  380. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/DLF12.png +0 -0
  381. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/DLF13.png +0 -0
  382. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/DLF15.png +0 -0
  383. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/DLF8.png +0 -0
  384. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/DPA120 DIGITAL.png +0 -0
  385. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/DPA120_DIGITAL.png +0 -0
  386. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/Dch1.png +0 -0
  387. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/Dch2.png +0 -0
  388. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/Dch3.png +0 -0
  389. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/Dch4.png +0 -0
  390. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/Dchcz1.png +0 -0
  391. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D/344/270/213/346/213/211/346/241/206.png" +0 -0
  392. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D/344/270/213/346/213/211/346/241/2062.png" +0 -0
  393. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D/344/270/213/346/213/211/350/217/234/345/215/225.png" +0 -0
  394. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D/344/270/213/346/213/211/350/217/234/345/215/2252.png" +0 -0
  395. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D/344/270/213/346/213/211/351/253/230/344/272/256.png" +0 -0
  396. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/D/344/270/213/346/213/211/351/253/230/344/272/2562.png" +0 -0
  397. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/FROZEN_WARFRAME_Ultra.png +0 -0
  398. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/FROZEN_WARFRAME_Ultraa.png +0 -0
  399. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/345/206/205/345/256/271.png" +0 -0
  400. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/345/206/205/345/256/271d.png" +0 -0
  401. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/345/206/205/345/256/271e.png" +0 -0
  402. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/345/206/205/345/256/271en.png" +0 -0
  403. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/345/206/205/345/256/271f.png" +0 -0
  404. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/345/206/205/345/256/271p.png" +0 -0
  405. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/345/206/205/345/256/271r.png" +0 -0
  406. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/345/206/205/345/256/271tc.png" +0 -0
  407. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/345/206/205/345/256/271x.png" +0 -0
  408. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/345/212/250/347/224/273/350/201/224/345/212/250.png" +0 -0
  409. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277.png" +0 -0
  410. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277d.png" +0 -0
  411. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277e.png" +0 -0
  412. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277en.png" +0 -0
  413. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277f.png" +0 -0
  414. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277p.png" +0 -0
  415. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277r.png" +0 -0
  416. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277tc.png" +0 -0
  417. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277x.png" +0 -0
  418. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/345/242/236/345/212/240/345/206/205/345/256/271.png" +0 -0
  419. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/345/242/236/345/212/240/345/206/205/345/256/271/351/201/256/347/275/251.png" +0 -0
  420. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277.png" +0 -0
  421. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277d.png" +0 -0
  422. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277e.png" +0 -0
  423. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277en.png" +0 -0
  424. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277f.png" +0 -0
  425. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277p.png" +0 -0
  426. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277r.png" +0 -0
  427. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277tc.png" +0 -0
  428. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277x.png" +0 -0
  429. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xy.png" +0 -0
  430. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xyd.png" +0 -0
  431. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xye.png" +0 -0
  432. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xyen.png" +0 -0
  433. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xyf.png" +0 -0
  434. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xyp.png" +0 -0
  435. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xyr.png" +0 -0
  436. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xytc.png" +0 -0
  437. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xyx.png" +0 -0
  438. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yx.png" +0 -0
  439. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxd.png" +0 -0
  440. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxe.png" +0 -0
  441. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxen.png" +0 -0
  442. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxf.png" +0 -0
  443. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxp.png" +0 -0
  444. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxr.png" +0 -0
  445. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxtc.png" +0 -0
  446. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxx.png" +0 -0
  447. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250.png" +0 -0
  448. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250d.png" +0 -0
  449. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250e.png" +0 -0
  450. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250en.png" +0 -0
  451. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250f.png" +0 -0
  452. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250p.png" +0 -0
  453. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250r.png" +0 -0
  454. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250tc.png" +0 -0
  455. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250x.png" +0 -0
  456. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/346/227/266/351/227/264/346/230/276/347/244/272.png" +0 -0
  457. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/346/227/266/351/227/264/346/230/276/347/244/272en.png" +0 -0
  458. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/346/227/266/351/227/264/346/230/276/347/244/272tc.png" +0 -0
  459. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/346/250/241/345/235/227/350/256/276/347/275/256.png" +0 -0
  460. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/347/263/273/347/273/237/344/277/241/346/201/257.png" +0 -0
  461. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/347/263/273/347/273/237/344/277/241/346/201/257en.png" +0 -0
  462. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/347/263/273/347/273/237/344/277/241/346/201/257tc.png" +0 -0
  463. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272.png" +0 -0
  464. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272d.png" +0 -0
  465. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272e.png" +0 -0
  466. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272en.png" +0 -0
  467. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272f.png" +0 -0
  468. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272p.png" +0 -0
  469. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272r.png" +0 -0
  470. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272tc.png" +0 -0
  471. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272x.png" +0 -0
  472. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/350/207/252/345/256/232/346/226/207/345/255/227.png" +0 -0
  473. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/350/207/252/345/256/232/346/226/207/345/255/227en.png" +0 -0
  474. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/350/207/252/345/256/232/346/226/207/345/255/227tc.png" +0 -0
  475. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/351/224/256/347/233/230/350/201/224/345/212/2501.png" +0 -0
  476. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/351/224/256/347/233/230/350/201/224/345/212/2502.png" +0 -0
  477. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P01/351/224/256/347/233/230/350/201/224/345/212/2503.png" +0 -0
  478. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0CZTV.png +0 -0
  479. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0CZTVd.png +0 -0
  480. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0CZTVe.png +0 -0
  481. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0CZTVen.png +0 -0
  482. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0CZTVf.png +0 -0
  483. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0CZTVp.png +0 -0
  484. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0CZTVr.png +0 -0
  485. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0CZTVtc.png +0 -0
  486. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0CZTVx.png +0 -0
  487. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0M1.png +0 -0
  488. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0M2.png +0 -0
  489. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0M3.png +0 -0
  490. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0M4.png +0 -0
  491. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0M5.png +0 -0
  492. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0M5a.png +0 -0
  493. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0M6.png +0 -0
  494. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/344/270/273/351/242/230/350/256/276/347/275/256.png" +0 -0
  495. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230.png" +0 -0
  496. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230d.png" +0 -0
  497. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230e.png" +0 -0
  498. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230en.png" +0 -0
  499. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230f.png" +0 -0
  500. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230p.png" +0 -0
  501. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230r.png" +0 -0
  502. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230tc.png" +0 -0
  503. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230x.png" +0 -0
  504. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257.png" +0 -0
  505. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257d.png" +0 -0
  506. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257e.png" +0 -0
  507. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257en.png" +0 -0
  508. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257f.png" +0 -0
  509. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257p.png" +0 -0
  510. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257r.png" +0 -0
  511. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257tc.png" +0 -0
  512. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257x.png" +0 -0
  513. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217116480.png" +0 -0
  514. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217180400.png" +0 -0
  515. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217180480.png" +0 -0
  516. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217240240.png" +0 -0
  517. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217240320.png" +0 -0
  518. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217240400.png" +0 -0
  519. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217240427.png" +0 -0
  520. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217270480.png" +0 -0
  521. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217320240.png" +0 -0
  522. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217320320.png" +0 -0
  523. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217360360.png" +0 -0
  524. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217400180.png" +0 -0
  525. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217400240.png" +0 -0
  526. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217427240.png" +0 -0
  527. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217480116.png" +0 -0
  528. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217480180.png" +0 -0
  529. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217480270.png" +0 -0
  530. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217480480.png" +0 -0
  531. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/346/222/255/346/224/276.png" +0 -0
  532. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/346/222/255/346/224/276/345/231/250/346/216/247/345/210/266.png" +0 -0
  533. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/346/232/202/345/201/234.png" +0 -0
  534. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230.png" +0 -0
  535. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230d.png" +0 -0
  536. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230e.png" +0 -0
  537. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230en.png" +0 -0
  538. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230f.png" +0 -0
  539. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230p.png" +0 -0
  540. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230r.png" +0 -0
  541. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230tc.png" +0 -0
  542. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230x.png" +0 -0
  543. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257.png" +0 -0
  544. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257d.png" +0 -0
  545. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257e.png" +0 -0
  546. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257f.png" +0 -0
  547. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257p.png" +0 -0
  548. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257r.png" +0 -0
  549. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257x.png" +0 -0
  550. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/350/243/201/345/207/217116480.png" +0 -0
  551. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/350/243/201/345/207/217180400.png" +0 -0
  552. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/350/243/201/345/207/217180480.png" +0 -0
  553. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/350/243/201/345/207/217240240.png" +0 -0
  554. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/350/243/201/345/207/217240320.png" +0 -0
  555. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/350/243/201/345/207/217240400.png" +0 -0
  556. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/350/243/201/345/207/217240427.png" +0 -0
  557. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/350/243/201/345/207/217270480.png" +0 -0
  558. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/350/243/201/345/207/217320240.png" +0 -0
  559. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/350/243/201/345/207/217320320.png" +0 -0
  560. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/350/243/201/345/207/217360360.png" +0 -0
  561. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/350/243/201/345/207/217400180.png" +0 -0
  562. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/350/243/201/345/207/217400240.png" +0 -0
  563. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/350/243/201/345/207/217427240.png" +0 -0
  564. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/350/243/201/345/207/217480116.png" +0 -0
  565. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/350/243/201/345/207/217480180.png" +0 -0
  566. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/350/243/201/345/207/217480270.png" +0 -0
  567. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/350/243/201/345/207/217480480.png" +0 -0
  568. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/351/242/204/350/247/210.png" +0 -0
  569. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/351/242/204/350/247/210a.png" +0 -0
  570. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/2271280X480.png" +0 -0
  571. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/2271920X462.png" +0 -0
  572. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227360X800.png" +0 -0
  573. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227462X1920.png" +0 -0
  574. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227480X1280.png" +0 -0
  575. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227480X800.png" +0 -0
  576. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227480X854.png" +0 -0
  577. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227540X960.png" +0 -0
  578. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227800X360.png" +0 -0
  579. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227800X480.png" +0 -0
  580. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227854X480.png" +0 -0
  581. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227960X540.png" +0 -0
  582. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P12H.png +0 -0
  583. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P1/347/263/273/347/273/237/344/277/241/346/201/257en.png" +0 -0
  584. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P1/347/263/273/347/273/237/344/277/241/346/201/257tc.png" +0 -0
  585. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P240240.png +0 -0
  586. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P240320.png +0 -0
  587. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P24H.png +0 -0
  588. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P320240.png +0 -0
  589. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P320320.png +0 -0
  590. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/PDM.png +0 -0
  591. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/PDMY.png +0 -0
  592. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/PL0.png +0 -0
  593. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/PL1.png +0 -0
  594. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/PL2.png +0 -0
  595. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/PL3.png +0 -0
  596. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/PM1.png +0 -0
  597. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/PM1a.png +0 -0
  598. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/PM2.png +0 -0
  599. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/PM2a.png +0 -0
  600. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/PM3.png +0 -0
  601. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/PM3a.png +0 -0
  602. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/PM4.png +0 -0
  603. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/PM4a.png +0 -0
  604. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/PM5.png +0 -0
  605. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/PM5a.png +0 -0
  606. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/PM6.png +0 -0
  607. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/PM6a.png +0 -0
  608. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/PMD.png +0 -0
  609. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/PYMD.png +0 -0
  610. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/344/270/213/346/213/211/346/241/206.png" +0 -0
  611. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/344/270/213/346/213/211/346/241/206/345/272/225/345/233/2762X.png" +0 -0
  612. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/344/270/213/346/213/211/346/241/206/345/272/225/345/233/2764X.png" +0 -0
  613. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/344/270/213/346/213/211/346/241/206/351/253/230/344/272/256.png" +0 -0
  614. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/344/270/273/351/242/230/345/210/206/347/261/273/351/200/211/346/213/251.png" +0 -0
  615. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/344/270/273/351/242/230/345/210/206/347/261/273/351/200/211/346/213/2510.png" +0 -0
  616. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/344/270/273/351/242/230/350/256/276/347/275/256.png" +0 -0
  617. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/344/270/273/351/242/230/350/256/276/347/275/256a.png" +0 -0
  618. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/344/270/273/351/242/230/350/275/256/346/222/255.png" +0 -0
  619. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/344/270/273/351/242/230/350/275/256/346/222/255a.png" +0 -0
  620. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/344/272/221/347/253/257/344/270/273/351/242/230.png" +0 -0
  621. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/344/272/221/347/253/257/344/270/273/351/242/230a.png" +0 -0
  622. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/344/272/221/347/253/257/350/203/214/346/231/257.png" +0 -0
  623. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/344/272/221/347/253/257/350/203/214/346/231/257a.png" +0 -0
  624. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/344/277/235/345/255/230/344/270/273/351/242/230.png" +0 -0
  625. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/345/205/263/351/227/255/346/214/211/351/222/256.png" +0 -0
  626. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/345/205/263/351/227/255/346/214/211/351/222/2562.png" +0 -0
  627. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/345/207/217.png" +0 -0
  628. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/345/211/252/350/276/221/345/235/227a.png" +0 -0
  629. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/345/211/252/350/276/221/345/235/227b.png" +0 -0
  630. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/345/212/237/350/203/275/351/200/211/346/213/251.png" +0 -0
  631. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/345/212/237/350/203/275/351/200/211/346/213/251a.png" +0 -0
  632. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/345/212/240.png" +0 -0
  633. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/345/212/250/347/224/273.png" +0 -0
  634. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/345/215/225/344/275/215/345/274/200/345/205/263.png" +0 -0
  635. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/345/215/225/344/275/215/345/274/200/345/205/263a.png" +0 -0
  636. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/345/217/226/350/211/262.png" +0 -0
  637. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/345/220/270/347/256/241.png" +0 -0
  638. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/345/233/276/347/211/207.png" +0 -0
  639. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/345/234/206/345/275/242/345/205/263/351/227/255.png" +0 -0
  640. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/345/234/206/345/275/242/347/241/256/345/256/232.png" +0 -0
  641. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/345/242/236/345/212/240/345/206/205/345/256/271.png" +0 -0
  642. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/345/242/236/345/212/240/346/226/207/346/234/254.png" +0 -0
  643. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/345/242/236/345/212/240/346/227/245/346/234/237.png" +0 -0
  644. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/345/242/236/345/212/240/346/227/266/351/227/264.png" +0 -0
  645. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/345/242/236/345/212/240/346/230/237/346/234/237.png" +0 -0
  646. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/345/244/232/351/200/211.png" +0 -0
  647. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/345/244/232/351/200/211a.png" +0 -0
  648. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/345/256/275/345/272/246/351/200/202/345/272/224.png" +0 -0
  649. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/345/257/274/345/205/245.png" +0 -0
  650. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/345/257/274/345/207/272.png" +0 -0
  651. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/345/257/274/345/207/272/346/211/200/346/234/211/344/270/273/351/242/230.png" +0 -0
  652. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/345/270/256/345/212/251.png" +0 -0
  653. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/346/225/260/345/255/227/345/255/227/344/275/223.png" +0 -0
  654. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/346/225/260/346/215/256.png" +0 -0
  655. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/346/226/207/345/255/227/345/255/227/344/275/223.png" +0 -0
  656. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/346/226/207/346/234/254.png" +0 -0
  657. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/346/227/213/350/275/254.png" +0 -0
  658. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/346/227/245/346/234/237.png" +0 -0
  659. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/346/227/266/351/227/264.png" +0 -0
  660. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/346/230/237/346/234/237.png" +0 -0
  661. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/346/230/276/347/244/272/350/276/271/346/241/206.png" +0 -0
  662. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/346/230/276/347/244/272/350/276/271/346/241/206A.png" +0 -0
  663. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/346/234/254/345/234/260/344/270/273/351/242/230.png" +0 -0
  664. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/346/234/254/345/234/260/344/270/273/351/242/230a.png" +0 -0
  665. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/346/273/221/345/212/250/345/205/263.png" +0 -0
  666. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/346/273/221/345/212/250/345/274/200.png" +0 -0
  667. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/346/273/221/345/212/250/346/235/241/346/214/211/351/222/256.png" +0 -0
  668. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/346/273/232/345/212/250/346/235/241/345/272/225/345/233/276.png" +0 -0
  669. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/346/273/232/345/212/250/346/235/241/346/214/211/351/222/256.png" +0 -0
  670. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233.png" +0 -0
  671. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233180.png" +0 -0
  672. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233270.png" +0 -0
  673. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/23390.png" +0 -0
  674. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233a.png" +0 -0
  675. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233a180.png" +0 -0
  676. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233a270.png" +0 -0
  677. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233a90.png" +0 -0
  678. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233b.png" +0 -0
  679. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233b180.png" +0 -0
  680. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233b270.png" +0 -0
  681. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233b90.png" +0 -0
  682. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/347/202/271/351/200/211/346/241/206.png" +0 -0
  683. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/347/202/271/351/200/211/346/241/206A.png" +0 -0
  684. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/347/216/257H1.png" +0 -0
  685. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/347/216/257H2.png" +0 -0
  686. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/347/216/257H3.png" +0 -0
  687. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/347/216/257H4.png" +0 -0
  688. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/347/216/257H5.png" +0 -0
  689. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/347/216/257H6.png" +0 -0
  690. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/347/233/264/346/222/255/350/247/206/351/242/221/350/275/275/345/205/245.png" +0 -0
  691. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/347/275/221/347/273/234.png" +0 -0
  692. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/347/275/221/347/273/234/346/214/211/351/222/256.png" +0 -0
  693. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/350/222/231/346/235/277.png" +0 -0
  694. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/350/243/201/345/207/217.png" +0 -0
  695. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/350/247/206/351/242/221.png" +0 -0
  696. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/350/275/256/346/222/255.png" +0 -0
  697. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/350/275/256/346/222/2551.png" +0 -0
  698. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/350/275/256/346/222/2552.png" +0 -0
  699. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/350/275/256/346/222/2553.png" +0 -0
  700. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/350/275/256/346/222/2554.png" +0 -0
  701. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/350/275/256/346/222/2555.png" +0 -0
  702. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/350/275/256/346/222/2556.png" +0 -0
  703. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/350/275/256/346/222/255a.png" +0 -0
  704. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/350/275/256/346/222/255/351/200/211/346/241/206.png" +0 -0
  705. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/350/275/275/345/205/245/345/212/250/347/224/273.png" +0 -0
  706. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/350/277/233/345/272/246/346/235/241.png" +0 -0
  707. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/351/200/211/344/270/255.png" +0 -0
  708. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/351/200/211/346/213/251/346/241/206M.png" +0 -0
  709. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/351/200/211/346/213/251/346/241/206Ma.png" +0 -0
  710. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/351/242/204/350/247/210116X480.png" +0 -0
  711. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/351/242/204/350/247/210180X400.png" +0 -0
  712. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/351/242/204/350/247/210180X480.png" +0 -0
  713. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/351/242/204/350/247/210240X240.png" +0 -0
  714. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/351/242/204/350/247/210240X320.png" +0 -0
  715. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/351/242/204/350/247/210240X400.png" +0 -0
  716. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/351/242/204/350/247/210240X427.png" +0 -0
  717. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/351/242/204/350/247/210270X480.png" +0 -0
  718. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/351/242/204/350/247/210320X240.png" +0 -0
  719. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/351/242/204/350/247/210320X320.png" +0 -0
  720. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/351/242/204/350/247/210320X320/345/234/206.png" +0 -0
  721. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/351/242/204/350/247/210360360/345/234/206.png" +0 -0
  722. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/351/242/204/350/247/210400X180.png" +0 -0
  723. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/351/242/204/350/247/210400X240.png" +0 -0
  724. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/351/242/204/350/247/210427X240.png" +0 -0
  725. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/351/242/204/350/247/210480X116.png" +0 -0
  726. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/351/242/204/350/247/210480X180.png" +0 -0
  727. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/351/242/204/350/247/210480X270.png" +0 -0
  728. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/351/242/204/350/247/210480X480.png" +0 -0
  729. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/351/242/204/350/247/210480X480/345/234/206.png" +0 -0
  730. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/351/242/204/350/247/210/345/212/250/347/224/273.png" +0 -0
  731. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/351/242/204/350/247/210/345/234/206/345/275/242/351/201/256/347/275/251320320/345/234/206.png" +0 -0
  732. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/351/242/204/350/247/210/345/234/206/345/275/242/351/201/256/347/275/251360360/345/234/206.png" +0 -0
  733. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/351/242/204/350/247/210/345/234/206/345/275/242/351/201/256/347/275/251480480/345/234/206.png" +0 -0
  734. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/351/242/234/350/211/262/346/273/221/345/212/250/345/235/227.png" +0 -0
  735. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/351/242/234/350/211/262/351/200/211/346/213/251/345/234/210.png" +0 -0
  736. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/P/351/253/230/345/272/246/351/200/202/345/272/224.png" +0 -0
  737. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/p0/344/272/221/347/253/257/344/270/273/351/242/230.png" +0 -0
  738. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257.png" +0 -0
  739. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257d.png" +0 -0
  740. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257e.png" +0 -0
  741. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257en.png" +0 -0
  742. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257f.png" +0 -0
  743. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257p.png" +0 -0
  744. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257r.png" +0 -0
  745. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257tc.png" +0 -0
  746. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257x.png" +0 -0
  747. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/p/344/272/221/347/253/257/344/270/273/351/242/230.png" +0 -0
  748. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/ucBoFangQiKongZhi1.BackgroundImage.png +0 -0
  749. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/ucBoFangQiKongZhi1_BackgroundImage.png +0 -0
  750. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/ucVideoCut1.BackgroundImage.png +0 -0
  751. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/ucVideoCut1_BackgroundImage.png +0 -0
  752. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/ucXiTongXianShi1.BackgroundImage.png +0 -0
  753. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/ucXiTongXianShiAdd1.BackgroundImage.png +0 -0
  754. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/ucXiTongXianShiColor1.BackgroundImage.png +0 -0
  755. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/gui/ucXiTongXianShiTable1.BackgroundImage.png +0 -0
  756. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/icons/app.ico +0 -0
  757. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/icons/trcc.png +0 -0
  758. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/icons/trcc_128x128.png +0 -0
  759. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/icons/trcc_16x16.png +0 -0
  760. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/icons/trcc_24x24.png +0 -0
  761. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/icons/trcc_256x256.png +0 -0
  762. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/icons/trcc_32x32.png +0 -0
  763. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/icons/trcc_48x48.png +0 -0
  764. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/assets/icons/trcc_64x64.png +0 -0
  765. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/binary_reader.py +0 -0
  766. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/cloud_downloader.py +0 -0
  767. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/conf.py +0 -0
  768. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/core/__init__.py +0 -0
  769. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/core/controllers.py +0 -0
  770. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/core/models.py +0 -0
  771. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/dc_config.py +0 -0
  772. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/dc_parser.py +0 -0
  773. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/dc_writer.py +0 -0
  774. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/device_base.py +0 -0
  775. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/device_implementations.py +0 -0
  776. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/gif_animator.py +0 -0
  777. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/hid_device.py +0 -0
  778. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/hr10_display.py +0 -0
  779. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/hr10_tempd.py +0 -0
  780. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/kvm_led_device.py +0 -0
  781. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/lcd_driver.py +0 -0
  782. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/overlay_renderer.py +0 -0
  783. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/paths.py +0 -0
  784. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/qt_components/__init__.py +0 -0
  785. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/qt_components/assets.py +0 -0
  786. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/qt_components/base.py +0 -0
  787. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/qt_components/constants.py +0 -0
  788. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/qt_components/eyedropper.py +0 -0
  789. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/qt_components/pipewire_capture.py +0 -0
  790. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/qt_components/screen_capture.py +0 -0
  791. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/qt_components/uc_about.py +0 -0
  792. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/qt_components/uc_activity_sidebar.py +0 -0
  793. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/qt_components/uc_color_wheel.py +0 -0
  794. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/qt_components/uc_device.py +0 -0
  795. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/qt_components/uc_image_cut.py +0 -0
  796. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/qt_components/uc_info_module.py +0 -0
  797. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/qt_components/uc_led_control.py +0 -0
  798. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/qt_components/uc_preview.py +0 -0
  799. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/qt_components/uc_screen_led.py +0 -0
  800. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/qt_components/uc_sensor_picker.py +0 -0
  801. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/qt_components/uc_seven_segment.py +0 -0
  802. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/qt_components/uc_system_info.py +0 -0
  803. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/qt_components/uc_theme_local.py +0 -0
  804. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/qt_components/uc_theme_mask.py +0 -0
  805. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/qt_components/uc_theme_setting.py +0 -0
  806. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/qt_components/uc_theme_web.py +0 -0
  807. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/qt_components/uc_video_cut.py +0 -0
  808. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/sensor_enumerator.py +0 -0
  809. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/sysinfo_config.py +0 -0
  810. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/system_info.py +0 -0
  811. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/theme_downloader.py +0 -0
  812. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/src/trcc/theme_io.py +0 -0
  813. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/README.md +0 -0
  814. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/__init__.py +0 -0
  815. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/hid_testing/__init__.py +0 -0
  816. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/hid_testing/conftest.py +0 -0
  817. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/hid_testing/test_hid_device.py +0 -0
  818. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/hid_testing/test_led_controller.py +0 -0
  819. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/run_tests.py +0 -0
  820. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/test_cloud_downloader.py +0 -0
  821. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/test_controllers.py +0 -0
  822. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/test_dc_parser.py +0 -0
  823. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/test_dc_writer.py +0 -0
  824. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/test_device_implementations.py +0 -0
  825. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/test_gif_animator.py +0 -0
  826. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/test_hr10_display.py +0 -0
  827. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/test_integration.py +0 -0
  828. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/test_kvm_led_device.py +0 -0
  829. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/test_lcd_driver.py +0 -0
  830. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/test_models.py +0 -0
  831. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/test_overlay_renderer.py +0 -0
  832. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/test_paths.py +0 -0
  833. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/test_qt_base.py +0 -0
  834. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/test_qt_constants.py +0 -0
  835. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/test_qt_widgets.py +0 -0
  836. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/test_scsi_device.py +0 -0
  837. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/test_sensor_enumerator.py +0 -0
  838. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/test_sysinfo_config.py +0 -0
  839. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/test_system_info.py +0 -0
  840. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/test_theme_downloader.py +0 -0
  841. {trcc_linux-1.2.18 → trcc_linux-1.2.20}/tests/test_theme_io.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: trcc-linux
3
- Version: 1.2.18
3
+ Version: 1.2.20
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
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "trcc-linux"
7
- version = "1.2.18"
7
+ version = "1.2.20"
8
8
  description = "Linux implementation of Thermalright LCD Control Center"
9
9
  readme = "README.md"
10
10
  license = "GPL-3.0-or-later"
@@ -1,6 +1,6 @@
1
1
  """TRCC Linux version information."""
2
2
 
3
- __version__ = "1.2.18"
3
+ __version__ = "1.2.20"
4
4
  __version_info__ = tuple(int(x) for x in __version__.split("."))
5
5
 
6
6
  # Version history:
@@ -52,3 +52,10 @@ __version_info__ = tuple(int(x) for x in __version__.split("."))
52
52
  # 1.2.18 - Fix GrandVision 360 AIO (87AD:70DB) causing GUI hang: device is vendor-
53
53
  # specific USB (class 255), not HID — removed from LED device list to stop
54
54
  # timeout loop on startup
55
+ # 1.2.19 - Raw USB bulk protocol for GrandVision/Mjolnir Vision (87AD:70DB):
56
+ # BulkDevice handler (handshake + RGB565 frame send via pyusb),
57
+ # BulkProtocol in device factory, bulk udev rules, CLI detect/probe
58
+ # 1.2.20 - Fix GUI not performing handshake for HID/Bulk devices: resolution
59
+ # stayed (0,0) so themes never loaded. Now runs handshake async on
60
+ # device selection. OOP refactor: DeviceEntry dataclass, PmEntry
61
+ # NamedTuple, _LedProbeCache class, _resolve_pm() DRY helper
@@ -0,0 +1,194 @@
1
+ """
2
+ Raw USB bulk device handler for USBLCDNew-type devices.
3
+
4
+ Handles devices with bInterfaceClass=255 (Vendor Specific) that use
5
+ raw USB bulk transfers instead of SCSI or HID. Protocol reverse-engineered
6
+ from USBLCDNew.exe ThreadSendDeviceData (87AD:70DB GrandVision series).
7
+
8
+ Protocol:
9
+ 1. Handshake: write 64 bytes {0x12,0x34,0x56,0x78,...,byte[56]=0x01},
10
+ read 1024 bytes. resp[24]=PM, resp[36]=SUB.
11
+ 2. Frame send: 64-byte header + RGB565 pixel data, bulk write.
12
+ ZLP if total size is 512-byte aligned.
13
+ """
14
+
15
+ from __future__ import annotations
16
+
17
+ import logging
18
+ import struct
19
+
20
+ from .device_base import DeviceHandler, HandshakeResult
21
+
22
+ log = logging.getLogger(__name__)
23
+
24
+ # Handshake payload: 64 bytes from USBLCDNew ThreadSendDeviceData
25
+ _HANDSHAKE_PAYLOAD = bytes([
26
+ 0x12, 0x34, 0x56, 0x78, 0, 0, 0, 0, 0, 0,
27
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
28
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
29
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
30
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
31
+ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
32
+ 0, 0, 0, 0,
33
+ ])
34
+
35
+ _HANDSHAKE_READ_SIZE = 1024
36
+ _HANDSHAKE_TIMEOUT_MS = 1000
37
+ _WRITE_TIMEOUT_MS = 1000
38
+ _FRAME_HEADER_SIZE = 64
39
+
40
+
41
+ class BulkDevice(DeviceHandler):
42
+ """USB bulk device handler for USBLCDNew-type LCDs (87AD:70DB etc.).
43
+
44
+ Uses pyusb for raw bulk endpoint I/O. The kernel must not have
45
+ claimed the interface (no usb-storage, no usbhid).
46
+ """
47
+
48
+ def __init__(self, vid: int, pid: int, usb_path: str = ""):
49
+ self.vid = vid
50
+ self.pid = pid
51
+ self.usb_path = usb_path
52
+ self._dev = None
53
+ self._ep_out = None
54
+ self._ep_in = None
55
+ self.pm: int = 0
56
+ self.sub_type: int = 0
57
+ self.width: int = 0
58
+ self.height: int = 0
59
+ self._raw_handshake: bytes = b""
60
+
61
+ def _open(self):
62
+ """Find and claim the USB device."""
63
+ import usb.core
64
+ import usb.util
65
+
66
+ dev = usb.core.find(idVendor=self.vid, idProduct=self.pid) # type: ignore[union-attr]
67
+ if dev is None:
68
+ raise RuntimeError(f"USB device {self.vid:04x}:{self.pid:04x} not found")
69
+
70
+ # Detach kernel driver if attached
71
+ for i in range(dev.get_active_configuration().bNumInterfaces): # type: ignore[union-attr]
72
+ if dev.is_kernel_driver_active(i): # type: ignore[union-attr]
73
+ dev.detach_kernel_driver(i) # type: ignore[union-attr]
74
+ log.debug("Detached kernel driver from interface %d", i)
75
+
76
+ dev.set_configuration() # type: ignore[union-attr]
77
+ cfg = dev.get_active_configuration() # type: ignore[union-attr]
78
+ intf = cfg[(0, 0)] # type: ignore[index]
79
+
80
+ self._ep_out = usb.util.find_descriptor(
81
+ intf,
82
+ custom_match=lambda e: usb.util.endpoint_direction(
83
+ e.bEndpointAddress
84
+ ) == usb.util.ENDPOINT_OUT,
85
+ )
86
+ self._ep_in = usb.util.find_descriptor(
87
+ intf,
88
+ custom_match=lambda e: usb.util.endpoint_direction(
89
+ e.bEndpointAddress
90
+ ) == usb.util.ENDPOINT_IN,
91
+ )
92
+
93
+ if self._ep_out is None or self._ep_in is None:
94
+ raise RuntimeError("Could not find bulk IN/OUT endpoints")
95
+
96
+ self._dev = dev
97
+ log.info("Opened bulk device %04x:%04x (EP OUT=0x%02x, EP IN=0x%02x)",
98
+ self.vid, self.pid,
99
+ self._ep_out.bEndpointAddress, # type: ignore[union-attr]
100
+ self._ep_in.bEndpointAddress) # type: ignore[union-attr]
101
+
102
+ def handshake(self) -> HandshakeResult:
103
+ """Send 64-byte handshake, read 1024-byte response.
104
+
105
+ Extracts PM from resp[24], SUB from resp[36].
106
+ """
107
+ if self._dev is None:
108
+ self._open()
109
+
110
+ assert self._ep_out is not None
111
+ assert self._ep_in is not None
112
+
113
+ # Write handshake
114
+ self._ep_out.write(_HANDSHAKE_PAYLOAD, timeout=_HANDSHAKE_TIMEOUT_MS) # type: ignore[union-attr]
115
+ log.debug("Handshake sent (%d bytes)", len(_HANDSHAKE_PAYLOAD))
116
+
117
+ # Read response
118
+ resp = bytes(self._ep_in.read( # type: ignore[union-attr]
119
+ _HANDSHAKE_READ_SIZE, timeout=_HANDSHAKE_TIMEOUT_MS
120
+ ))
121
+ self._raw_handshake = resp
122
+ log.info("Handshake response: %d bytes", len(resp))
123
+ log.debug("Response hex (first 64): %s",
124
+ " ".join(f"{b:02x}" for b in resp[:64]))
125
+
126
+ # Validate: resp[24] must be non-zero (from CS code)
127
+ if len(resp) < 41 or resp[24] == 0:
128
+ log.warning("Handshake failed: resp[24]=%s (expected non-zero)",
129
+ resp[24] if len(resp) > 24 else "N/A")
130
+ return HandshakeResult(raw_response=resp)
131
+
132
+ # Extract PM and SUB (from USBLCDNew shared memory mapping)
133
+ self.pm = resp[24]
134
+ self.sub_type = resp[36]
135
+
136
+ # Derive resolution from PM (same mapping as SCSI poll byte)
137
+ res_map = {36: (240, 240), 50: (240, 320), 51: (320, 240),
138
+ 100: (320, 320), 101: (480, 480)}
139
+ resolution = res_map.get(self.pm)
140
+ if resolution:
141
+ self.width, self.height = resolution
142
+
143
+ log.info("Bulk handshake OK: PM=%d, SUB=%d, resolution=%s",
144
+ self.pm, self.sub_type, resolution)
145
+
146
+ return HandshakeResult(
147
+ resolution=resolution,
148
+ model_id=self.pm,
149
+ raw_response=resp,
150
+ )
151
+
152
+ def send_frame(self, rgb565_data: bytes) -> bool:
153
+ """Send one RGB565 frame via bulk write.
154
+
155
+ Frame format (from USBLCDNew ThreadSendDeviceData):
156
+ - 64-byte header (bytes[60:64] = data size as uint32 LE)
157
+ - RGB565 pixel data
158
+ - ZLP if total size is 512-byte aligned
159
+ """
160
+ if self._dev is None or self._ep_out is None:
161
+ self.handshake()
162
+
163
+ assert self._ep_out is not None
164
+
165
+ data_size = len(rgb565_data)
166
+
167
+ # Build 64-byte header
168
+ header = bytearray(64)
169
+ struct.pack_into("<I", header, 60, data_size)
170
+
171
+ payload = bytes(header) + rgb565_data
172
+ total = len(payload)
173
+
174
+ try:
175
+ self._ep_out.write(payload, timeout=_WRITE_TIMEOUT_MS) # type: ignore[union-attr]
176
+
177
+ # Send ZLP if 512-byte aligned (from CS code)
178
+ if total % 512 == 0:
179
+ self._ep_out.write(b"", timeout=_WRITE_TIMEOUT_MS) # type: ignore[union-attr]
180
+
181
+ return True
182
+ except Exception:
183
+ log.exception("Bulk frame send failed (%d bytes)", total)
184
+ return False
185
+
186
+ def close(self) -> None:
187
+ """Release USB device."""
188
+ if self._dev is not None:
189
+ import usb.util
190
+ usb.util.dispose_resources(self._dev)
191
+ self._dev = None
192
+ self._ep_out = None
193
+ self._ep_in = None
194
+ log.info("Bulk device closed")
@@ -299,6 +299,19 @@ def _probe_device(dev):
299
299
  except Exception:
300
300
  pass
301
301
 
302
+ # Bulk USB devices: probe via bulk_device handshake
303
+ elif dev.implementation == 'bulk_usblcdnew':
304
+ try:
305
+ from trcc.bulk_device import BulkDevice
306
+ bd = BulkDevice(dev.vid, dev.pid)
307
+ hs = bd.handshake()
308
+ if hs.resolution:
309
+ result['resolution'] = hs.resolution
310
+ result['pm'] = hs.model_id
311
+ bd.close()
312
+ except Exception:
313
+ pass
314
+
302
315
  return result
303
316
 
304
317
 
@@ -306,7 +319,12 @@ def _format_device(dev, probe=False):
306
319
  """Format a detected device for display."""
307
320
  vid_pid = f"[{dev.vid:04x}:{dev.pid:04x}]"
308
321
  proto = dev.protocol.upper()
309
- path = dev.scsi_device if dev.scsi_device else "No device path found"
322
+ if dev.scsi_device:
323
+ path = dev.scsi_device
324
+ elif dev.protocol in ("hid", "bulk"):
325
+ path = f"{dev.vid:04x}:{dev.pid:04x}"
326
+ else:
327
+ path = "No device path found"
310
328
  line = f"{path} — {dev.product_name} {vid_pid} ({proto})"
311
329
 
312
330
  if not probe:
@@ -881,20 +899,24 @@ def led_diag(test=False):
881
899
  else:
882
900
  print(f"\n Status: UNKNOWN PM byte ({info.pm})")
883
901
  print(" This device falls back to AX120 defaults.")
884
- print(f" Add PM {info.pm} to led_device.py PM_TO_STYLE/PM_TO_MODEL.")
902
+ print(f" Add PM {info.pm} to led_device.py _PM_REGISTRY.")
885
903
 
886
904
  if test:
905
+ from .led_device import remap_led_colors
906
+
887
907
  print("\n Sending test colors...")
888
908
  led_count = style.led_count
889
909
  for name, color in [("RED", (255, 0, 0)), ("GREEN", (0, 255, 0)),
890
910
  ("BLUE", (0, 0, 255)), ("WHITE", (255, 255, 255))]:
891
- led_colors = [color] * led_count
911
+ led_colors = remap_led_colors(
912
+ [color] * led_count, style.style_id)
892
913
  packet = LedPacketBuilder.build_led_packet(led_colors, brightness=100)
893
914
  sender.send_led_data(packet)
894
915
  print(f" {name}")
895
916
  time.sleep(1.5)
896
- packet = LedPacketBuilder.build_led_packet(
897
- [(0, 0, 0)] * led_count, brightness=0)
917
+ led_colors = remap_led_colors(
918
+ [(0, 0, 0)] * led_count, style.style_id)
919
+ packet = LedPacketBuilder.build_led_packet(led_colors, brightness=0)
898
920
  sender.send_led_data(packet)
899
921
  print(" OFF")
900
922
 
@@ -933,20 +955,25 @@ def setup_udev(dry_run=False):
933
955
  (no /dev/sgX created). The :u quirk forces usb-storage bulk-only transport.
934
956
  """
935
957
  try:
936
- from trcc.device_detector import _HID_LCD_DEVICES, _LED_DEVICES, KNOWN_DEVICES
958
+ from trcc.device_detector import (
959
+ _BULK_DEVICES,
960
+ _HID_LCD_DEVICES,
961
+ _LED_DEVICES,
962
+ KNOWN_DEVICES,
963
+ )
937
964
 
938
965
  # Always include ALL devices in udev rules (so hardware is ready
939
- # when users plug in HID devices, even without --testing-hid)
940
- all_devices = {**KNOWN_DEVICES, **_HID_LCD_DEVICES, **_LED_DEVICES}
966
+ # when users plug in HID/bulk devices, even without --testing-hid)
967
+ all_devices = {**KNOWN_DEVICES, **_HID_LCD_DEVICES, **_LED_DEVICES, **_BULK_DEVICES}
941
968
 
942
969
  # --- 1. udev rules (permissions) ---
943
970
  rules_path = "/etc/udev/rules.d/99-trcc-lcd.rules"
944
971
  rules_lines = ["# Thermalright LCD/LED cooler devices — auto-generated by trcc setup-udev"]
945
972
 
946
973
  for (vid, pid), info in sorted(all_devices.items()):
947
- vendor = info.get("vendor", "Unknown")
948
- product = info.get("product", "Unknown")
949
- protocol = info.get("protocol", "scsi")
974
+ vendor = info.vendor
975
+ product = info.product
976
+ protocol = info.protocol
950
977
  if protocol == "hid":
951
978
  # HID devices need hidraw/usb subsystem rules
952
979
  rules_lines.append(
@@ -960,6 +987,15 @@ def setup_udev(dry_run=False):
960
987
  f'ATTR{{idProduct}}=="{pid:04x}", '
961
988
  f'MODE="0666"'
962
989
  )
990
+ elif protocol == "bulk":
991
+ # Raw USB bulk devices need usb subsystem rules (pyusb access)
992
+ rules_lines.append(
993
+ f'# {vendor} {product}\n'
994
+ f'SUBSYSTEM=="usb", '
995
+ f'ATTR{{idVendor}}=="{vid:04x}", '
996
+ f'ATTR{{idProduct}}=="{pid:04x}", '
997
+ f'MODE="0666"'
998
+ )
963
999
  else:
964
1000
  rules_lines.append(
965
1001
  f'# {vendor} {product}\n'
@@ -15,7 +15,9 @@ Supported devices (HID LCD — auto-detected when plugged in):
15
15
 
16
16
  Supported devices (HID LED — RGB controllers, auto-detected when plugged in):
17
17
  - Winbond: VID=0x0416, PID=0x8001 (64-byte reports)
18
- - ChiZhu Tech: VID=0x87AD, PID=0x70DB (GrandVision series, case 257)
18
+
19
+ Supported devices (Raw USB bulk — bInterfaceClass=255, Vendor Specific):
20
+ - ChiZhu Tech: VID=0x87AD, PID=0x70DB (GrandVision/Mjolnir Vision, USBLCDNew protocol)
19
21
  """
20
22
 
21
23
  import logging
@@ -30,6 +32,18 @@ from .paths import find_scsi_devices as _find_sg_entries
30
32
  log = logging.getLogger(__name__)
31
33
 
32
34
 
35
+ @dataclass
36
+ class DeviceEntry:
37
+ """Registry entry describing a known USB device's capabilities."""
38
+ vendor: str
39
+ product: str
40
+ implementation: str
41
+ model: str = "CZTV"
42
+ button_image: str = "A1CZTV"
43
+ protocol: str = "scsi"
44
+ device_type: int = 1 # 1=SCSI, 2=HID Type 2, 3=HID Type 3, 4=Raw USB Bulk
45
+
46
+
33
47
  @dataclass
34
48
  class DetectedDevice:
35
49
  """Detected USB/SCSI device"""
@@ -51,72 +65,42 @@ class DetectedDevice:
51
65
  # NOTE: On Linux we can't access HID pm/sub bytes to identify exact model,
52
66
  # so we map VID:PID directly to the most common device for that hardware.
53
67
  # Users can override model via config if needed.
54
- KNOWN_DEVICES = {
55
- (0x87CD, 0x70DB): {
56
- "vendor": "Thermalright",
57
- "product": "LCD Display (USBLCD)",
58
- "model": "CZTV",
59
- "button_image": "A1CZTV",
60
- "implementation": "thermalright_lcd_v1"
61
- },
62
- # USB 87AD:70DB - GrandVision 360 AIO (ChiZhu Tech, case 257 LCD+LED combo)
63
- (0x87AD, 0x70DB): {
64
- "vendor": "ChiZhu Tech",
65
- "product": "GrandVision 360 AIO (USBLCD)",
66
- "model": "GRAND_VISION",
67
- "button_image": "A1CZTV",
68
- "implementation": "thermalright_lcd_v1"
69
- },
70
- (0x0416, 0x5406): {
71
- "vendor": "Winbond",
72
- "product": "LCD Display (USBLCD)",
73
- "model": "CZTV",
74
- "button_image": "A1CZTV",
75
- "implementation": "ali_corp_lcd_v1"
76
- },
68
+ KNOWN_DEVICES: dict[tuple[int, int], DeviceEntry] = {
69
+ (0x87CD, 0x70DB): DeviceEntry(
70
+ vendor="Thermalright", product="LCD Display (USBLCD)",
71
+ implementation="thermalright_lcd_v1",
72
+ ),
73
+ # NOTE: 87AD:70DB (GrandVision) moved to _BULK_DEVICES — it's raw USB bulk, not SCSI.
74
+ (0x0416, 0x5406): DeviceEntry(
75
+ vendor="Winbond", product="LCD Display (USBLCD)",
76
+ implementation="ali_corp_lcd_v1",
77
+ ),
77
78
  # USB 0402:3922 - FROZEN WARFRAME series (SE/PRO/Ultra, confirmed on PRO 360 Black)
78
- (0x0402, 0x3922): {
79
- "vendor": "ALi Corp",
80
- "product": "FROZEN WARFRAME",
81
- "model": "FROZEN_WARFRAME",
82
- "button_image": "A1FROZEN_WARFRAME",
83
- "implementation": "ali_corp_lcd_v1"
84
- },
79
+ (0x0402, 0x3922): DeviceEntry(
80
+ vendor="ALi Corp", product="FROZEN WARFRAME",
81
+ model="FROZEN_WARFRAME", button_image="A1FROZEN_WARFRAME",
82
+ implementation="ali_corp_lcd_v1",
83
+ ),
85
84
  }
86
85
 
87
86
  # HID LCD devices — auto-detected when plugged in.
88
87
  # From UCDevice.cs (TRCC 2.0.3 decompiled — decimal PIDs confirmed).
89
- _HID_LCD_DEVICES = {
88
+ _HID_LCD_DEVICES: dict[tuple[int, int], DeviceEntry] = {
90
89
  # device2: UsbHidDevice(1046, 21250) = 0x0416:0x5302, DA/DB/DC/DD handshake, 512-byte chunks
91
- (0x0416, 0x5302): {
92
- "vendor": "Winbond",
93
- "product": "USBDISPLAY (HID)",
94
- "model": "CZTV",
95
- "button_image": "A1CZTV",
96
- "implementation": "hid_type2",
97
- "protocol": "hid",
98
- "device_type": 2,
99
- },
90
+ (0x0416, 0x5302): DeviceEntry(
91
+ vendor="Winbond", product="USBDISPLAY (HID)",
92
+ implementation="hid_type2", protocol="hid", device_type=2,
93
+ ),
100
94
  # device3: UsbHidDevice(1048, 21251) = 0x0418:0x5303, 64-byte packets
101
- (0x0418, 0x5303): {
102
- "vendor": "ALi Corp",
103
- "product": "LCD Display (HID)",
104
- "model": "CZTV",
105
- "button_image": "A1CZTV",
106
- "implementation": "hid_type3",
107
- "protocol": "hid",
108
- "device_type": 3,
109
- },
95
+ (0x0418, 0x5303): DeviceEntry(
96
+ vendor="ALi Corp", product="LCD Display (HID)",
97
+ implementation="hid_type3", protocol="hid", device_type=3,
98
+ ),
110
99
  # device4: UsbHidDevice(1048, 21252) = 0x0418:0x5304
111
- (0x0418, 0x5304): {
112
- "vendor": "ALi Corp",
113
- "product": "LCD Display (HID)",
114
- "model": "CZTV",
115
- "button_image": "A1CZTV",
116
- "implementation": "hid_type3",
117
- "protocol": "hid",
118
- "device_type": 3,
119
- },
100
+ (0x0418, 0x5304): DeviceEntry(
101
+ vendor="ALi Corp", product="LCD Display (HID)",
102
+ implementation="hid_type3", protocol="hid", device_type=3,
103
+ ),
120
104
  }
121
105
 
122
106
  # LED HID devices (RGB controllers + case 257 LCD+LED combos)
@@ -124,26 +108,35 @@ _HID_LCD_DEVICES = {
124
108
  # Case 257 devices (87AD:70DB) are LCD+LED combos that also use FormCZTV.
125
109
  # The actual model is resolved at runtime via the PM byte from the HID
126
110
  # handshake (see led_device.PM_TO_MODEL).
127
- _LED_DEVICES = {
111
+ _LED_DEVICES: dict[tuple[int, int], DeviceEntry] = {
128
112
  # device1: UsbHidDevice(1046, 32769) = 0x0416:0x8001, 64-byte packets
129
113
  # Case 1 — LED-only (AX120 Digital, PA120 Digital, etc.)
130
- (0x0416, 0x8001): {
131
- "vendor": "Winbond",
132
- "product": "LED Controller (HID)",
133
- "model": "LED_DIGITAL",
134
- "button_image": "A1CZTV",
135
- "implementation": "hid_led",
136
- "protocol": "hid",
137
- "device_type": 1,
138
- },
139
- # NOTE: 87AD:70DB (GrandVision) is NOT HID — bInterfaceClass=255 (Vendor Specific).
140
- # Uses USBLCDNew raw bulk protocol (ThreadSendDeviceData), not HID handshake.
141
- # Removed from _LED_DEVICES to prevent timeout loops. Needs raw bulk implementation.
114
+ (0x0416, 0x8001): DeviceEntry(
115
+ vendor="Winbond", product="LED Controller (HID)",
116
+ model="LED_DIGITAL", implementation="hid_led",
117
+ protocol="hid", device_type=1,
118
+ ),
119
+ }
120
+
121
+ # Raw USB bulk devices (bInterfaceClass=255, Vendor Specific).
122
+ # These use the USBLCDNew protocol (ThreadSendDeviceData) — not SCSI, not HID.
123
+ # Requires pyusb for raw bulk endpoint I/O.
124
+ _BULK_DEVICES: dict[tuple[int, int], DeviceEntry] = {
125
+ # 87AD:70DB GrandVision 360 AIO / Mjolnir Vision 360
126
+ # USBLCDNew ThreadSendDeviceData: 64-byte handshake → 1024-byte response → RGB565 frames
127
+ (0x87AD, 0x70DB): DeviceEntry(
128
+ vendor="ChiZhu Tech", product="GrandVision 360 AIO (Bulk USB)",
129
+ model="GRAND_VISION", implementation="bulk_usblcdnew",
130
+ protocol="bulk", device_type=4,
131
+ ),
142
132
  }
143
133
 
144
134
  # Backward-compat alias (tests and setup-udev reference this)
145
135
  KNOWN_LED_DEVICES = _LED_DEVICES
146
136
 
137
+ # Public alias for bulk devices (setup-udev needs VID:PIDs)
138
+ KNOWN_BULK_DEVICES = _BULK_DEVICES
139
+
147
140
  # Legacy flag — kept for backward compat but no longer checked.
148
141
  # HID devices are now auto-detected when plugged in.
149
142
  _hid_testing_enabled = False
@@ -156,10 +149,11 @@ def enable_hid_testing():
156
149
 
157
150
 
158
151
  def _get_all_devices():
159
- """Return device lookup dict (SCSI + HID LCD + LED)."""
152
+ """Return device lookup dict (SCSI + HID LCD + LED + Bulk)."""
160
153
  all_devices = dict(KNOWN_DEVICES)
161
154
  all_devices.update(_HID_LCD_DEVICES)
162
155
  all_devices.update(_LED_DEVICES)
156
+ all_devices.update(_BULK_DEVICES)
163
157
  return all_devices
164
158
 
165
159
 
@@ -211,18 +205,18 @@ def find_usb_devices() -> List[DetectedDevice]:
211
205
  usb_path = f"{int(bus)}-{device}"
212
206
 
213
207
  log.debug("Found known device: %04X:%04X %s (%s)",
214
- vid, pid, device_info["vendor"], device_info.get("protocol", "scsi"))
208
+ vid, pid, device_info.vendor, device_info.protocol)
215
209
  devices.append(DetectedDevice(
216
210
  vid=vid,
217
211
  pid=pid,
218
- vendor_name=device_info["vendor"],
219
- product_name=device_info["product"],
212
+ vendor_name=device_info.vendor,
213
+ product_name=device_info.product,
220
214
  usb_path=usb_path,
221
- implementation=device_info["implementation"],
222
- model=device_info.get("model", "CZTV"),
223
- button_image=device_info.get("button_image", "A1CZTV"),
224
- protocol=device_info.get("protocol", "scsi"),
225
- device_type=int(device_info.get("device_type", 1)),
215
+ implementation=device_info.implementation,
216
+ model=device_info.model,
217
+ button_image=device_info.button_image,
218
+ protocol=device_info.protocol,
219
+ device_type=device_info.device_type,
226
220
  ))
227
221
 
228
222
  log.debug("USB scan found %d known device(s)", len(devices))
@@ -320,8 +314,8 @@ def find_scsi_usblcd_devices() -> List[DetectedDevice]:
320
314
  # Look up in KNOWN_DEVICES
321
315
  if (dev_vid, dev_pid) in KNOWN_DEVICES:
322
316
  dev_info = KNOWN_DEVICES[(dev_vid, dev_pid)]
323
- dev_model = dev_info.get("model", "CZTV")
324
- dev_button = dev_info.get("button_image", "A1CZTV")
317
+ dev_model = dev_info.model
318
+ dev_button = dev_info.button_image
325
319
  break
326
320
  except (IOError, OSError, ValueError):
327
321
  pass