trcc-linux 1.2.14__tar.gz → 1.2.16__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.
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/PKG-INFO +1 -1
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/pyproject.toml +1 -1
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/__version__.py +5 -1
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/cli.py +14 -4
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/core/controllers.py +1 -1
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/device_detector.py +35 -17
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/device_factory.py +19 -26
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/device_implementations.py +5 -18
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/lcd_driver.py +11 -61
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/led_device.py +9 -8
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/hid_testing/test_led_device.py +55 -7
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_integration.py +16 -22
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_lcd_driver.py +39 -66
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/.gitignore +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/LICENSE +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/README.md +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/__init__.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/__main__.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/fonts/MSYH.TTC +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/fonts/MSYHBD.TTC +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/fonts/README.md +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/240240.gif +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/240320.gif +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/320240.gif +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/320320.gif +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A0/345/205/263/344/272/216.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A0/345/205/263/344/272/216d.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A0/345/205/263/344/272/216e.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A0/345/205/263/344/272/216en.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A0/345/205/263/344/272/216f.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A0/345/205/263/344/272/216p.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A0/345/205/263/344/272/216r.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A0/345/205/263/344/272/216tc.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A0/345/205/263/344/272/216x.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A0/345/220/257/345/212/250/347/225/214/351/235/242.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A0/346/225/260/346/215/256/345/210/227/350/241/250.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A0/346/227/240/350/256/276/345/244/207.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A0/346/227/240/350/256/276/345/244/207en.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A0/346/227/240/350/256/276/345/244/207tc.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A0/347/241/254/344/273/266/345/210/227/350/241/250.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1AK120 Digital.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1AK120 Digitala.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1AK120_Digital.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1AK120_Digitala.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1AS120 VISION.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1AS120 VISIONa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1AS120_VISION.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1AS120_VISIONa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1AX120 DIGITAL.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1AX120 DIGITALa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1AX120_DIGITAL.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1AX120_DIGITALa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1BA120 VISION.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1BA120 VISIONa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1BA120_VISION.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1BA120_VISIONa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1CORE VISION.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1CORE VISIONa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1CORE_VISION.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1CORE_VISIONa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1CZ1.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1CZ1a.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1CZTV.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1CZTVa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1ELITE VISION.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1ELITE VISIONa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1ELITE_VISION.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1ELITE_VISIONa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN HORIZON PRO.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN HORIZON PROa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN MAGIC PRO.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN MAGIC PROa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN VISION V2.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN VISION V2a.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN WARFRAME PRO.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN WARFRAME PROa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN WARFRAME SE.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN WARFRAME SEa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN WARFRAME.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN WARFRAMEa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN_HORIZON_PRO.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN_HORIZON_PROa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN_MAGIC_PRO.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN_MAGIC_PROa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN_VISION_V2.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN_VISION_V2a.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN_WARFRAME.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN_WARFRAME_PRO.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN_WARFRAME_PROa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN_WARFRAME_SE.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN_WARFRAME_SEa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1FROZEN_WARFRAMEa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1GRAND VISION.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1GRAND VISIONa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1GRAND_VISION.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1GRAND_VISIONa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1HR10 2280 PRO DIGITAL.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1HR10 2280 PRO DIGITALa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1HYPER VISION.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1HYPER VISIONa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1HYPER_VISION.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1HYPER_VISIONa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1KVMALEDC6.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1KVMALEDC6a.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LC1.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LC1a.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LC2.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LC2JD.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LC2JDa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LC2a.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LC3.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LC3a.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LC5.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LC5a.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF10.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF10a.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF11.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF11a.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF12.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF12a.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF13.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF13a.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF14.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF14a.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF15.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF15a.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF16.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF167.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF16a.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF17a.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF18.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF18a.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF19.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF19a.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF8.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LF8a.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LM16SE.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LM16SEa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LM22.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LM22a.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LM24.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LM24a.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LM26.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LM26a.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LM27.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1LM27a.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1Mjolnir VISION PRO.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1Mjolnir VISION PROa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1Mjolnir VISION.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1Mjolnir VISIONa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1Mjolnir_VISION.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1Mjolnir_VISION_PRO.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1Mjolnir_VISION_PROa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1Mjolnir_VISIONa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1PA120 DIGITAL.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1PA120 DIGITALa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1PA120_DIGITAL.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1PA120_DIGITALa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1RK120 DIGITAL.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1RK120 DIGITALa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1RK120_DIGITAL.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1RK120_DIGITALa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1RP130 VISION.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1RP130 VISIONa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1RP130_VISION.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1RP130_VISIONa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1Stream Vision.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1Stream Visiona.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1Stream_Vision.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1Stream_Visiona.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1/344/274/240/346/204/237/345/231/250.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1/344/274/240/346/204/237/345/231/250a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1/345/205/263/344/272/216.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A1/345/205/263/344/272/216a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A2/344/270/213/346/213/211/346/241/206/345/272/225/345/233/276.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/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
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A2/344/270/213/346/213/211/351/200/211/346/213/251/346/241/206.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A2/347/253/213/345/215/263/346/233/264/346/226/260.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/Acpu.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/Adram.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/Afan.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/Agpu.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/Ahdd.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/Alogout/351/200/211/344/270/255.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/Alogout/351/273/230/350/256/244.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/Anet.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A/344/270/212/344/270/200/351/241/265a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A/344/270/213/344/270/200/351/241/265a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A/345/242/236/345/212/240/346/225/260/347/273/204.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A/346/225/260/346/215/256/351/200/211/346/213/251.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A/346/273/232/345/212/250/346/235/241.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/A/350/207/252/345/256/232/344/271/211.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0CZ1.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0CZ1d.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0CZ1e.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0CZ1en.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0CZ1f.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0CZ1p.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0CZ1r.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0CZ1tc.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0CZ1x.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0KVMA/347/201/257/346/216/247.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC1.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC1d.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC1e.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC1en.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC1f.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC1p.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC1r.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC1tc.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC1x.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC2.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC2d.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC2e.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC2en.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC2f.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC2p.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC2r.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC2tc.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LC2x.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF10.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF10d.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF10e.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF10en.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF10f.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF10p.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF10r.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF10tc.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF10x.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF11.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF11d.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF11e.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF11en.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF11f.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF11p.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF11r.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF11tc.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF11x.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF12.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF12d.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF12e.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF12en.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF12f.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF12p.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF12r.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF12tc.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF12x.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF13.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF13d.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF13e.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF13en.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF13f.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF13p.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF13r.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF13tc.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF13x.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF15.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF15d.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF15e.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF15en.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF15f.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF15p.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF15r.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF15tc.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF15x.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF8.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF8d.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF8e.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF8en.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF8f.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF8p.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF8r.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF8tc.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0LF8x.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0rgblf13.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237d.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237e.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237en.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237f.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237p.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237r.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237tc.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/2174/345/214/272/345/237/237x.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217d.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217e.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217en.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217f.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217p.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217r.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217tc.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D0/346/225/260/347/240/201/345/261/217x.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D1/345/244/226/351/203/250/350/276/223/345/207/272.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D1/345/244/226/351/203/250/350/276/223/345/207/272a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D1/345/244/264/347/233/2241.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D1/345/244/264/347/233/2242.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D1/345/244/264/347/233/2243.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D1/345/244/264/347/233/2244.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D1/345/244/264/347/233/2245.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D1/347/201/257/345/205/211/350/201/232/345/220/210.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D1/347/201/257/345/205/211/350/201/232/345/220/210a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2111.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/21110.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/21110a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/21111.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/21111a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/21112.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/21112a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2111a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2112.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2112a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2113.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2113a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2114.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2114a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2115.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2115a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2116.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2116a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2117.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2117a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2118.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2118a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2119.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D2/347/201/257/345/205/2119a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/345/274/200/345/205/263.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/345/274/200/345/205/263a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/345/274/200/345/205/263b.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/346/227/213/351/222/256.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/346/227/213/351/222/2560.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/346/251/231.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/346/271/226.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/346/273/221/345/212/250/346/235/241/346/214/211/351/222/256.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/347/201/257/345/205/211/347/247/2001.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/347/201/257/345/205/211/347/247/2001a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/347/201/257/345/205/211/347/247/2002.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/347/201/257/345/205/211/347/247/2002a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/347/201/257/345/205/211/347/247/2003.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/347/201/257/345/205/211/347/247/2003a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/347/231/275.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/347/264/253.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/347/272/242.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/347/273/277.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/350/223/235.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D3/351/273/204.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/345/274/200/346/234/272.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/345/274/200/346/234/272a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/214/211/351/222/2561.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/214/211/351/222/2561a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/214/211/351/222/2562.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/214/211/351/222/2562a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/214/211/351/222/2563.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/214/211/351/222/2563a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/214/211/351/222/2564.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/214/211/351/222/2564a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/250/241/345/274/2171.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/250/241/345/274/2171a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/250/241/345/274/2172.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/250/241/345/274/2172a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/250/241/345/274/2173.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/250/241/345/274/2173a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/250/241/345/274/2174.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/250/241/345/274/2174a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/250/241/345/274/2175.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/250/241/345/274/2175a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/250/241/345/274/2176.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D4/346/250/241/345/274/2176a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/DAK120_DIGITAL.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/DAX120_DIGITAL.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/DCZ1.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/DFROZEN_HORIZON_PRO.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/DFROZEN_MAGIC_PRO.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/DLC1.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/DLC2.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/DLF10.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/DLF11.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/DLF12.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/DLF13.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/DLF15.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/DLF8.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/DPA120 DIGITAL.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/DPA120_DIGITAL.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/Dch1.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/Dch2.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/Dch3.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/Dch4.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/Dchcz1.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D/344/270/213/346/213/211/346/241/206.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D/344/270/213/346/213/211/346/241/2062.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D/344/270/213/346/213/211/350/217/234/345/215/225.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D/344/270/213/346/213/211/350/217/234/345/215/2252.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D/344/270/213/346/213/211/351/253/230/344/272/256.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/D/344/270/213/346/213/211/351/253/230/344/272/2562.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/FROZEN_WARFRAME_Ultra.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/FROZEN_WARFRAME_Ultraa.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/206/205/345/256/271.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/206/205/345/256/271d.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/206/205/345/256/271e.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/206/205/345/256/271en.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/206/205/345/256/271f.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/206/205/345/256/271p.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/206/205/345/256/271r.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/206/205/345/256/271tc.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/206/205/345/256/271x.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/212/250/347/224/273/350/201/224/345/212/250.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277d.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277e.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277en.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277f.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277p.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277r.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277tc.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/217/202/346/225/260/351/235/242/346/235/277x.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/242/236/345/212/240/345/206/205/345/256/271.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/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
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277d.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277e.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277en.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277f.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277p.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277r.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277tc.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/345/270/203/345/261/200/350/222/231/346/235/277x.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xy.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xyd.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xye.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xyen.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xyf.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xyp.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xyr.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xytc.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272xyx.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yx.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxd.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxe.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxen.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxf.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxp.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxr.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxtc.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/212/225/345/261/217/346/230/276/347/244/272yxx.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250d.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250e.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250en.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250f.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250p.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250r.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250tc.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/222/255/346/224/276/345/231/250x.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/227/266/351/227/264/346/230/276/347/244/272.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/227/266/351/227/264/346/230/276/347/244/272en.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/227/266/351/227/264/346/230/276/347/244/272tc.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/346/250/241/345/235/227/350/256/276/347/275/256.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/347/263/273/347/273/237/344/277/241/346/201/257.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/347/263/273/347/273/237/344/277/241/346/201/257en.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/347/263/273/347/273/237/344/277/241/346/201/257tc.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272d.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272e.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272en.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272f.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272p.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272r.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272tc.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/350/203/214/346/231/257/346/230/276/347/244/272x.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/350/207/252/345/256/232/346/226/207/345/255/227.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/350/207/252/345/256/232/346/226/207/345/255/227en.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/350/207/252/345/256/232/346/226/207/345/255/227tc.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/351/224/256/347/233/230/350/201/224/345/212/2501.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/351/224/256/347/233/230/350/201/224/345/212/2502.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P01/351/224/256/347/233/230/350/201/224/345/212/2503.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0CZTV.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0CZTVd.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0CZTVe.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0CZTVen.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0CZTVf.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0CZTVp.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0CZTVr.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0CZTVtc.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0CZTVx.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0M1.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0M2.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0M3.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0M4.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0M5.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0M5a.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0M6.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/270/273/351/242/230/350/256/276/347/275/256.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230d.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230e.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230en.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230f.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230p.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230r.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230tc.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/344/270/273/351/242/230x.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257d.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257e.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257en.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257f.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257p.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257r.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257tc.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/344/272/221/347/253/257/350/203/214/346/231/257x.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217116480.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217180400.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217180480.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217240240.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217240320.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217240400.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217240427.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217270480.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217320240.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217320320.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217360360.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217400180.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217400240.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217427240.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217480116.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217480180.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217480270.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/345/233/276/347/211/207/350/243/201/345/207/217480480.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/346/222/255/346/224/276.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/346/222/255/346/224/276/345/231/250/346/216/247/345/210/266.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/346/232/202/345/201/234.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230d.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230e.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230en.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230f.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230p.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230r.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230tc.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/346/234/254/345/234/260/344/270/273/351/242/230x.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257d.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257e.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257f.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257p.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257r.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/347/263/273/347/273/237/344/277/241/346/201/257x.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217116480.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217180400.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217180480.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217240240.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217240320.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217240400.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217240427.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217270480.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217320240.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217320320.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217360360.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217400180.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217400240.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217427240.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217480116.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217480180.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217480270.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/350/243/201/345/207/217480480.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/351/242/204/350/247/210.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/351/242/204/350/247/210a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/2271280X480.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/2271920X462.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227360X800.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227462X1920.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227480X1280.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227480X800.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227480X854.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227540X960.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227800X360.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227800X480.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227854X480.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P0/351/242/204/350/247/210/345/274/271/347/252/227960X540.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P12H.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P1/347/263/273/347/273/237/344/277/241/346/201/257en.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P1/347/263/273/347/273/237/344/277/241/346/201/257tc.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P240240.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P240320.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P24H.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P320240.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P320320.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PDM.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PDMY.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PL0.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PL1.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PL2.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PL3.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PM1.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PM1a.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PM2.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PM2a.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PM3.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PM3a.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PM4.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PM4a.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PM5.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PM5a.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PM6.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PM6a.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PMD.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/PYMD.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/344/270/213/346/213/211/346/241/206.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/344/270/213/346/213/211/346/241/206/345/272/225/345/233/2762X.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/344/270/213/346/213/211/346/241/206/345/272/225/345/233/2764X.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/344/270/213/346/213/211/346/241/206/351/253/230/344/272/256.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/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
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/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
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/344/270/273/351/242/230/350/256/276/347/275/256.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/344/270/273/351/242/230/350/256/276/347/275/256a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/344/270/273/351/242/230/350/275/256/346/222/255.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/344/270/273/351/242/230/350/275/256/346/222/255a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/344/272/221/347/253/257/344/270/273/351/242/230.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/344/272/221/347/253/257/344/270/273/351/242/230a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/344/272/221/347/253/257/350/203/214/346/231/257.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/344/272/221/347/253/257/350/203/214/346/231/257a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/344/277/235/345/255/230/344/270/273/351/242/230.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/205/263/351/227/255/346/214/211/351/222/256.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/205/263/351/227/255/346/214/211/351/222/2562.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/207/217.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/211/252/350/276/221/345/235/227a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/211/252/350/276/221/345/235/227b.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/212/237/350/203/275/351/200/211/346/213/251.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/212/237/350/203/275/351/200/211/346/213/251a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/212/240.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/212/250/347/224/273.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/215/225/344/275/215/345/274/200/345/205/263.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/215/225/344/275/215/345/274/200/345/205/263a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/217/226/350/211/262.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/220/270/347/256/241.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/233/276/347/211/207.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/234/206/345/275/242/345/205/263/351/227/255.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/234/206/345/275/242/347/241/256/345/256/232.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/242/236/345/212/240/345/206/205/345/256/271.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/242/236/345/212/240/346/226/207/346/234/254.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/242/236/345/212/240/346/227/245/346/234/237.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/242/236/345/212/240/346/227/266/351/227/264.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/242/236/345/212/240/346/230/237/346/234/237.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/244/232/351/200/211.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/244/232/351/200/211a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/256/275/345/272/246/351/200/202/345/272/224.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/257/274/345/205/245.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/257/274/345/207/272.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/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
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/345/270/256/345/212/251.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/225/260/345/255/227/345/255/227/344/275/223.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/225/260/346/215/256.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/226/207/345/255/227/345/255/227/344/275/223.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/226/207/346/234/254.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/227/213/350/275/254.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/227/245/346/234/237.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/227/266/351/227/264.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/230/237/346/234/237.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/230/276/347/244/272/350/276/271/346/241/206.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/230/276/347/244/272/350/276/271/346/241/206A.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/234/254/345/234/260/344/270/273/351/242/230.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/234/254/345/234/260/344/270/273/351/242/230a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/273/221/345/212/250/345/205/263.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/273/221/345/212/250/345/274/200.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/273/221/345/212/250/346/235/241/346/214/211/351/222/256.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/273/232/345/212/250/346/235/241/345/272/225/345/233/276.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/346/273/232/345/212/250/346/235/241/346/214/211/351/222/256.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233180.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233270.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/23390.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233a180.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233a270.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233a90.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233b.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233b180.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233b270.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/201/265/345/212/250/345/262/233b90.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/202/271/351/200/211/346/241/206.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/202/271/351/200/211/346/241/206A.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/216/257H1.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/216/257H2.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/216/257H3.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/216/257H4.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/216/257H5.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/216/257H6.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/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
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/275/221/347/273/234.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/347/275/221/347/273/234/346/214/211/351/222/256.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/350/222/231/346/235/277.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/350/243/201/345/207/217.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/350/247/206/351/242/221.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/350/275/256/346/222/255.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/350/275/256/346/222/2551.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/350/275/256/346/222/2552.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/350/275/256/346/222/2553.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/350/275/256/346/222/2554.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/350/275/256/346/222/2555.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/350/275/256/346/222/2556.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/350/275/256/346/222/255a.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/350/275/256/346/222/255/351/200/211/346/241/206.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/350/275/275/345/205/245/345/212/250/347/224/273.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/350/277/233/345/272/246/346/235/241.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/200/211/344/270/255.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/200/211/346/213/251/346/241/206M.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/200/211/346/213/251/346/241/206Ma.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210116X480.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210180X400.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210180X480.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210240X240.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210240X320.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210240X400.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210240X427.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210270X480.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210320X240.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210320X320.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210320X320/345/234/206.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210360360/345/234/206.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210400X180.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210400X240.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210427X240.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210480X116.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210480X180.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210480X270.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210480X480.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210480X480/345/234/206.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/204/350/247/210/345/212/250/347/224/273.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/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
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/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
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/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
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/234/350/211/262/346/273/221/345/212/250/345/235/227.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/242/234/350/211/262/351/200/211/346/213/251/345/234/210.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/P/351/253/230/345/272/246/351/200/202/345/272/224.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/p0/344/272/221/347/253/257/344/270/273/351/242/230.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257d.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257e.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257en.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257f.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257p.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257r.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257tc.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/p0/344/272/221/347/253/257/350/203/214/346/231/257x.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/p/344/272/221/347/253/257/344/270/273/351/242/230.png" +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/ucBoFangQiKongZhi1.BackgroundImage.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/ucBoFangQiKongZhi1_BackgroundImage.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/ucVideoCut1.BackgroundImage.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/ucVideoCut1_BackgroundImage.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/ucXiTongXianShi1.BackgroundImage.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/ucXiTongXianShiAdd1.BackgroundImage.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/ucXiTongXianShiColor1.BackgroundImage.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/gui/ucXiTongXianShiTable1.BackgroundImage.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/icons/app.ico +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/icons/trcc.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/icons/trcc_128x128.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/icons/trcc_16x16.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/icons/trcc_24x24.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/icons/trcc_256x256.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/icons/trcc_32x32.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/icons/trcc_48x48.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/assets/icons/trcc_64x64.png +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/binary_reader.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/cloud_downloader.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/conf.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/core/__init__.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/core/models.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/dc_config.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/dc_parser.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/dc_writer.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/device_base.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/gif_animator.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/hid_device.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/hr10_display.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/hr10_tempd.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/overlay_renderer.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/paths.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/__init__.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/assets.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/base.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/constants.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/eyedropper.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/pipewire_capture.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/qt_app_mvc.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/screen_capture.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_about.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_activity_sidebar.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_color_wheel.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_device.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_image_cut.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_info_module.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_led_control.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_preview.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_screen_led.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_sensor_picker.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_seven_segment.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_system_info.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_theme_local.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_theme_mask.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_theme_setting.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_theme_web.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/qt_components/uc_video_cut.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/scsi_device.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/sensor_enumerator.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/sysinfo_config.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/system_info.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/theme_downloader.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/src/trcc/theme_io.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/README.md +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/__init__.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/hid_testing/__init__.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/hid_testing/conftest.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/hid_testing/test_device_factory.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/hid_testing/test_hid_device.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/hid_testing/test_led_controller.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/run_tests.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_cli.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_cloud_downloader.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_controllers.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_dc_parser.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_dc_writer.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_device_detector.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_device_implementations.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_gif_animator.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_hr10_display.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_models.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_overlay_renderer.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_paths.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_qt_base.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_qt_constants.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_qt_widgets.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_scsi_device.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_sensor_enumerator.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_sysinfo_config.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_system_info.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/tests/test_theme_downloader.py +0 -0
- {trcc_linux-1.2.14 → trcc_linux-1.2.16}/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.
|
|
3
|
+
Version: 1.2.16
|
|
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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""TRCC Linux version information."""
|
|
2
2
|
|
|
3
|
-
__version__ = "1.2.
|
|
3
|
+
__version__ = "1.2.16"
|
|
4
4
|
__version_info__ = tuple(int(x) for x in __version__.split("."))
|
|
5
5
|
|
|
6
6
|
# Version history:
|
|
@@ -41,3 +41,7 @@ __version_info__ = tuple(int(x) for x in __version__.split("."))
|
|
|
41
41
|
# 1.2.13 - Fix format buttons not updating preview on fresh install: set overlay_enabled
|
|
42
42
|
# on theme load, persist format prefs (time/date/temp) across theme changes
|
|
43
43
|
# 1.2.14 - Add GrandVision 360 AIO support (VID 87AD:70DB), fix sysfs VID readback
|
|
44
|
+
# 1.2.15 - Auto-detect stale udev quirks: trcc detect warns and prompts
|
|
45
|
+
# sudo trcc setup-udev + reboot when USB storage quirk is missing
|
|
46
|
+
# 1.2.16 - Fix udev permissions on SELinux/immutable distros (Bazzite, Silverblue):
|
|
47
|
+
# use MODE="0666" instead of TAG+="uaccess" which fails with SELinux enforcing
|
|
@@ -335,7 +335,7 @@ def _format_device(dev, probe=False):
|
|
|
335
335
|
def detect(show_all=False):
|
|
336
336
|
"""Detect LCD device."""
|
|
337
337
|
try:
|
|
338
|
-
from trcc.device_detector import detect_devices
|
|
338
|
+
from trcc.device_detector import check_udev_rules, detect_devices
|
|
339
339
|
|
|
340
340
|
devices = detect_devices()
|
|
341
341
|
if not devices:
|
|
@@ -358,6 +358,16 @@ def detect(show_all=False):
|
|
|
358
358
|
dev = devices[0]
|
|
359
359
|
print(f"Active: {_format_device(dev, probe=True)}")
|
|
360
360
|
|
|
361
|
+
# Check for stale/missing udev rules on any device
|
|
362
|
+
for dev in devices:
|
|
363
|
+
if not check_udev_rules(dev):
|
|
364
|
+
msg = f"\nDevice {dev.vid:04x}:{dev.pid:04x} needs updated udev rules.\n"
|
|
365
|
+
msg += "Run: sudo trcc setup-udev"
|
|
366
|
+
if dev.protocol == "scsi":
|
|
367
|
+
msg += "\nThen reboot for the USB storage quirk to take effect."
|
|
368
|
+
print(msg)
|
|
369
|
+
break
|
|
370
|
+
|
|
361
371
|
return 0
|
|
362
372
|
except Exception as e:
|
|
363
373
|
print(f"Error: {e}")
|
|
@@ -944,11 +954,11 @@ def setup_udev(dry_run=False):
|
|
|
944
954
|
f'SUBSYSTEM=="hidraw", '
|
|
945
955
|
f'ATTRS{{idVendor}}=="{vid:04x}", '
|
|
946
956
|
f'ATTRS{{idProduct}}=="{pid:04x}", '
|
|
947
|
-
f'MODE="
|
|
957
|
+
f'MODE="0666"\n'
|
|
948
958
|
f'SUBSYSTEM=="usb", '
|
|
949
959
|
f'ATTR{{idVendor}}=="{vid:04x}", '
|
|
950
960
|
f'ATTR{{idProduct}}=="{pid:04x}", '
|
|
951
|
-
f'MODE="
|
|
961
|
+
f'MODE="0666"'
|
|
952
962
|
)
|
|
953
963
|
else:
|
|
954
964
|
rules_lines.append(
|
|
@@ -956,7 +966,7 @@ def setup_udev(dry_run=False):
|
|
|
956
966
|
f'SUBSYSTEM=="scsi_generic", '
|
|
957
967
|
f'ATTRS{{idVendor}}=="{vid:04x}", '
|
|
958
968
|
f'ATTRS{{idProduct}}=="{pid:04x}", '
|
|
959
|
-
f'MODE="
|
|
969
|
+
f'MODE="0666"'
|
|
960
970
|
)
|
|
961
971
|
|
|
962
972
|
rules_content = "\n\n".join(rules_lines) + "\n"
|
|
@@ -842,7 +842,7 @@ class LCDDeviceController:
|
|
|
842
842
|
self._send_frame_to_lcd(img)
|
|
843
843
|
self._update_status(f"Mask: {mask_dir.name}")
|
|
844
844
|
|
|
845
|
-
def _load_and_play_video(self, path: Path
|
|
845
|
+
def _load_and_play_video(self, path: Path):
|
|
846
846
|
"""Load video, show first frame on preview+LCD, and start playback."""
|
|
847
847
|
self.video.load(path)
|
|
848
848
|
first_frame = self.video.model.get_frame(0)
|
|
@@ -5,7 +5,6 @@ Finds Thermalright LCD and LED devices and maps them to SCSI or HID devices.
|
|
|
5
5
|
|
|
6
6
|
Supported devices (SCSI — stable):
|
|
7
7
|
- Thermalright: VID=0x87CD, PID=0x70DB
|
|
8
|
-
- Thermalright: VID=0x87AD, PID=0x70DB (GrandVision series)
|
|
9
8
|
- Winbond: VID=0x0416, PID=0x5406
|
|
10
9
|
- ALi Corp: VID=0x0402, PID=0x3922
|
|
11
10
|
|
|
@@ -16,6 +15,7 @@ Supported devices (HID LCD — auto-detected when plugged in):
|
|
|
16
15
|
|
|
17
16
|
Supported devices (HID LED — RGB controllers, auto-detected when plugged in):
|
|
18
17
|
- Winbond: VID=0x0416, PID=0x8001 (64-byte reports)
|
|
18
|
+
- ChiZhu Tech: VID=0x87AD, PID=0x70DB (GrandVision series, case 257)
|
|
19
19
|
"""
|
|
20
20
|
|
|
21
21
|
import logging
|
|
@@ -59,14 +59,6 @@ KNOWN_DEVICES = {
|
|
|
59
59
|
"button_image": "A1CZTV",
|
|
60
60
|
"implementation": "thermalright_lcd_v1"
|
|
61
61
|
},
|
|
62
|
-
# Same chip (ChiZhu Tech USBDISPLAY), different VID — GrandVision 360 AIO etc.
|
|
63
|
-
(0x87AD, 0x70DB): {
|
|
64
|
-
"vendor": "Thermalright",
|
|
65
|
-
"product": "LCD Display (USBLCD)",
|
|
66
|
-
"model": "CZTV",
|
|
67
|
-
"button_image": "A1CZTV",
|
|
68
|
-
"implementation": "thermalright_lcd_v1"
|
|
69
|
-
},
|
|
70
62
|
(0x0416, 0x5406): {
|
|
71
63
|
"vendor": "Winbond",
|
|
72
64
|
"product": "LCD Display (USBLCD)",
|
|
@@ -119,13 +111,14 @@ _HID_LCD_DEVICES = {
|
|
|
119
111
|
},
|
|
120
112
|
}
|
|
121
113
|
|
|
122
|
-
# LED HID devices (RGB controllers
|
|
123
|
-
# These use 64-byte HID reports
|
|
124
|
-
#
|
|
125
|
-
#
|
|
126
|
-
#
|
|
127
|
-
# via the PM byte from the HID handshake (see led_device.PM_TO_MODEL).
|
|
114
|
+
# LED HID devices (RGB controllers + case 257 LCD+LED combos)
|
|
115
|
+
# These use 64-byte HID reports. Case 1 devices (0416:8001) are LED-only.
|
|
116
|
+
# Case 257 devices (87AD:70DB) are LCD+LED combos that also use FormCZTV.
|
|
117
|
+
# The actual model is resolved at runtime via the PM byte from the HID
|
|
118
|
+
# handshake (see led_device.PM_TO_MODEL).
|
|
128
119
|
_LED_DEVICES = {
|
|
120
|
+
# device1: UsbHidDevice(1046, 32769) = 0x0416:0x8001, 64-byte packets
|
|
121
|
+
# Case 1 — LED-only (AX120 Digital, PA120 Digital, etc.)
|
|
129
122
|
(0x0416, 0x8001): {
|
|
130
123
|
"vendor": "Winbond",
|
|
131
124
|
"product": "LED Controller (HID)",
|
|
@@ -135,6 +128,17 @@ _LED_DEVICES = {
|
|
|
135
128
|
"protocol": "hid",
|
|
136
129
|
"device_type": 1,
|
|
137
130
|
},
|
|
131
|
+
# Case 257 — LCD+LED combo (GrandVision, Core Vision, Hyper Vision, etc.)
|
|
132
|
+
# ChiZhu Tech USBDISPLAY — same 64-byte HID protocol as device1
|
|
133
|
+
(0x87AD, 0x70DB): {
|
|
134
|
+
"vendor": "ChiZhu Tech",
|
|
135
|
+
"product": "LCD+LED Display (HID)",
|
|
136
|
+
"model": "GRAND_VISION",
|
|
137
|
+
"button_image": "A1GRAND_VISION",
|
|
138
|
+
"implementation": "hid_led",
|
|
139
|
+
"protocol": "hid",
|
|
140
|
+
"device_type": 1,
|
|
141
|
+
},
|
|
138
142
|
}
|
|
139
143
|
|
|
140
144
|
# Backward-compat alias (tests and setup-udev reference this)
|
|
@@ -367,6 +371,20 @@ def detect_devices() -> List[DetectedDevice]:
|
|
|
367
371
|
return devices
|
|
368
372
|
|
|
369
373
|
|
|
374
|
+
def check_udev_rules(device: DetectedDevice) -> bool:
|
|
375
|
+
"""Check if udev rules file contains the VID:PID for *device*.
|
|
376
|
+
|
|
377
|
+
Returns True if a matching rule exists, False if missing or file absent.
|
|
378
|
+
Works for both SCSI and HID devices.
|
|
379
|
+
"""
|
|
380
|
+
vid_hex = f"{device.vid:04x}"
|
|
381
|
+
try:
|
|
382
|
+
with open("/etc/udev/rules.d/99-trcc-lcd.rules") as f:
|
|
383
|
+
return vid_hex in f.read()
|
|
384
|
+
except (IOError, OSError):
|
|
385
|
+
return False
|
|
386
|
+
|
|
387
|
+
|
|
370
388
|
def get_default_device() -> Optional[DetectedDevice]:
|
|
371
389
|
"""Get the first available LCD device"""
|
|
372
390
|
devices = detect_devices()
|
|
@@ -374,9 +392,9 @@ def get_default_device() -> Optional[DetectedDevice]:
|
|
|
374
392
|
if not devices:
|
|
375
393
|
return None
|
|
376
394
|
|
|
377
|
-
# Prefer Thermalright device, then any other
|
|
395
|
+
# Prefer Thermalright SCSI device, then any other
|
|
378
396
|
for device in devices:
|
|
379
|
-
if device.vid
|
|
397
|
+
if device.vid == 0x87CD:
|
|
380
398
|
return device
|
|
381
399
|
|
|
382
400
|
return devices[0]
|
|
@@ -287,19 +287,7 @@ class HidProtocol(DeviceProtocol):
|
|
|
287
287
|
|
|
288
288
|
def _create_transport(self):
|
|
289
289
|
"""Create the best available USB transport."""
|
|
290
|
-
|
|
291
|
-
if PYUSB_AVAILABLE:
|
|
292
|
-
from .hid_device import PyUsbTransport
|
|
293
|
-
return PyUsbTransport(self._vid, self._pid)
|
|
294
|
-
elif HIDAPI_AVAILABLE:
|
|
295
|
-
from .hid_device import HidApiTransport
|
|
296
|
-
return HidApiTransport(self._vid, self._pid)
|
|
297
|
-
else:
|
|
298
|
-
raise ImportError(
|
|
299
|
-
"No USB backend available. Install pyusb or hidapi:\n"
|
|
300
|
-
" pip install pyusb (+ apt install libusb-1.0-0)\n"
|
|
301
|
-
" pip install hidapi (+ apt install libhidapi-dev)"
|
|
302
|
-
)
|
|
290
|
+
return _create_usb_transport(self._vid, self._pid)
|
|
303
291
|
|
|
304
292
|
@property
|
|
305
293
|
def protocol_name(self) -> str:
|
|
@@ -451,19 +439,7 @@ class LedProtocol(DeviceProtocol):
|
|
|
451
439
|
|
|
452
440
|
def _create_transport(self):
|
|
453
441
|
"""Create the best available USB transport."""
|
|
454
|
-
|
|
455
|
-
if PYUSB_AVAILABLE:
|
|
456
|
-
from .hid_device import PyUsbTransport
|
|
457
|
-
return PyUsbTransport(self._vid, self._pid)
|
|
458
|
-
elif HIDAPI_AVAILABLE:
|
|
459
|
-
from .hid_device import HidApiTransport
|
|
460
|
-
return HidApiTransport(self._vid, self._pid)
|
|
461
|
-
else:
|
|
462
|
-
raise ImportError(
|
|
463
|
-
"No USB backend available. Install pyusb or hidapi:\n"
|
|
464
|
-
" pip install pyusb (+ apt install libusb-1.0-0)\n"
|
|
465
|
-
" pip install hidapi (+ apt install libhidapi-dev)"
|
|
466
|
-
)
|
|
442
|
+
return _create_usb_transport(self._vid, self._pid)
|
|
467
443
|
|
|
468
444
|
@property
|
|
469
445
|
def protocol_name(self) -> str:
|
|
@@ -673,6 +649,23 @@ def _check_sg_raw() -> bool:
|
|
|
673
649
|
return shutil.which("sg_raw") is not None
|
|
674
650
|
|
|
675
651
|
|
|
652
|
+
def _create_usb_transport(vid: int, pid: int):
|
|
653
|
+
"""Create the best available USB transport (pyusb preferred, hidapi fallback)."""
|
|
654
|
+
from .hid_device import HIDAPI_AVAILABLE, PYUSB_AVAILABLE
|
|
655
|
+
if PYUSB_AVAILABLE:
|
|
656
|
+
from .hid_device import PyUsbTransport
|
|
657
|
+
return PyUsbTransport(vid, pid)
|
|
658
|
+
elif HIDAPI_AVAILABLE:
|
|
659
|
+
from .hid_device import HidApiTransport
|
|
660
|
+
return HidApiTransport(vid, pid)
|
|
661
|
+
else:
|
|
662
|
+
raise ImportError(
|
|
663
|
+
"No USB backend available. Install pyusb or hidapi:\n"
|
|
664
|
+
" pip install pyusb (+ apt install libusb-1.0-0)\n"
|
|
665
|
+
" pip install hidapi (+ apt install libhidapi-dev)"
|
|
666
|
+
)
|
|
667
|
+
|
|
668
|
+
|
|
676
669
|
def _get_hid_backends() -> Dict[str, bool]:
|
|
677
670
|
"""Check HID backend availability."""
|
|
678
671
|
try:
|
|
@@ -8,6 +8,8 @@ import struct
|
|
|
8
8
|
from abc import ABC, abstractmethod
|
|
9
9
|
from typing import Tuple
|
|
10
10
|
|
|
11
|
+
from .scsi_device import _get_frame_chunks
|
|
12
|
+
|
|
11
13
|
|
|
12
14
|
class LCDDeviceImplementation(ABC):
|
|
13
15
|
"""Base class for LCD device implementations"""
|
|
@@ -41,25 +43,10 @@ class LCDDeviceImplementation(ABC):
|
|
|
41
43
|
def get_frame_chunks(self) -> list:
|
|
42
44
|
"""Get frame chunk commands [(cmd, size), ...] for current resolution.
|
|
43
45
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
For 320x320: 4 chunks (3x64K + 8K = 204,800 bytes)
|
|
48
|
-
For 480x480: 8 chunks (7x64K + 2K = 460,800 bytes)
|
|
46
|
+
Delegates to scsi_device._get_frame_chunks() — single source of truth
|
|
47
|
+
for the SCSI chunking algorithm.
|
|
49
48
|
"""
|
|
50
|
-
|
|
51
|
-
chunk_size = 0x10000 # 64 KiB
|
|
52
|
-
total = self.width * self.height * 2 # RGB565: 2 bytes per pixel
|
|
53
|
-
chunks = []
|
|
54
|
-
offset = 0
|
|
55
|
-
idx = 0
|
|
56
|
-
while offset < total:
|
|
57
|
-
size = min(chunk_size, total - offset)
|
|
58
|
-
cmd = base_cmd | (idx << 24)
|
|
59
|
-
chunks.append((cmd, size))
|
|
60
|
-
offset += size
|
|
61
|
-
idx += 1
|
|
62
|
-
return chunks
|
|
49
|
+
return _get_frame_chunks(self.width, self.height)
|
|
63
50
|
|
|
64
51
|
def needs_init_per_frame(self) -> bool:
|
|
65
52
|
"""Whether device needs init before each frame"""
|
|
@@ -4,12 +4,7 @@ Unified LCD Driver
|
|
|
4
4
|
Combines device detection with implementation-specific protocols.
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
|
-
import binascii
|
|
8
7
|
import logging
|
|
9
|
-
import os
|
|
10
|
-
import struct
|
|
11
|
-
import subprocess
|
|
12
|
-
import tempfile
|
|
13
8
|
from typing import Optional
|
|
14
9
|
|
|
15
10
|
log = logging.getLogger(__name__)
|
|
@@ -17,7 +12,7 @@ log = logging.getLogger(__name__)
|
|
|
17
12
|
try:
|
|
18
13
|
from .device_detector import DetectedDevice, detect_devices, get_default_device
|
|
19
14
|
from .device_implementations import LCDDeviceImplementation, get_implementation
|
|
20
|
-
from .
|
|
15
|
+
from .scsi_device import _build_header, _scsi_read, _scsi_write
|
|
21
16
|
except ImportError:
|
|
22
17
|
from trcc.device_detector import ( # type: ignore[no-redef]
|
|
23
18
|
DetectedDevice,
|
|
@@ -28,7 +23,7 @@ except ImportError:
|
|
|
28
23
|
LCDDeviceImplementation,
|
|
29
24
|
get_implementation,
|
|
30
25
|
)
|
|
31
|
-
from trcc.
|
|
26
|
+
from trcc.scsi_device import _build_header, _scsi_read, _scsi_write # type: ignore[no-redef]
|
|
32
27
|
|
|
33
28
|
|
|
34
29
|
class LCDDriver:
|
|
@@ -99,54 +94,6 @@ class LCDDriver:
|
|
|
99
94
|
self.device_path = device.scsi_device
|
|
100
95
|
self.implementation = get_implementation(device.implementation)
|
|
101
96
|
|
|
102
|
-
def _crc32(self, data: bytes) -> int:
|
|
103
|
-
"""Calculate CRC32"""
|
|
104
|
-
return binascii.crc32(data) & 0xFFFFFFFF
|
|
105
|
-
|
|
106
|
-
def _build_header(self, cmd: int, size: int) -> bytes:
|
|
107
|
-
"""Build 20-byte SCSI command header"""
|
|
108
|
-
header_16 = struct.pack('<I', cmd) + b'\x00' * 8 + struct.pack('<I', size)
|
|
109
|
-
crc = self._crc32(header_16)
|
|
110
|
-
return header_16 + struct.pack('<I', crc)
|
|
111
|
-
|
|
112
|
-
@staticmethod
|
|
113
|
-
def _check_sg_raw():
|
|
114
|
-
"""Verify sg_raw is available, raise helpful error if not."""
|
|
115
|
-
require_sg_raw()
|
|
116
|
-
|
|
117
|
-
def _scsi_read(self, cdb: bytes, length: int) -> bytes:
|
|
118
|
-
"""Execute SCSI READ command"""
|
|
119
|
-
if not self.device_path:
|
|
120
|
-
raise RuntimeError("No device path available")
|
|
121
|
-
self._check_sg_raw()
|
|
122
|
-
|
|
123
|
-
cdb_hex = ' '.join(f'{b:02x}' for b in cdb)
|
|
124
|
-
cmd = ['sg_raw', '-r', str(length), self.device_path] + cdb_hex.split()
|
|
125
|
-
|
|
126
|
-
result = subprocess.run(cmd, capture_output=True, timeout=10)
|
|
127
|
-
return result.stdout if result.returncode == 0 else b''
|
|
128
|
-
|
|
129
|
-
def _scsi_write(self, header: bytes, data: bytes) -> bool:
|
|
130
|
-
"""Execute SCSI WRITE command"""
|
|
131
|
-
if not self.device_path:
|
|
132
|
-
raise RuntimeError("No device path available")
|
|
133
|
-
self._check_sg_raw()
|
|
134
|
-
|
|
135
|
-
cdb = list(header[:16])
|
|
136
|
-
cdb_hex = ' '.join(f'{b:02x}' for b in cdb)
|
|
137
|
-
|
|
138
|
-
with tempfile.NamedTemporaryFile(delete=False) as f:
|
|
139
|
-
f.write(data)
|
|
140
|
-
tmp_path = f.name
|
|
141
|
-
|
|
142
|
-
cmd = ['sg_raw', '-s', str(len(data)), '-i', tmp_path, self.device_path] + cdb_hex.split()
|
|
143
|
-
|
|
144
|
-
try:
|
|
145
|
-
result = subprocess.run(cmd, capture_output=True, text=True, timeout=10)
|
|
146
|
-
return result.returncode == 0
|
|
147
|
-
finally:
|
|
148
|
-
os.unlink(tmp_path)
|
|
149
|
-
|
|
150
97
|
def init_device(self):
|
|
151
98
|
"""Initialize device (call once at startup)"""
|
|
152
99
|
if self.initialized:
|
|
@@ -154,17 +101,19 @@ class LCDDriver:
|
|
|
154
101
|
assert self.implementation is not None
|
|
155
102
|
log.debug("Initializing LCD device at %s", self.device_path)
|
|
156
103
|
|
|
104
|
+
assert self.device_path is not None
|
|
105
|
+
|
|
157
106
|
# Step 1: Poll device
|
|
158
107
|
poll_cmd, poll_size = self.implementation.get_poll_command()
|
|
159
|
-
poll_header =
|
|
108
|
+
poll_header = _build_header(poll_cmd, poll_size)
|
|
160
109
|
log.debug("Poll: cmd=0x%X, size=0x%X", poll_cmd, poll_size)
|
|
161
|
-
self.
|
|
110
|
+
_scsi_read(self.device_path, poll_header[:16], poll_size)
|
|
162
111
|
|
|
163
112
|
# Step 2: Init
|
|
164
113
|
init_cmd, init_size = self.implementation.get_init_command()
|
|
165
|
-
init_header =
|
|
114
|
+
init_header = _build_header(init_cmd, init_size)
|
|
166
115
|
log.debug("Init: cmd=0x%X, size=0x%X", init_cmd, init_size)
|
|
167
|
-
self.
|
|
116
|
+
_scsi_write(self.device_path, init_header, b'\x00' * init_size)
|
|
168
117
|
|
|
169
118
|
self.initialized = True
|
|
170
119
|
log.info("LCD device initialized: %s (%s)", self.device_path,
|
|
@@ -194,11 +143,12 @@ class LCDDriver:
|
|
|
194
143
|
image_data += b'\x00' * (total_size - len(image_data))
|
|
195
144
|
|
|
196
145
|
# Send chunks
|
|
146
|
+
assert self.device_path is not None
|
|
197
147
|
log.debug("Sending frame: %d bytes in %d chunks", total_size, len(chunks))
|
|
198
148
|
offset = 0
|
|
199
149
|
for cmd, size in chunks:
|
|
200
|
-
header =
|
|
201
|
-
self.
|
|
150
|
+
header = _build_header(cmd, size)
|
|
151
|
+
_scsi_write(self.device_path, header, image_data[offset:offset + size])
|
|
202
152
|
offset += size
|
|
203
153
|
|
|
204
154
|
def create_solid_color(self, r: int, g: int, b: int) -> bytes:
|
|
@@ -482,14 +482,14 @@ class LedHidSender(DeviceHandler):
|
|
|
482
482
|
resp[12],
|
|
483
483
|
)
|
|
484
484
|
|
|
485
|
-
# PM and SUB extraction — matches
|
|
486
|
-
#
|
|
487
|
-
#
|
|
488
|
-
#
|
|
489
|
-
#
|
|
490
|
-
#
|
|
491
|
-
pm = resp[
|
|
492
|
-
sub_type = resp[
|
|
485
|
+
# PM and SUB extraction — matches Windows UCDevice.cs offsets.
|
|
486
|
+
# Windows HID API prepends Report ID at data[0], so:
|
|
487
|
+
# data[6] = raw resp[5] = PM (product model byte)
|
|
488
|
+
# data[5] = raw resp[4] = SUB (sub-variant byte)
|
|
489
|
+
# Previous code used resp[6]/resp[5] (off by one) which read
|
|
490
|
+
# zeros on AX120 devices (shadowepaxeor-glitch PM=0 was wrong).
|
|
491
|
+
pm = resp[5]
|
|
492
|
+
sub_type = resp[4]
|
|
493
493
|
style = get_style_for_pm(pm, sub_type)
|
|
494
494
|
|
|
495
495
|
override = SUB_TYPE_OVERRIDES.get((pm, sub_type))
|
|
@@ -504,6 +504,7 @@ class LedHidSender(DeviceHandler):
|
|
|
504
504
|
sub_type=sub_type,
|
|
505
505
|
style=style,
|
|
506
506
|
model_name=model_name,
|
|
507
|
+
raw_response=bytes(resp[:64]),
|
|
507
508
|
)
|
|
508
509
|
|
|
509
510
|
except Exception as e:
|
|
@@ -85,14 +85,14 @@ def _make_mock_transport() -> MagicMock:
|
|
|
85
85
|
def _make_valid_handshake_response(pm: int = 3, sub_type: int = 0) -> bytes:
|
|
86
86
|
"""Build a valid LED handshake response (64 bytes).
|
|
87
87
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
88
|
+
Offsets match Windows UCDevice.cs with Report ID removed:
|
|
89
|
+
PM = data[6] → raw resp[5]
|
|
90
|
+
SUB = data[5] → raw resp[4]
|
|
91
91
|
"""
|
|
92
92
|
resp = bytearray(LED_RESPONSE_SIZE)
|
|
93
93
|
resp[0:4] = LED_MAGIC # magic echo
|
|
94
|
-
resp[
|
|
95
|
-
resp[
|
|
94
|
+
resp[4] = sub_type # SUB at raw[4] (Windows data[5])
|
|
95
|
+
resp[5] = pm # PM at raw[5] (Windows data[6])
|
|
96
96
|
resp[12] = LED_CMD_INIT # cmd echo = 1
|
|
97
97
|
return bytes(resp)
|
|
98
98
|
|
|
@@ -789,7 +789,7 @@ class TestLedHidSenderHandshake:
|
|
|
789
789
|
assert read_args[0][1] == LED_RESPONSE_SIZE
|
|
790
790
|
|
|
791
791
|
def test_handshake_extracts_pm(self):
|
|
792
|
-
"""pm byte at response[6] should be extracted."""
|
|
792
|
+
"""pm byte at response[5] (Windows data[6]) should be extracted."""
|
|
793
793
|
transport = _make_mock_transport()
|
|
794
794
|
transport.read.return_value = _make_valid_handshake_response(pm=48)
|
|
795
795
|
|
|
@@ -799,7 +799,7 @@ class TestLedHidSenderHandshake:
|
|
|
799
799
|
assert info.pm == 48
|
|
800
800
|
|
|
801
801
|
def test_handshake_extracts_sub_type(self):
|
|
802
|
-
"""sub_type byte at response[5] should be extracted."""
|
|
802
|
+
"""sub_type byte at response[4] (Windows data[5]) should be extracted."""
|
|
803
803
|
transport = _make_mock_transport()
|
|
804
804
|
transport.read.return_value = _make_valid_handshake_response(pm=1, sub_type=7)
|
|
805
805
|
|
|
@@ -891,6 +891,54 @@ class TestLedHidSenderHandshake:
|
|
|
891
891
|
assert calls[0] == call(DELAY_PRE_INIT_S)
|
|
892
892
|
assert calls[1] == call(DELAY_POST_INIT_S)
|
|
893
893
|
|
|
894
|
+
def test_handshake_pm_sub_offset_matches_windows(self):
|
|
895
|
+
"""PM at raw[5] and SUB at raw[4] — matches Windows Report ID offset.
|
|
896
|
+
|
|
897
|
+
Windows HID API prepends Report ID at data[0], so:
|
|
898
|
+
data[6] = raw resp[5] = PM
|
|
899
|
+
data[5] = raw resp[4] = SUB
|
|
900
|
+
"""
|
|
901
|
+
transport = _make_mock_transport()
|
|
902
|
+
resp = bytearray(LED_RESPONSE_SIZE)
|
|
903
|
+
resp[0:4] = LED_MAGIC
|
|
904
|
+
resp[4] = 0x42 # SUB at raw[4]
|
|
905
|
+
resp[5] = 0x80 # PM at raw[5] (128 = LC1)
|
|
906
|
+
resp[6] = 0xFF # noise — should NOT be read as PM
|
|
907
|
+
resp[12] = 1
|
|
908
|
+
transport.read.return_value = bytes(resp)
|
|
909
|
+
|
|
910
|
+
sender = LedHidSender(transport)
|
|
911
|
+
info = sender.handshake()
|
|
912
|
+
|
|
913
|
+
assert info.pm == 0x80
|
|
914
|
+
assert info.sub_type == 0x42
|
|
915
|
+
|
|
916
|
+
def test_handshake_stores_raw_response(self):
|
|
917
|
+
"""Handshake should store first 64 bytes of response for diagnostics."""
|
|
918
|
+
transport = _make_mock_transport()
|
|
919
|
+
transport.read.return_value = _make_valid_handshake_response(pm=3)
|
|
920
|
+
|
|
921
|
+
sender = LedHidSender(transport)
|
|
922
|
+
info = sender.handshake()
|
|
923
|
+
|
|
924
|
+
assert len(info.raw_response) == 64
|
|
925
|
+
assert info.raw_response[0:4] == LED_MAGIC
|
|
926
|
+
|
|
927
|
+
def test_handshake_hr10_via_sub_type(self):
|
|
928
|
+
"""HR10 device (PM=128, SUB=129) resolved via SUB_TYPE_OVERRIDES."""
|
|
929
|
+
transport = _make_mock_transport()
|
|
930
|
+
transport.read.return_value = _make_valid_handshake_response(
|
|
931
|
+
pm=128, sub_type=129
|
|
932
|
+
)
|
|
933
|
+
|
|
934
|
+
sender = LedHidSender(transport)
|
|
935
|
+
info = sender.handshake()
|
|
936
|
+
|
|
937
|
+
assert info.pm == 128
|
|
938
|
+
assert info.sub_type == 129
|
|
939
|
+
assert info.style.style_id == 13
|
|
940
|
+
assert info.model_name == "HR10_2280_PRO_DIGITAL"
|
|
941
|
+
|
|
894
942
|
|
|
895
943
|
class TestLedHidSenderSendLedData:
|
|
896
944
|
"""Test LedHidSender.send_led_data() chunking and transport calls."""
|
|
@@ -39,8 +39,8 @@ def _make_png(path, w=320, h=320):
|
|
|
39
39
|
class TestDetectToSend(unittest.TestCase):
|
|
40
40
|
"""Full pipeline: detect device → create LCDDriver → send_frame."""
|
|
41
41
|
|
|
42
|
-
@patch("trcc.
|
|
43
|
-
@patch("trcc.
|
|
42
|
+
@patch("trcc.scsi_device.require_sg_raw")
|
|
43
|
+
@patch("trcc.scsi_device.subprocess.run")
|
|
44
44
|
@patch("trcc.lcd_driver.detect_devices")
|
|
45
45
|
@patch("trcc.lcd_driver.get_implementation")
|
|
46
46
|
def test_detect_init_send(self, mock_get_impl, mock_detect, mock_run, mock_sg):
|
|
@@ -78,8 +78,8 @@ class TestDetectToSend(unittest.TestCase):
|
|
|
78
78
|
expected_calls = 1 + 1 + len(chunks) # poll + init + chunks
|
|
79
79
|
self.assertEqual(mock_run.call_count, expected_calls)
|
|
80
80
|
|
|
81
|
-
@patch("trcc.
|
|
82
|
-
@patch("trcc.
|
|
81
|
+
@patch("trcc.scsi_device.require_sg_raw")
|
|
82
|
+
@patch("trcc.scsi_device.subprocess.run")
|
|
83
83
|
@patch("trcc.lcd_driver.detect_devices")
|
|
84
84
|
@patch("trcc.lcd_driver.get_implementation")
|
|
85
85
|
def test_send_image_pipeline(self, mock_get_impl, mock_detect, mock_run, mock_sg):
|
|
@@ -114,8 +114,8 @@ class TestDetectToSend(unittest.TestCase):
|
|
|
114
114
|
class TestCLISendPipeline(unittest.TestCase):
|
|
115
115
|
"""CLI send_image() → LCDDriver → sg_raw."""
|
|
116
116
|
|
|
117
|
-
@patch("trcc.
|
|
118
|
-
@patch("trcc.
|
|
117
|
+
@patch("trcc.scsi_device.require_sg_raw")
|
|
118
|
+
@patch("trcc.scsi_device.subprocess.run")
|
|
119
119
|
@patch("trcc.lcd_driver.detect_devices")
|
|
120
120
|
@patch("trcc.lcd_driver.get_implementation")
|
|
121
121
|
@patch("trcc.cli._get_selected_device", return_value="/dev/sg0")
|
|
@@ -147,8 +147,8 @@ class TestCLISendPipeline(unittest.TestCase):
|
|
|
147
147
|
result = send_image("/nonexistent/image.png")
|
|
148
148
|
self.assertEqual(result, 1)
|
|
149
149
|
|
|
150
|
-
@patch("trcc.
|
|
151
|
-
@patch("trcc.
|
|
150
|
+
@patch("trcc.scsi_device.require_sg_raw")
|
|
151
|
+
@patch("trcc.scsi_device.subprocess.run")
|
|
152
152
|
@patch("trcc.lcd_driver.detect_devices")
|
|
153
153
|
@patch("trcc.lcd_driver.get_implementation")
|
|
154
154
|
def test_cli_send_color(self, mock_get_impl, mock_detect, mock_run, mock_sg):
|
|
@@ -180,8 +180,8 @@ class TestCLISendPipeline(unittest.TestCase):
|
|
|
180
180
|
class TestCLIResumePipeline(unittest.TestCase):
|
|
181
181
|
"""CLI resume() — detect → load theme config → apply brightness/rotation → send."""
|
|
182
182
|
|
|
183
|
-
@patch("trcc.
|
|
184
|
-
@patch("trcc.
|
|
183
|
+
@patch("trcc.scsi_device.require_sg_raw")
|
|
184
|
+
@patch("trcc.scsi_device.subprocess.run")
|
|
185
185
|
@patch("trcc.lcd_driver.detect_devices")
|
|
186
186
|
@patch("trcc.lcd_driver.get_implementation")
|
|
187
187
|
@patch("trcc.device_detector.detect_devices")
|
|
@@ -332,8 +332,8 @@ class TestDeviceDetectorRoundTrip(unittest.TestCase):
|
|
|
332
332
|
class TestMultiResolution(unittest.TestCase):
|
|
333
333
|
"""Verify frame sizing and chunk counts for different resolutions."""
|
|
334
334
|
|
|
335
|
-
@patch("trcc.
|
|
336
|
-
@patch("trcc.
|
|
335
|
+
@patch("trcc.scsi_device.require_sg_raw")
|
|
336
|
+
@patch("trcc.scsi_device.subprocess.run")
|
|
337
337
|
@patch("trcc.lcd_driver.detect_devices")
|
|
338
338
|
@patch("trcc.lcd_driver.get_implementation")
|
|
339
339
|
def test_480x480_frame_size(self, mock_get_impl, mock_detect, mock_run, mock_sg):
|
|
@@ -362,8 +362,8 @@ class TestMultiResolution(unittest.TestCase):
|
|
|
362
362
|
# 480*480*2 = 460800, ceil(460800/65536) = 8 chunks
|
|
363
363
|
self.assertEqual(len(chunks), 8)
|
|
364
364
|
|
|
365
|
-
@patch("trcc.
|
|
366
|
-
@patch("trcc.
|
|
365
|
+
@patch("trcc.scsi_device.require_sg_raw")
|
|
366
|
+
@patch("trcc.scsi_device.subprocess.run")
|
|
367
367
|
@patch("trcc.lcd_driver.detect_devices")
|
|
368
368
|
@patch("trcc.lcd_driver.get_implementation")
|
|
369
369
|
def test_240x240_frame_size(self, mock_get_impl, mock_detect, mock_run, mock_sg):
|
|
@@ -566,15 +566,9 @@ class TestSCSIHeaderIntegrity(unittest.TestCase):
|
|
|
566
566
|
"""_build_header produces 20-byte header with valid CRC32."""
|
|
567
567
|
import binascii
|
|
568
568
|
|
|
569
|
-
from trcc.
|
|
570
|
-
|
|
571
|
-
driver = LCDDriver.__new__(LCDDriver)
|
|
572
|
-
driver.device_info = None
|
|
573
|
-
driver.device_path = "/dev/sg0"
|
|
574
|
-
driver.implementation = None
|
|
575
|
-
driver.initialized = False
|
|
569
|
+
from trcc.scsi_device import _build_header
|
|
576
570
|
|
|
577
|
-
header =
|
|
571
|
+
header = _build_header(0xF5, 0xE100)
|
|
578
572
|
self.assertEqual(len(header), 20)
|
|
579
573
|
|
|
580
574
|
# First 4 bytes = cmd (little-endian)
|