{
  "CarChoices": [],
  "UseStrictJSIsolation": true,
  "EmbeddedJavascript": "const wheel_model = \"XF1U\";\r\n\r\nlet root = {\r\n\tbtn: false,\r\n\tdebounce: 0,\r\n\toldstate: undefined,\r\n\tnewstate: undefined,\r\n\ttriggerTime: null\r\n};\r\n\r\nfunction changed_maxTime_true (maxDuration, propertyValue) {\r\n\troot.oldstate ??= propertyValue;\r\n\tif (propertyValue !== root.oldstate) {\r\n\t\troot.oldstate = null;\r\n\t\troot.triggerTime = propertyValue ? Date.now() : null;\r\n\t}\r\n\treturn root.triggerTime !== null && Date.now() - root.triggerTime <= maxDuration;\r\n};\r\n\r\nfunction changed_maxTime_false (maxDuration, propertyValue) {\r\n\troot.oldstate ??= propertyValue;\r\n\tif (propertyValue !== root.oldstate) {\r\n\t\troot.oldstate = null;\r\n\t\troot.triggerTime = propertyValue ? null : Date.now();\r\n\t}\r\n\treturn root.triggerTime !== null && Date.now() - root.triggerTime <= maxDuration;\r\n};\r\n\r\n\r\nfunction changed_minTime (minDuration, propertyValue) {\r\n\tif (propertyValue) {\r\n\t\troot.triggerTime = Date.now();\r\n\t}\r\n\treturn Date.now() - root.triggerTime < minDuration;\r\n};\r\n\r\n\r\nfunction changed_maxTime (maxDuration, propertyValue) {\r\n\troot.oldstate = root.oldstate == null ? propertyValue : root.newstate;\r\n\troot.newstate = propertyValue;\r\n\tif (root.newstate !== root.oldstate) root.triggerTime = Date.now();\r\n\treturn root.triggerTime !== null && Date.now() - root.triggerTime <= maxDuration;\r\n};\r\n\r\n\r\nfunction Effect(buttonNumber, buttonState, type) {\r\n\r\n\tif(type == 0) _type = \"_WheelCustomGameEffectButton\";\r\n\tif(type == 1) _type = \"_WheelCustomGameEffectRotary\";\r\n\t\r\n    switch ($prop(`LeoxzPlugin.${wheel_model}${_type}${buttonNumber}`)) {\r\n\r\n        // No effect (Buttonstate)\r\n        case null:\r\n        case 0:\r\n            if (($prop(`LeoxzPlugin.${wheel_model}_WheelInputEffects`) ?? true) && changed_maxTime(300, buttonState)) {\r\n                if ((Math.floor(Date.now() / 100) % 2)) {\r\n                    return [$prop(`LeoxzPlugin.${wheel_model}_InputColour`)];\r\n                } else {\r\n                    return [null];\r\n                }\r\n            } else {\r\n                return [null];\r\n            }\r\n\r\n        // Headlights\r\n        case 1:\r\n            if ($prop('LeoxzPlugin.Lights') ?? true) {\r\n                if ($prop('LeoxzPlugin.LightsHighbeam') ?? true) {\r\n                    return [$prop(`LeoxzPlugin.${wheel_model}_HeadlightsColour1`)];\r\n                } else {\r\n                    return [$prop(`LeoxzPlugin.${wheel_model}_HeadlightsColour2`)];\r\n                }\r\n            } else {\r\n                return [null];\r\n            }\r\n\r\n        // Flasher\r\n        case 2:\r\n            if ($prop('LeoxzPlugin.Flash') ?? true) {\r\n                if ((Math.floor(Date.now() / 125) % 2)) {\r\n                    return [$prop(`LeoxzPlugin.${wheel_model}_HeadlightsFlashingColour`)];\r\n                } else {\r\n                    return ['#FF000000'];\r\n                }\r\n            } else {\r\n                return [null];\r\n            }\r\n\r\n        // Headlights & flasher\r\n        case 3:\r\n            if ($prop('LeoxzPlugin.Flash') ?? true) {\r\n                if ((Math.floor(Date.now() / 125) % 2)) {\r\n                    return [$prop(`LeoxzPlugin.${wheel_model}_HeadlightsFlashingColour`)];\r\n                } else {\r\n                    return ['#FF000000'];\r\n                }\r\n            } \r\n            if ($prop('LeoxzPlugin.Lights') ?? true) {\r\n                if ($prop('LeoxzPlugin.LightsHighbeam') ?? true) {\r\n                    return [$prop(`LeoxzPlugin.${wheel_model}_HeadlightsColour1`)];\r\n                } else {\r\n                    return [$prop(`LeoxzPlugin.${wheel_model}_HeadlightsColour2`)];\r\n                }\r\n            } \r\n            return [null];\r\n\r\n        // Rain Light\r\n        case 4:\r\n            if ($prop('LeoxzPlugin.RainLights') ?? true) {\r\n                if ((Math.floor(Date.now() / 500) % 2)) {\r\n                    return [$prop(`LeoxzPlugin.${wheel_model}_RainLightColour`)];\r\n                } else {\r\n                    return [null];\r\n                }\r\n            } else {\r\n                return [null];\r\n            }\r\n\r\n        // Left Indicator\r\n        case 5:\r\n\t\t\tif ($prop('TurnIndicatorLeft') == 1) {\r\n\t\t\t\tif ((Date.now() % 650) < 250) {\r\n\t\t\t\t\treturn [$prop(`LeoxzPlugin.${wheel_model}_LeftIndicatorFlashingColour1`)];\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn [$prop(`LeoxzPlugin.${wheel_model}_LeftIndicatorFlashingColour2`)];\r\n\t\t\t\t}\r\n\t\t\t}\r\n            return [null];\r\n\r\n        // Right Indicator\r\n        case 6:\r\n\t\t\tif ($prop('TurnIndicatorRight') == 1) {\r\n\t\t\t\tif ((Date.now() % 650) < 250) {\r\n\t\t\t\t\treturn [$prop(`LeoxzPlugin.${wheel_model}_RightIndicatorFlashingColour1`)];\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn [$prop(`LeoxzPlugin.${wheel_model}_RightIndicatorFlashingColour2`)];\r\n\t\t\t\t}\r\n\t\t\t}\r\n            return [null];\r\n\r\n        // Wipers\r\n        case 7:\r\n            if ($prop('LeoxzPlugin.Wipers') ?? true) {\r\n                return [$prop(`LeoxzPlugin.${wheel_model}_WipersColour`)];\r\n            } else {\r\n                return [null];\r\n            }\r\n\r\n        // Ignition\r\n        case 8:\r\n            if ($prop('EngineIgnitionOn') == 1) {\r\n                return [$prop(`LeoxzPlugin.${wheel_model}_IgnitionOnColour`)];\r\n            } else {\r\n                return [null];\r\n            }\r\n\r\n        // Engine Start & Ignition/Engine Start Combined\r\n        case 9:\r\n        case 10:\r\n            if ($prop('EngineIgnitionOn') == 1 && $prop('EngineStarted') == 0) {\r\n                if ((Math.floor(Date.now() / 750) % 2)) {\r\n                    return [$prop(`LeoxzPlugin.${wheel_model}_EngineOffColour`)];\r\n                } else {\r\n                    return ['#FF000000'];\r\n                }\r\n            }\r\n            if ($prop('EngineStarted') == 1) {\r\n                return [$prop(`LeoxzPlugin.${wheel_model}_EngineOnColour`)];\r\n            }\r\n            return [null];\r\n\r\n        // DRS\r\n        case 11:\r\n            if ($prop('DRSEnabled') == 1) {\r\n                return [$prop(`LeoxzPlugin.${wheel_model}_DRSEnabledColour`)];\r\n            }\r\n            if ($prop('DRSAvailable') == 1) {\r\n                return [$prop(`LeoxzPlugin.${wheel_model}_DRSAvailableColour`)];\r\n            }\r\n\r\n            return [null];\r\n\r\n        // KERS / ERS Lap Deploy Limit\r\n        case 12:\r\n            const KERS = $prop('LeoxzPlugin.KERS');\r\n            if (KERS > 50) return [$prop(`LeoxzPlugin.${wheel_model}_KersColour4`)];\r\n            if (KERS > 25 && KERS <= 50) return [$prop(`LeoxzPlugin.${wheel_model}_KersColour3`)];\r\n            if (KERS > 10 && KERS <= 25) return [$prop(`LeoxzPlugin.${wheel_model}_KersColour2`)];\r\n            if (KERS > 0 && KERS <= 10) return [$prop(`LeoxzPlugin.${wheel_model}_KersColour1`)];\r\n            return [null];\r\n\r\n        // P2P\r\n        case 13:\r\n            if ($prop('PushToPassActive')) {\r\n                return [$prop(`LeoxzPlugin.${wheel_model}_P2PColour`)];\r\n            } else {\r\n                return [null];\r\n            }\r\n\r\n        // Pit Limiter\r\n        case 14:\r\n            // Pitlane Entry warning\r\n            if ($prop('IsInPitLane') == 1 && $prop('SpeedKmh') > 1 && $prop('PitLimiterOn') == 0) {\r\n                if ((Math.floor(Date.now() / 125) % 2)) {\r\n                    return [$prop(`LeoxzPlugin.${wheel_model}_PitlaneEntryColour`)];\r\n                } else {\r\n                    return ['#FF000000'];\r\n                }\r\n            }\r\n            // Pitlane Exit warning\r\n            if (changed_maxTime_false(10000, $prop('IsInPitLane')) &&\r\n                $prop('IsInPitLane') == 0 &&\r\n                $prop('PitLimiterOn') == 1) {\r\n                if ((Math.floor(Date.now() / 125) % 2)) {\r\n                    return [$prop(`LeoxzPlugin.${wheel_model}_PitlaneExitColour`)];\r\n                } else {\r\n                    return ['#FF000000'];\r\n                }\r\n            }\r\n            // Limiter On\r\n            if ($prop('PitLimiterOn') == 1) {\r\n                return [$prop(`LeoxzPlugin.${wheel_model}_LimiterOnColour`)]; \r\n            }\r\n            return [null];\r\n\r\n\t\t// Engine Map\r\n\t\tcase 15:\r\n\t\t\treturn [$prop(`LeoxzPlugin.${wheel_model}_EngineMapColour`)];\r\n\r\n\t\t// Brake Balance\r\n\t\tcase 16:\r\n\t\t\treturn [$prop(`LeoxzPlugin.${wheel_model}_BrakeBiasColour`)];\r\n\r\n\r\n        // Momentary Press\r\n        case 17:\r\n            if (changed_minTime($prop(`LeoxzPlugin.${wheel_model}_WheelCustomGameEffectButtonPressDelay${buttonNumber}`)+1, buttonState)) {\r\n                return [$prop(`LeoxzPlugin.${wheel_model}_WheelCustomGameEffectButtonPress${buttonNumber}`)];\r\n            } else {\r\n                return [null];\r\n            }\r\n\r\n        // Latching Toggle\r\n        case 18:\r\n            if (root.btn == null) root.btn = false;\r\n            if (root.debouncestate == null) root.debouncestate = true;\r\n\r\n            if (buttonState) {\r\n                if (!root.debouncestate) {\r\n                    root.btn = !root.btn;\r\n                    root.debouncestate = true;\r\n                }\r\n            } else {\r\n                root.debouncestate = false;\r\n            }\r\n\r\n            if (root.btn) {\r\n                return [$prop(`LeoxzPlugin.${wheel_model}_WheelCustomGameEffectButtonToggle${buttonNumber}`)];\r\n            } else {\r\n                return [$prop(`LeoxzPlugin.${wheel_model}_WheelCustomGameEffectButtonPress${buttonNumber}`)];\r\n            }\r\n\r\n\t\t//ERS Mode\r\n\t\tcase 19:\r\n\t\t\tswitch ($prop('LeoxzPlugin.ERS_Mode')) {\r\n\t\t\t\t//No Deploy\r\n\t\t\t\tcase 0:\r\n\t\t\t\t\treturn [null];\r\n\t\t\t\tcase 1:\r\n\t\t\t\t\treturn [$prop(`LeoxzPlugin.${wheel_model}_ERSNoDeployColour`)];\r\n\t\t\t\tcase 2:\r\n\t\t\t\t\treturn [$prop(`LeoxzPlugin.${wheel_model}_ERSQualifyColour`)];\r\n\t\t\t\tcase 3:\r\n\t\t\t\t\treturn [$prop(`LeoxzPlugin.${wheel_model}_ERSAttackColour`)];\r\n\t\t\t\tcase 4:\r\n\t\t\t\t\treturn [$prop(`LeoxzPlugin.${wheel_model}_ERSBalancedColour`)];\r\n\t\t\t\tcase 5:\r\n\t\t\t\t\treturn [$prop(`LeoxzPlugin.${wheel_model}_ERSBuildColour`)];\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn [null];\r\n\t\t\t}\r\n\t\t\r\n        // TC Active\r\n        case 20:\r\n            if ($prop('TCActive') == 1) {\r\n                return [$prop(`LeoxzPlugin.${wheel_model}_TractionControlColour`)];\r\n            } else {\r\n                return [null];\r\n            }\r\n\r\n        // ABS Active\r\n        case 21:\r\n            if ($prop('LeoxzPlugin.ABSActive') ?? true) {\r\n                return [$prop(`LeoxzPlugin.${wheel_model}_ABSColour`)];\r\n            } else {\r\n                return [null];\r\n            }\r\n\r\n        default:\r\n            return [null];\r\n    }\r\n};\r\n\r\n\r\n\r\n\r\nfunction WheelButtonEffectprocedure(buttonNumber, buttonState) {\r\n    return Effect(buttonNumber, buttonState, 0);\r\n};\r\n\r\n\r\n\r\nfunction WheelRotaryEffectprocedure(buttonNumber, buttonState) {\r\n    return Effect(buttonNumber, buttonState, 1);\r\n};\r\n\r\n",
  "GlobalBrightness": 100.0,
  "GlobalBrightnessPreset": {
    "CurrentMode": 0,
    "Brightness": 100.0,
    "BrightnessSettings": {
      "Day": 100.0,
      "Night": 100.0
    }
  },
  "LedContainers": [
    {
      "LedContainers": [
        {
          "TriggerFormula": {
            "JSExt": 0,
            "Interpreter": 1,
            "Expression": "return $prop('LeoxzPlugin.XF1U_WheelMenu');"
          },
          "LedContainers": [
            {
              "LedContainers": [
                {
                  "TriggerFormula": {
                    "JSExt": 0,
                    "Interpreter": 1,
                    "Expression": "return $prop('LeoxzPlugin.XF1U_WheelMenuAnimation') == 1"
                  },
                  "LedContainers": [
                    {
                      "LedContainers": [
                        {
                          "ContentFormula": {
                            "JSExt": 0,
                            "Interpreter": 1,
                            "Expression": "const index = $prop('LeoxzPlugin.XF1U_WheelMenuColour');\r\n\r\nreturn [\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomMenuColourButton' + index + '_6'),\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomMenuColourButton' + index + '_7'),\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomMenuColourButton' + index + '_8'),\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomMenuColourButton' + index + '_9'),\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomMenuColourButton' + index + '_10'),\r\n\r\n];\r\n\r\n"
                          },
                          "LedCount": 5,
                          "StartPosition": 6,
                          "ContainerType": "ScriptedContent",
                          "Description": "Right Button"
                        },
                        {
                          "ContentFormula": {
                            "JSExt": 0,
                            "Interpreter": 1,
                            "Expression": "const index = $prop('LeoxzPlugin.XF1U_WheelMenuColour');\r\n\r\nreturn [\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomMenuColourButton' + index + '_1'),\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomMenuColourButton' + index + '_2'),\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomMenuColourButton' + index + '_3'),\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomMenuColourButton' + index + '_4'),\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomMenuColourButton' + index + '_5'),\r\n];\r\n\r\n"
                          },
                          "LedCount": 5,
                          "ContainerType": "ScriptedContent",
                          "Description": "Left Button"
                        }
                      ],
                      "ContainerType": "Base.Group",
                      "Description": "Custom Buttons"
                    },
                    {
                      "LedContainers": [
                        {
                          "ContentFormula": {
                            "JSExt": 0,
                            "Interpreter": 1,
                            "Expression": "\r\nconst index = $prop('LeoxzPlugin.XF1U_WheelMenuColour');\r\n\r\nreturn [\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomMenuColourRotary' + index + '_1'),\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomMenuColourRotary' + index + '_2'),\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomMenuColourRotary' + index + '_3'),\r\n];\r\n\r\n"
                          },
                          "LedCount": 3,
                          "StartPosition": 11,
                          "ContainerType": "ScriptedContent",
                          "Description": "Rotary"
                        }
                      ],
                      "ContainerType": "Base.Group",
                      "Description": "Custom Rotaries"
                    }
                  ],
                  "ContainerType": "Groups.CustomConditionalGroup",
                  "Description": "Static Menu Colour"
                },
                {
                  "TriggerFormula": {
                    "JSExt": 0,
                    "Interpreter": 1,
                    "Expression": "return $prop('LeoxzPlugin.XF1U_WheelMenuAnimation') == 2;"
                  },
                  "LedContainers": [
                    {
                      "BreathDuration": 1250,
                      "StartBreathDuration": 100,
                      "EndBreathDuration": 100,
                      "BreathStartBrightness": 10,
                      "BreathEndBrightness": 100,
                      "LedContainers": [
                        {
                          "LedContainers": [
                            {
                              "ContentFormula": {
                                "JSExt": 0,
                                "Interpreter": 1,
                                "Expression": "const index = $prop('LeoxzPlugin.XF1U_WheelMenuColour');\r\n\r\nreturn [\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomMenuColourButton' + index + '_6'),\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomMenuColourButton' + index + '_7'),\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomMenuColourButton' + index + '_8'),\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomMenuColourButton' + index + '_9'),\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomMenuColourButton' + index + '_10'),\r\n\r\n];\r\n\r\n"
                              },
                              "LedCount": 5,
                              "StartPosition": 6,
                              "ContainerType": "ScriptedContent",
                              "Description": "Right Button"
                            },
                            {
                              "ContentFormula": {
                                "JSExt": 0,
                                "Interpreter": 1,
                                "Expression": "const index = $prop('LeoxzPlugin.XF1U_WheelMenuColour');\r\n\r\nreturn [\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomMenuColourButton' + index + '_1'),\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomMenuColourButton' + index + '_2'),\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomMenuColourButton' + index + '_3'),\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomMenuColourButton' + index + '_4'),\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomMenuColourButton' + index + '_5'),\r\n];\r\n\r\n"
                              },
                              "LedCount": 5,
                              "ContainerType": "ScriptedContent",
                              "Description": "Left Button"
                            }
                          ],
                          "ContainerType": "Base.Group",
                          "Description": "Custom Buttons"
                        },
                        {
                          "LedContainers": [
                            {
                              "ContentFormula": {
                                "JSExt": 0,
                                "Interpreter": 1,
                                "Expression": "\r\nconst index = $prop('LeoxzPlugin.XF1U_WheelMenuColour');\r\n\r\nreturn [\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomMenuColourRotary' + index + '_1'),\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomMenuColourRotary' + index + '_2'),\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomMenuColourRotary' + index + '_3'),\r\n];\r\n\r\n"
                              },
                              "LedCount": 3,
                              "StartPosition": 11,
                              "ContainerType": "ScriptedContent",
                              "Description": "Rotary"
                            }
                          ],
                          "ContainerType": "Base.Group",
                          "Description": "Custom Rotaries"
                        }
                      ],
                      "ContainerType": "Groups.BreathGroup"
                    }
                  ],
                  "ContainerType": "Groups.CustomConditionalGroup",
                  "Description": "Breathing Menu Colour"
                }
              ],
              "ContainerType": "Base.Group",
              "Description": "Menu Theme Colours"
            },
            {
              "TriggerFormula": {
                "JSExt": 0,
                "Interpreter": 1,
                "Expression": "return $prop('LeoxzPlugin.XF1U_WheelInputEffects') ?? true;"
              },
              "LedContainers": [
                {
                  "LedContainers": [
                    {
                      "LedContainers": [
                        {
                          "TriggerFormula": {
                            "Expression": "Changed(300, getcontrollerbuttonstate('0x2afd,0x2a88', 0)||getcontrollerbuttonstate('0x2afd,0x2a8e', 0))"
                          },
                          "LedContainers": [
                            {
                              "Animation": {
                                "Columns": 1,
                                "Rows": 1,
                                "Frames": [
                                  {
                                    "Colors": "0,0,#000000",
                                    "FrameDuration": 100
                                  },
                                  {
                                    "Colors": "",
                                    "FrameDuration": 100
                                  }
                                ],
                                "PenColor": "Black"
                              },
                              "ContainerType": "Animation"
                            }
                          ],
                          "ContainerType": "Groups.CustomConditionalGroup",
                          "Description": "L1 "
                        },
                        {
                          "TriggerFormula": {
                            "Expression": "Changed(300, getcontrollerbuttonstate('0x2afd,0x2a88', 1)||getcontrollerbuttonstate('0x2afd,0x2a8e', 1))"
                          },
                          "LedContainers": [
                            {
                              "Animation": {
                                "Columns": 1,
                                "Rows": 1,
                                "Frames": [
                                  {
                                    "Colors": "0,0,#000000",
                                    "FrameDuration": 100
                                  },
                                  {
                                    "Colors": "",
                                    "FrameDuration": 100
                                  }
                                ],
                                "PenColor": "Black"
                              },
                              "StartPosition": 2,
                              "ContainerType": "Animation"
                            }
                          ],
                          "ContainerType": "Groups.CustomConditionalGroup",
                          "Description": "L2 "
                        },
                        {
                          "TriggerFormula": {
                            "Expression": "Changed(300, getcontrollerbuttonstate('0x2afd,0x2a88', 2)||getcontrollerbuttonstate('0x2afd,0x2a8e', 2))"
                          },
                          "LedContainers": [
                            {
                              "Animation": {
                                "Columns": 1,
                                "Rows": 1,
                                "Frames": [
                                  {
                                    "Colors": "0,0,#000000",
                                    "FrameDuration": 100
                                  },
                                  {
                                    "Colors": "",
                                    "FrameDuration": 100
                                  }
                                ],
                                "PenColor": "Black"
                              },
                              "StartPosition": 3,
                              "ContainerType": "Animation"
                            }
                          ],
                          "ContainerType": "Groups.CustomConditionalGroup",
                          "Description": "L3 "
                        },
                        {
                          "TriggerFormula": {
                            "Expression": "Changed(300, getcontrollerbuttonstate('0x2afd,0x2a88', 3)||getcontrollerbuttonstate('0x2afd,0x2a8e', 3))"
                          },
                          "LedContainers": [
                            {
                              "Animation": {
                                "Columns": 1,
                                "Rows": 1,
                                "Frames": [
                                  {
                                    "Colors": "0,0,#000000",
                                    "FrameDuration": 100
                                  },
                                  {
                                    "Colors": "",
                                    "FrameDuration": 100
                                  }
                                ],
                                "PenColor": "Black"
                              },
                              "StartPosition": 4,
                              "ContainerType": "Animation"
                            }
                          ],
                          "ContainerType": "Groups.CustomConditionalGroup",
                          "Description": "L4"
                        },
                        {
                          "TriggerFormula": {
                            "Expression": "Changed(300, getcontrollerbuttonstate('0x2afd,0x2a88', 4)||getcontrollerbuttonstate('0x2afd,0x2a8e', 4))"
                          },
                          "LedContainers": [
                            {
                              "Animation": {
                                "Columns": 1,
                                "Rows": 1,
                                "Frames": [
                                  {
                                    "Colors": "0,0,#000000",
                                    "FrameDuration": 100
                                  },
                                  {
                                    "Colors": "",
                                    "FrameDuration": 100
                                  }
                                ],
                                "PenColor": "Black"
                              },
                              "StartPosition": 5,
                              "ContainerType": "Animation"
                            }
                          ],
                          "ContainerType": "Groups.CustomConditionalGroup",
                          "Description": "L5"
                        }
                      ],
                      "ContainerType": "Base.Group",
                      "Description": "Left"
                    },
                    {
                      "LedContainers": [
                        {
                          "TriggerFormula": {
                            "Expression": "Changed(300, getcontrollerbuttonstate('0x2afd,0x2a88', 5)||getcontrollerbuttonstate('0x2afd,0x2a8e', 5))"
                          },
                          "LedContainers": [
                            {
                              "Animation": {
                                "Columns": 1,
                                "Rows": 1,
                                "Frames": [
                                  {
                                    "Colors": "0,0,#000000",
                                    "FrameDuration": 100
                                  },
                                  {
                                    "Colors": "",
                                    "FrameDuration": 100
                                  }
                                ],
                                "PenColor": "Black"
                              },
                              "StartPosition": 6,
                              "ContainerType": "Animation"
                            }
                          ],
                          "ContainerType": "Groups.CustomConditionalGroup",
                          "Description": "R1"
                        },
                        {
                          "TriggerFormula": {
                            "Expression": "Changed(300, getcontrollerbuttonstate('0x2afd,0x2a88', 6)||getcontrollerbuttonstate('0x2afd,0x2a8e', 6))"
                          },
                          "LedContainers": [
                            {
                              "Animation": {
                                "Columns": 1,
                                "Rows": 1,
                                "Frames": [
                                  {
                                    "Colors": "0,0,#000000",
                                    "FrameDuration": 100
                                  },
                                  {
                                    "Colors": "",
                                    "FrameDuration": 100
                                  }
                                ],
                                "PenColor": "Black"
                              },
                              "StartPosition": 7,
                              "ContainerType": "Animation"
                            }
                          ],
                          "ContainerType": "Groups.CustomConditionalGroup",
                          "Description": "R2"
                        },
                        {
                          "TriggerFormula": {
                            "Expression": "Changed(300, getcontrollerbuttonstate('0x2afd,0x2a88', 7)||getcontrollerbuttonstate('0x2afd,0x2a8e', 7))"
                          },
                          "LedContainers": [
                            {
                              "Animation": {
                                "Columns": 1,
                                "Rows": 1,
                                "Frames": [
                                  {
                                    "Colors": "0,0,#000000",
                                    "FrameDuration": 100
                                  },
                                  {
                                    "Colors": "",
                                    "FrameDuration": 100
                                  }
                                ],
                                "PenColor": "Black"
                              },
                              "StartPosition": 8,
                              "ContainerType": "Animation"
                            }
                          ],
                          "ContainerType": "Groups.CustomConditionalGroup",
                          "Description": "R3"
                        },
                        {
                          "TriggerFormula": {
                            "Expression": "Changed(300, getcontrollerbuttonstate('0x2afd,0x2a88', 8)||getcontrollerbuttonstate('0x2afd,0x2a8e', 8))"
                          },
                          "LedContainers": [
                            {
                              "Animation": {
                                "Columns": 1,
                                "Rows": 1,
                                "Frames": [
                                  {
                                    "Colors": "0,0,#000000",
                                    "FrameDuration": 100
                                  },
                                  {
                                    "Colors": "",
                                    "FrameDuration": 100
                                  }
                                ],
                                "PenColor": "Black"
                              },
                              "StartPosition": 9,
                              "ContainerType": "Animation"
                            }
                          ],
                          "ContainerType": "Groups.CustomConditionalGroup",
                          "Description": "R4"
                        },
                        {
                          "TriggerFormula": {
                            "Expression": "Changed(300, getcontrollerbuttonstate('0x2afd,0x2a88', 9)||getcontrollerbuttonstate('0x2afd,0x2a8e', 9))"
                          },
                          "LedContainers": [
                            {
                              "Animation": {
                                "Columns": 1,
                                "Rows": 1,
                                "Frames": [
                                  {
                                    "Colors": "0,0,#000000",
                                    "FrameDuration": 100
                                  },
                                  {
                                    "Colors": "",
                                    "FrameDuration": 100
                                  }
                                ],
                                "PenColor": "Black"
                              },
                              "StartPosition": 10,
                              "ContainerType": "Animation"
                            }
                          ],
                          "ContainerType": "Groups.CustomConditionalGroup",
                          "Description": "R5"
                        }
                      ],
                      "ContainerType": "Base.Group",
                      "Description": "Right"
                    }
                  ],
                  "ContainerType": "Base.Group",
                  "Description": "Buttons"
                },
                {
                  "LedContainers": [
                    {
                      "LedContainers": [
                        {
                          "TriggerFormula": {
                            "Expression": "isincreasing(450,getcontrollerbuttonstate('0x2afd,0x2a88', 26)) || isincreasing(450,getcontrollerbuttonstate('0x2afd,0x2a88', 27)) || isincreasing(450,getcontrollerbuttonstate('0x2afd,0x2a88', 28)) || \r\n\r\nisincreasing(450,getcontrollerbuttonstate('0x2afd,0x2a8e', 26)) || isincreasing(450,getcontrollerbuttonstate('0x2afd,0x2a8e', 27)) || isincreasing(450,getcontrollerbuttonstate('0x2afd,0x2a8e', 28))\r\n"
                          },
                          "LedContainers": [
                            {
                              "Animation": {
                                "Columns": 1,
                                "Rows": 1,
                                "Frames": [
                                  {
                                    "Colors": "0,0,Black",
                                    "FrameDuration": 100
                                  },
                                  {
                                    "Colors": "",
                                    "FrameDuration": 100
                                  }
                                ],
                                "PenColor": "Black"
                              },
                              "StartPosition": 11,
                              "ContainerType": "Animation",
                              "Description": "BL"
                            }
                          ],
                          "ContainerType": "Groups.CustomConditionalGroup",
                          "Description": "BL"
                        }
                      ],
                      "ContainerType": "Base.Group",
                      "Description": "Bottom Left"
                    },
                    {
                      "LedContainers": [
                        {
                          "TriggerFormula": {
                            "Expression": "isincreasing(450,getcontrollerbuttonstate('0x2afd,0x2a88', 29)) || isincreasing(450,getcontrollerbuttonstate('0x2afd,0x2a88', 30)) || isincreasing(450,getcontrollerbuttonstate('0x2afd,0x2a88', 31)) ||\r\n\r\nisincreasing(450,getcontrollerbuttonstate('0x2afd,0x2a8e', 29)) || isincreasing(450,getcontrollerbuttonstate('0x2afd,0x2a8e', 30)) || isincreasing(450,getcontrollerbuttonstate('0x2afd,0x2a8e', 31))\r\n"
                          },
                          "LedContainers": [
                            {
                              "Animation": {
                                "Columns": 1,
                                "Rows": 1,
                                "Frames": [
                                  {
                                    "Colors": "0,0,#000000",
                                    "FrameDuration": 100
                                  },
                                  {
                                    "Colors": "",
                                    "FrameDuration": 100
                                  }
                                ],
                                "PenColor": "Black"
                              },
                              "StartPosition": 12,
                              "ContainerType": "Animation",
                              "Description": "Press"
                            }
                          ],
                          "ContainerType": "Groups.CustomConditionalGroup",
                          "Description": "BM"
                        }
                      ],
                      "ContainerType": "Base.Group",
                      "Description": "Buttom Middle"
                    },
                    {
                      "LedContainers": [
                        {
                          "TriggerFormula": {
                            "Expression": "isincreasing(450,getcontrollerbuttonstate('0x2afd,0x2a88', 32)) || isincreasing(450,getcontrollerbuttonstate('0x2afd,0x2a88', 33)) || isincreasing(450,getcontrollerbuttonstate('0x2afd,0x2a88', 34)) ||\r\n\r\nisincreasing(450,getcontrollerbuttonstate('0x2afd,0x2a8e', 32)) || isincreasing(450,getcontrollerbuttonstate('0x2afd,0x2a8e', 33)) || isincreasing(450,getcontrollerbuttonstate('0x2afd,0x2a8e', 34))\r\n"
                          },
                          "LedContainers": [
                            {
                              "Animation": {
                                "Columns": 1,
                                "Rows": 1,
                                "Frames": [
                                  {
                                    "Colors": "0,0,#000000",
                                    "FrameDuration": 100
                                  },
                                  {
                                    "Colors": "",
                                    "FrameDuration": 100
                                  }
                                ],
                                "PenColor": "Black"
                              },
                              "StartPosition": 13,
                              "ContainerType": "Animation",
                              "Description": "BR"
                            }
                          ],
                          "ContainerType": "Groups.CustomConditionalGroup",
                          "Description": "BR"
                        }
                      ],
                      "ContainerType": "Base.Group",
                      "Description": "Bottom Right"
                    }
                  ],
                  "ContainerType": "Base.Group",
                  "Description": "Rotaries"
                }
              ],
              "ContainerType": "Groups.CustomConditionalGroup",
              "Description": "Input Effects"
            }
          ],
          "ContainerType": "Groups.CustomConditionalGroup",
          "Description": ""
        }
      ],
      "ContainerType": "Groups.GameNotRunningGroup",
      "Description": ""
    },
    {
      "LedContainers": [
        {
          "TriggerFormula": {
            "JSExt": 0,
            "Interpreter": 1,
            "Expression": "if ($prop('DataCorePlugin.CurrentGame') == 'IRacing') {\r\n\treturn $prop('GameRawData.Telemetry.IsReplayPlaying')\r\n\t\t? false\r\n\t\t: $prop('EngineIgnitionOn') == 0;\r\n}\r\nreturn $prop('EngineIgnitionOn') == 0;"
          },
          "LedContainers": [
            {
              "TriggerFormula": {
                "JSExt": 0,
                "Interpreter": 1,
                "Expression": "return $prop(`LeoxzPlugin.XF1U_WheelGameThemeEffects${$prop('LeoxzPlugin.XF1U_WheelGameColour')}`);"
              },
              "LedContainers": [
                {
                  "TriggerFormula": {
                    "JSExt": 0,
                    "Interpreter": 1,
                    "Expression": "return \t$prop('LeoxzPlugin.XF1U_WheelCustomGameEffectButton1') == 8 ||\r\n\t\t$prop('LeoxzPlugin.XF1U_WheelCustomGameEffectButton1') == 10;"
                  },
                  "LedContainers": [
                    {
                      "IdleBlinkingColor": "Transparent",
                      "EnableIdleBlinking": false,
                      "LedCount": 1,
                      "Color": "Red",
                      "BlinkingColor": "Black",
                      "BlinkEnabled": true,
                      "BlinkDelay": 750,
                      "ContainerType": "StaticColor"
                    }
                  ],
                  "ContainerType": "Groups.CustomConditionalGroup",
                  "Description": "Button 1"
                },
                {
                  "TriggerFormula": {
                    "JSExt": 0,
                    "Interpreter": 1,
                    "Expression": "return \t$prop('LeoxzPlugin.XF1U_WheelCustomGameEffectButton2') == 8 ||\r\n\t\t$prop('LeoxzPlugin.XF1U_WheelCustomGameEffectButton2') == 10;"
                  },
                  "LedContainers": [
                    {
                      "IdleBlinkingColor": "Transparent",
                      "EnableIdleBlinking": false,
                      "LedCount": 1,
                      "Color": "Red",
                      "BlinkingColor": "Black",
                      "BlinkEnabled": true,
                      "BlinkDelay": 750,
                      "ContainerType": "StaticColor"
                    }
                  ],
                  "StartPosition": 2,
                  "ContainerType": "Groups.CustomConditionalGroup",
                  "Description": "Button 2"
                },
                {
                  "TriggerFormula": {
                    "JSExt": 0,
                    "Interpreter": 1,
                    "Expression": "return \t$prop('LeoxzPlugin.XF1U_WheelCustomGameEffectButton3') == 8 ||\r\n\t\t$prop('LeoxzPlugin.XF1U_WheelCustomGameEffectButton3') == 10;"
                  },
                  "LedContainers": [
                    {
                      "IdleBlinkingColor": "Transparent",
                      "EnableIdleBlinking": false,
                      "LedCount": 1,
                      "Color": "Red",
                      "BlinkingColor": "Black",
                      "BlinkEnabled": true,
                      "BlinkDelay": 750,
                      "ContainerType": "StaticColor"
                    }
                  ],
                  "StartPosition": 3,
                  "ContainerType": "Groups.CustomConditionalGroup",
                  "Description": "Button 3"
                },
                {
                  "TriggerFormula": {
                    "JSExt": 0,
                    "Interpreter": 1,
                    "Expression": "return \t$prop('LeoxzPlugin.XF1U_WheelCustomGameEffectButton4') == 8 ||\r\n\t\t$prop('LeoxzPlugin.XF1U_WheelCustomGameEffectButton4') == 10;"
                  },
                  "LedContainers": [
                    {
                      "IdleBlinkingColor": "Transparent",
                      "EnableIdleBlinking": false,
                      "LedCount": 1,
                      "Color": "Red",
                      "BlinkingColor": "Black",
                      "BlinkEnabled": true,
                      "BlinkDelay": 750,
                      "ContainerType": "StaticColor"
                    }
                  ],
                  "StartPosition": 4,
                  "ContainerType": "Groups.CustomConditionalGroup",
                  "Description": "Button 4"
                },
                {
                  "TriggerFormula": {
                    "JSExt": 0,
                    "Interpreter": 1,
                    "Expression": "return \t$prop('LeoxzPlugin.XF1U_WheelCustomGameEffectButton5') == 8 ||\r\n\t\t$prop('LeoxzPlugin.XF1U_WheelCustomGameEffectButton5') == 10;"
                  },
                  "LedContainers": [
                    {
                      "IdleBlinkingColor": "Transparent",
                      "EnableIdleBlinking": false,
                      "LedCount": 1,
                      "Color": "Red",
                      "BlinkingColor": "Black",
                      "BlinkEnabled": true,
                      "BlinkDelay": 750,
                      "ContainerType": "StaticColor"
                    }
                  ],
                  "StartPosition": 5,
                  "ContainerType": "Groups.CustomConditionalGroup",
                  "Description": "Button 5"
                },
                {
                  "TriggerFormula": {
                    "JSExt": 0,
                    "Interpreter": 1,
                    "Expression": "return \t$prop('LeoxzPlugin.XF1U_WheelCustomGameEffectButton6') == 8 ||\r\n\t\t$prop('LeoxzPlugin.XF1U_WheelCustomGameEffectButton6') == 10;"
                  },
                  "LedContainers": [
                    {
                      "IdleBlinkingColor": "Transparent",
                      "EnableIdleBlinking": false,
                      "LedCount": 1,
                      "Color": "Red",
                      "BlinkingColor": "Black",
                      "BlinkEnabled": true,
                      "BlinkDelay": 750,
                      "ContainerType": "StaticColor"
                    }
                  ],
                  "StartPosition": 6,
                  "ContainerType": "Groups.CustomConditionalGroup",
                  "Description": "Button 6"
                },
                {
                  "TriggerFormula": {
                    "JSExt": 0,
                    "Interpreter": 1,
                    "Expression": "return \t$prop('LeoxzPlugin.XF1U_WheelCustomGameEffectButton7') == 8 ||\r\n\t\t$prop('LeoxzPlugin.XF1U_WheelCustomGameEffectButton7') == 10;"
                  },
                  "LedContainers": [
                    {
                      "IdleBlinkingColor": "Transparent",
                      "EnableIdleBlinking": false,
                      "LedCount": 1,
                      "Color": "Red",
                      "BlinkingColor": "Black",
                      "BlinkEnabled": true,
                      "BlinkDelay": 750,
                      "ContainerType": "StaticColor"
                    }
                  ],
                  "StartPosition": 7,
                  "ContainerType": "Groups.CustomConditionalGroup",
                  "Description": "Button 7"
                },
                {
                  "TriggerFormula": {
                    "JSExt": 0,
                    "Interpreter": 1,
                    "Expression": "return \t$prop('LeoxzPlugin.XF1U_WheelCustomGameEffectButton8') == 8 ||\r\n\t\t$prop('LeoxzPlugin.XF1U_WheelCustomGameEffectButton8') == 10;"
                  },
                  "LedContainers": [
                    {
                      "IdleBlinkingColor": "Transparent",
                      "EnableIdleBlinking": false,
                      "LedCount": 1,
                      "Color": "Red",
                      "BlinkingColor": "Black",
                      "BlinkEnabled": true,
                      "BlinkDelay": 750,
                      "ContainerType": "StaticColor"
                    }
                  ],
                  "StartPosition": 8,
                  "ContainerType": "Groups.CustomConditionalGroup",
                  "Description": "Button 8"
                },
                {
                  "TriggerFormula": {
                    "JSExt": 0,
                    "Interpreter": 1,
                    "Expression": "return \t$prop('LeoxzPlugin.XF1U_WheelCustomGameEffectButton9') == 8 ||\r\n\t\t$prop('LeoxzPlugin.XF1U_WheelCustomGameEffectButton9') == 10;"
                  },
                  "LedContainers": [
                    {
                      "IdleBlinkingColor": "Transparent",
                      "EnableIdleBlinking": false,
                      "LedCount": 1,
                      "Color": "Red",
                      "BlinkingColor": "Black",
                      "BlinkEnabled": true,
                      "BlinkDelay": 750,
                      "ContainerType": "StaticColor"
                    }
                  ],
                  "StartPosition": 9,
                  "ContainerType": "Groups.CustomConditionalGroup",
                  "Description": "Button 9"
                },
                {
                  "TriggerFormula": {
                    "JSExt": 0,
                    "Interpreter": 1,
                    "Expression": "return \t$prop('LeoxzPlugin.XF1U_WheelCustomGameEffectButton10') == 8 ||\r\n\t\t$prop('LeoxzPlugin.XF1U_WheelCustomGameEffectButton10') == 10;"
                  },
                  "LedContainers": [
                    {
                      "IdleBlinkingColor": "Transparent",
                      "EnableIdleBlinking": false,
                      "LedCount": 1,
                      "Color": "Red",
                      "BlinkingColor": "Black",
                      "BlinkEnabled": true,
                      "BlinkDelay": 750,
                      "ContainerType": "StaticColor"
                    }
                  ],
                  "StartPosition": 10,
                  "ContainerType": "Groups.CustomConditionalGroup",
                  "Description": "Button 10"
                }
              ],
              "ContainerType": "Groups.CustomConditionalGroup",
              "Description": "Ignition OFF Game Button effect"
            }
          ],
          "ContainerType": "Groups.CustomConditionalGroup",
          "Description": "Ignition Off"
        },
        {
          "TriggerFormula": {
            "JSExt": 0,
            "Interpreter": 1,
            "Expression": "return $prop('EngineIgnitionOn') == 1 ||\r\n\t$prop('DataCorePlugin.CurrentGame') == 'IRacing' && $prop('GameRawData.Telemetry.IsReplayPlaying') == true;"
          },
          "LedContainers": [
            {
              "LedContainers": [
                {
                  "LedContainers": [
                    {
                      "ContentFormula": {
                        "JSExt": 0,
                        "Interpreter": 1,
                        "Expression": "const index = $prop('LeoxzPlugin.XF1U_WheelGameColour');\r\n\r\nreturn [\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomGameColourButton' + index + '_6'),\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomGameColourButton' + index + '_7'),\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomGameColourButton' + index + '_8'),\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomGameColourButton' + index + '_9'),\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomGameColourButton' + index + '_10'),\r\n];\r\n\r\n"
                      },
                      "LedCount": 5,
                      "StartPosition": 6,
                      "ContainerType": "ScriptedContent",
                      "Description": "Right Button"
                    },
                    {
                      "ContentFormula": {
                        "JSExt": 0,
                        "Interpreter": 1,
                        "Expression": "const index = $prop('LeoxzPlugin.XF1U_WheelGameColour');\r\n\r\nreturn [\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomGameColourButton' + index + '_1'),\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomGameColourButton' + index + '_2'),\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomGameColourButton' + index + '_3'),\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomGameColourButton' + index + '_4'),\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomGameColourButton' + index + '_5'),\r\n\r\n];\r\n\r\n"
                      },
                      "LedCount": 5,
                      "ContainerType": "ScriptedContent",
                      "Description": "Left Button"
                    }
                  ],
                  "ContainerType": "Base.Group",
                  "Description": "Custom Buttons"
                },
                {
                  "LedContainers": [
                    {
                      "ContentFormula": {
                        "JSExt": 0,
                        "Interpreter": 1,
                        "Expression": "\r\nconst index = $prop('LeoxzPlugin.XF1U_WheelGameColour');\r\n\r\nreturn [\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomGameColourRotary' + index + '_1'),\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomGameColourRotary' + index + '_2'),\r\n  $prop('LeoxzPlugin.XF1U_WheelCustomGameColourRotary' + index + '_3'),\r\n];\r\n\r\n"
                      },
                      "LedCount": 3,
                      "StartPosition": 11,
                      "ContainerType": "ScriptedContent",
                      "Description": "Rotary 1"
                    }
                  ],
                  "ContainerType": "Base.Group",
                  "Description": "Custom Rotaries"
                }
              ],
              "ContainerType": "Base.Group",
              "Description": "Static Button Colours"
            },
            {
              "TriggerFormula": {
                "JSExt": 0,
                "Interpreter": 1,
                "Expression": "return $prop(`LeoxzPlugin.XF1U_WheelGameThemeEffects${$prop('LeoxzPlugin.XF1U_WheelGameColour')}`);"
              },
              "LedContainers": [
                {
                  "ContentFormula": {
                    "JSExt": 4,
                    "Interpreter": 1,
                    "Expression": "const buttonState = getcontrollerbuttonstate('0x2afd,0x2a88', buttonNumber - 1) || getcontrollerbuttonstate('0x2afd,0x2a8e', buttonNumber - 1);\r\n\r\n\r\nreturn WheelButtonEffectprocedure(buttonNumber, buttonState);",
                    "PreExpression": "const buttonNumber = 1;\r\n\r\n"
                  },
                  "LedCount": 1,
                  "ContainerType": "ScriptedContent",
                  "Description": "Button 1"
                },
                {
                  "ContentFormula": {
                    "JSExt": 4,
                    "Interpreter": 1,
                    "Expression": "const buttonState = getcontrollerbuttonstate('0x2afd,0x2a88', buttonNumber - 1) || getcontrollerbuttonstate('0x2afd,0x2a8e', buttonNumber - 1);\r\n\r\n\r\nreturn WheelButtonEffectprocedure(buttonNumber, buttonState);",
                    "PreExpression": "const buttonNumber = 2;"
                  },
                  "LedCount": 1,
                  "StartPosition": 2,
                  "ContainerType": "ScriptedContent",
                  "Description": "Button 2"
                },
                {
                  "ContentFormula": {
                    "JSExt": 4,
                    "Interpreter": 1,
                    "Expression": "const buttonState = getcontrollerbuttonstate('0x2afd,0x2a88', buttonNumber - 1) || getcontrollerbuttonstate('0x2afd,0x2a8e', buttonNumber - 1);\r\n\r\n\r\nreturn WheelButtonEffectprocedure(buttonNumber, buttonState);",
                    "PreExpression": "const buttonNumber = 3;"
                  },
                  "LedCount": 1,
                  "StartPosition": 3,
                  "ContainerType": "ScriptedContent",
                  "Description": "Button 3"
                },
                {
                  "ContentFormula": {
                    "JSExt": 4,
                    "Interpreter": 1,
                    "Expression": "const buttonState = getcontrollerbuttonstate('0x2afd,0x2a88', buttonNumber - 1) || getcontrollerbuttonstate('0x2afd,0x2a8e', buttonNumber - 1);\r\n\r\n\r\nreturn WheelButtonEffectprocedure(buttonNumber, buttonState);",
                    "PreExpression": "const buttonNumber = 4;"
                  },
                  "LedCount": 1,
                  "StartPosition": 4,
                  "ContainerType": "ScriptedContent",
                  "Description": "Button 4"
                },
                {
                  "ContentFormula": {
                    "JSExt": 4,
                    "Interpreter": 1,
                    "Expression": "const buttonState = getcontrollerbuttonstate('0x2afd,0x2a88', buttonNumber - 1) || getcontrollerbuttonstate('0x2afd,0x2a8e', buttonNumber - 1);\r\n\r\n\r\nreturn WheelButtonEffectprocedure(buttonNumber, buttonState);",
                    "PreExpression": "const buttonNumber = 5;"
                  },
                  "LedCount": 1,
                  "StartPosition": 5,
                  "ContainerType": "ScriptedContent",
                  "Description": "Button 5"
                },
                {
                  "ContentFormula": {
                    "JSExt": 4,
                    "Interpreter": 1,
                    "Expression": "const buttonState = getcontrollerbuttonstate('0x2afd,0x2a88', buttonNumber - 1) || getcontrollerbuttonstate('0x2afd,0x2a8e', buttonNumber - 1);\r\n\r\n\r\nreturn WheelButtonEffectprocedure(buttonNumber, buttonState);",
                    "PreExpression": "const buttonNumber = 6;"
                  },
                  "LedCount": 1,
                  "StartPosition": 6,
                  "ContainerType": "ScriptedContent",
                  "Description": "Button 6"
                },
                {
                  "ContentFormula": {
                    "JSExt": 4,
                    "Interpreter": 1,
                    "Expression": "const buttonState = getcontrollerbuttonstate('0x2afd,0x2a88', buttonNumber - 1) || getcontrollerbuttonstate('0x2afd,0x2a8e', buttonNumber - 1);\r\n\r\n\r\nreturn WheelButtonEffectprocedure(buttonNumber, buttonState);",
                    "PreExpression": "const buttonNumber = 7;"
                  },
                  "LedCount": 1,
                  "StartPosition": 7,
                  "ContainerType": "ScriptedContent",
                  "Description": "Button 7"
                },
                {
                  "ContentFormula": {
                    "JSExt": 4,
                    "Interpreter": 1,
                    "Expression": "const buttonState = getcontrollerbuttonstate('0x2afd,0x2a88', buttonNumber - 1) || getcontrollerbuttonstate('0x2afd,0x2a8e', buttonNumber - 1);\r\n\r\n\r\nreturn WheelButtonEffectprocedure(buttonNumber, buttonState);",
                    "PreExpression": "const buttonNumber = 8;"
                  },
                  "LedCount": 1,
                  "StartPosition": 8,
                  "ContainerType": "ScriptedContent",
                  "Description": "Button 8"
                },
                {
                  "ContentFormula": {
                    "JSExt": 4,
                    "Interpreter": 1,
                    "Expression": "const buttonState = getcontrollerbuttonstate('0x2afd,0x2a88', buttonNumber - 1) || getcontrollerbuttonstate('0x2afd,0x2a8e', buttonNumber - 1);\r\n\r\n\r\nreturn WheelButtonEffectprocedure(buttonNumber, buttonState);",
                    "PreExpression": "const buttonNumber = 9;"
                  },
                  "LedCount": 1,
                  "StartPosition": 9,
                  "ContainerType": "ScriptedContent",
                  "Description": "Button 9"
                },
                {
                  "ContentFormula": {
                    "JSExt": 4,
                    "Interpreter": 1,
                    "Expression": "const buttonState = getcontrollerbuttonstate('0x2afd,0x2a88', buttonNumber - 1) || getcontrollerbuttonstate('0x2afd,0x2a8e', buttonNumber - 1);\r\n\r\n\r\nreturn WheelButtonEffectprocedure(buttonNumber, buttonState);",
                    "PreExpression": "const buttonNumber = 10;"
                  },
                  "LedCount": 1,
                  "StartPosition": 10,
                  "ContainerType": "ScriptedContent",
                  "Description": "Button 10"
                },
                {
                  "ContentFormula": {
                    "JSExt": 4,
                    "Interpreter": 1,
                    "Expression": "let allButtonStates = false;\r\n\r\nconst devices = ['0x2afd,0x2a88', '0x2afd,0x2a8e'];\r\n\r\nfor (let btnIndex = 0; btnIndex < 3; btnIndex++) {\r\n  const isPressed = devices.some(device =>\r\n    getcontrollerbuttonstate(device, rotaryBtnStart + btnIndex)\r\n  );\r\n  \r\n  if(isPressed == true)allButtonStates = true;\r\n}\r\n\r\n\r\nreturn WheelRotaryEffectprocedure(rotaryNumber, allButtonStates);\r\n\r\n",
                    "PreExpression": "const rotaryNumber = 1;\r\nconst rotaryBtnStart = 26;"
                  },
                  "LedCount": 1,
                  "StartPosition": 11,
                  "ContainerType": "ScriptedContent",
                  "Description": "Rotary 1"
                },
                {
                  "ContentFormula": {
                    "JSExt": 4,
                    "Interpreter": 1,
                    "Expression": "let allButtonStates = false;\r\n\r\nconst devices = ['0x2afd,0x2a88', '0x2afd,0x2a8e'];\r\n\r\nfor (let btnIndex = 0; btnIndex < 3; btnIndex++) {\r\n  const isPressed = devices.some(device =>\r\n    getcontrollerbuttonstate(device, rotaryBtnStart + btnIndex)\r\n  );\r\n  \r\n  if(isPressed == true)allButtonStates = true;\r\n}\r\n\r\n\r\nreturn WheelRotaryEffectprocedure(rotaryNumber, allButtonStates);\r\n\r\n",
                    "PreExpression": "const rotaryNumber = 2;\r\nconst rotaryBtnStart = 29;"
                  },
                  "LedCount": 1,
                  "StartPosition": 12,
                  "ContainerType": "ScriptedContent",
                  "Description": "Rotary 2"
                },
                {
                  "ContentFormula": {
                    "JSExt": 4,
                    "Interpreter": 1,
                    "Expression": "let allButtonStates = false;\r\n\r\nconst devices = ['0x2afd,0x2a88', '0x2afd,0x2a8e'];\r\n\r\nfor (let btnIndex = 0; btnIndex < 3; btnIndex++) {\r\n  const isPressed = devices.some(device =>\r\n    getcontrollerbuttonstate(device, rotaryBtnStart + btnIndex)\r\n  );\r\n  \r\n  if(isPressed == true)allButtonStates = true;\r\n}\r\n\r\n\r\nreturn WheelRotaryEffectprocedure(rotaryNumber, allButtonStates\r\n);\r\n\r\n",
                    "PreExpression": "const rotaryNumber = 3;\r\nconst rotaryBtnStart = 32;"
                  },
                  "LedCount": 1,
                  "StartPosition": 13,
                  "ContainerType": "ScriptedContent",
                  "Description": "Rotary 3"
                }
              ],
              "ContainerType": "Groups.CustomConditionalGroup",
              "Description": "Game Button effects"
            },
            {
              "LedContainers": [
                {
                  "TriggerFormula": {
                    "JSExt": 0,
                    "Interpreter": 1,
                    "Expression": "return $prop('LeoxzPlugin.XF1U_WheelSpotters') == true;"
                  },
                  "LedContainers": [
                    {
                      "TriggerFormula": {
                        "JSExt": 0,
                        "Interpreter": 1,
                        "Expression": "return $prop('SpotterCarLeft') == 1;"
                      },
                      "LedContainers": [
                        {
                          "TriggerFormula": {
                            "JSExt": 0,
                            "Interpreter": 1,
                            "Expression": "return ($prop('SpotterCarLeftDistance') > 5) || ($prop('DataCorePlugin.CurrentGame') == 'IRacing');"
                          },
                          "LedContainers": [
                            {
                              "Animation": {
                                "Columns": 5,
                                "Rows": 1,
                                "Frames": [
                                  {
                                    "Colors": "0,0,DeepPink;0,1,DeepPink;0,2,DeepPink;0,3,DeepPink;0,4,DeepPink",
                                    "FrameDuration": 300
                                  },
                                  {
                                    "Colors": "0,0,Black;0,1,Black;0,2,Black;0,3,Black;0,4,Black",
                                    "FrameDuration": 300
                                  }
                                ],
                                "PenColor": "Black"
                              },
                              "ContainerType": "Animation"
                            }
                          ],
                          "ContainerType": "Groups.CustomConditionalGroup",
                          "Description": "Spotter Car Left (Far)"
                        },
                        {
                          "TriggerFormula": {
                            "JSExt": 0,
                            "Interpreter": 1,
                            "Expression": "return ($prop('SpotterCarLeftDistance') <= 5) &&! ($prop('DataCorePlugin.CurrentGame') == 'IRacing');"
                          },
                          "LedContainers": [
                            {
                              "Animation": {
                                "Columns": 5,
                                "Rows": 1,
                                "Frames": [
                                  {
                                    "Colors": "0,0,DeepPink;0,1,DeepPink;0,2,DeepPink;0,3,DeepPink;0,4,DeepPink",
                                    "FrameDuration": 150
                                  },
                                  {
                                    "Colors": "0,0,Black;0,1,Black;0,2,Black;0,3,Black;0,4,Black",
                                    "FrameDuration": 150
                                  }
                                ],
                                "PenColor": "Black"
                              },
                              "ContainerType": "Animation"
                            }
                          ],
                          "ContainerType": "Groups.CustomConditionalGroup",
                          "Description": "Spotter Car Left (Close)"
                        }
                      ],
                      "ContainerType": "Groups.CustomConditionalGroup",
                      "Description": "Spotter Left"
                    },
                    {
                      "TriggerFormula": {
                        "JSExt": 0,
                        "Interpreter": 1,
                        "Expression": "return $prop('SpotterCarRight') == 1;"
                      },
                      "LedContainers": [
                        {
                          "TriggerFormula": {
                            "JSExt": 0,
                            "Interpreter": 1,
                            "Expression": "return ($prop('SpotterCarRightDistance') > 5) || ($prop('DataCorePlugin.CurrentGame') == 'IRacing');"
                          },
                          "LedContainers": [
                            {
                              "Animation": {
                                "Columns": 5,
                                "Rows": 1,
                                "Frames": [
                                  {
                                    "Colors": "0,0,DeepPink;0,1,DeepPink;0,2,DeepPink;0,3,DeepPink;0,4,DeepPink",
                                    "FrameDuration": 300
                                  },
                                  {
                                    "Colors": "0,0,Black;0,1,Black;0,2,Black;0,3,Black;0,4,Black",
                                    "FrameDuration": 300
                                  }
                                ],
                                "PenColor": "Black"
                              },
                              "StartPosition": 6,
                              "ContainerType": "Animation"
                            }
                          ],
                          "ContainerType": "Groups.CustomConditionalGroup",
                          "Description": "Spotter Car Right (Far)"
                        },
                        {
                          "TriggerFormula": {
                            "JSExt": 0,
                            "Interpreter": 1,
                            "Expression": "return ($prop('SpotterCarRightDistance') <= 5) &&! ($prop('DataCorePlugin.CurrentGame') == 'IRacing');"
                          },
                          "LedContainers": [
                            {
                              "Animation": {
                                "Columns": 5,
                                "Rows": 1,
                                "Frames": [
                                  {
                                    "Colors": "0,0,DeepPink;0,1,DeepPink;0,2,DeepPink;0,3,DeepPink;0,4,DeepPink",
                                    "FrameDuration": 150
                                  },
                                  {
                                    "Colors": "0,0,Black;0,1,Black;0,2,Black;0,3,Black;0,4,Black",
                                    "FrameDuration": 150
                                  }
                                ],
                                "PenColor": "Black"
                              },
                              "StartPosition": 6,
                              "ContainerType": "Animation"
                            }
                          ],
                          "ContainerType": "Groups.CustomConditionalGroup",
                          "Description": "Spotter Car Right (Close)"
                        }
                      ],
                      "ContainerType": "Groups.CustomConditionalGroup",
                      "Description": "Spotter Right"
                    }
                  ],
                  "ContainerType": "Groups.CustomConditionalGroup",
                  "Description": "Spotter L/R (Default Off)"
                },
                {
                  "LedContainers": [
                    {
                      "ContentFormula": {
                        "JSExt": 4,
                        "Interpreter": 1,
                        "Expression": "if (($prop('LeoxzPlugin.XF1U_WheelPitLimiter') ?? true) && $prop('PitLimiterOn') == 1) {\r\n//if(1){\r\n\t  \r\n\tPitLimiter_Hex1 = $prop('LeoxzPlugin.XF1U_PitLimiterColour1')\r\n\tPitLimiter_Hex2 = $prop('LeoxzPlugin.XF1U_PitLimiterColour2')\r\n\t\r\n\tconst t = (Date.now() % animationCycleTime) / animationCycleTime;\r\n\t\r\n\tconst pos = Math.floor(t * (ledCount + 1));\r\n\t\r\n\tconst leds = Array(ledCount).fill(PitLimiter_Hex1);\r\n\t\r\n\tif (pos < ledCount) leds[pos] = PitLimiter_Hex2;\r\n\tif (pos + 1 < ledCount) leds[pos + 1] = PitLimiter_Hex2;\r\n\t\r\n\treturn leds;\r\n}\r\nreturn [null];",
                        "PreExpression": "const animationCycleTime = 1000;\r\nconst ledCount = 5;"
                      },
                      "LedCount": 5,
                      "ContainerType": "ScriptedContent",
                      "Description": "Pit Limiter Buttons Left"
                    },
                    {
                      "ContentFormula": {
                        "JSExt": 4,
                        "Interpreter": 1,
                        "Expression": "if (($prop('LeoxzPlugin.XF1U_WheelPitLimiter') ?? true) && $prop('PitLimiterOn') == 1) {\r\n//if(1){\r\n\t  \r\n\tPitLimiter_Hex1 = $prop('LeoxzPlugin.XF1U_PitLimiterColour1')\r\n\tPitLimiter_Hex2 = $prop('LeoxzPlugin.XF1U_PitLimiterColour2')\r\n\t\r\n\tconst t = (Date.now() % animationCycleTime) / animationCycleTime;\r\n\t\r\n\tconst pos = Math.floor(t * (ledCount + 1));\r\n\t\r\n\tconst leds = Array(ledCount).fill(PitLimiter_Hex1);\r\n\t\r\n\tif (pos < ledCount) leds[pos] = PitLimiter_Hex2;\r\n\tif (pos + 1 < ledCount) leds[pos + 1] = PitLimiter_Hex2;\r\n\t\r\n\treturn leds;\r\n}\r\nreturn [null];",
                        "PreExpression": "const animationCycleTime = 1000;\r\nconst ledCount = 5;"
                      },
                      "LedCount": 5,
                      "StartPosition": 6,
                      "ContainerType": "ScriptedContent",
                      "Description": "Pit Limiter Buttons Right"
                    },
                    {
                      "ContentFormula": {
                        "JSExt": 4,
                        "Interpreter": 1,
                        "Expression": "if (($prop('LeoxzPlugin.XF1U_WheelPitLimiter') ?? true) && $prop('PitLimiterOn') == 1) {\r\n//if(1){\r\n\r\n\tPitLimiter_Hex1 = $prop('LeoxzPlugin.XF1U_PitLimiterColour1')\r\n\tPitLimiter_Hex2 = $prop('LeoxzPlugin.XF1U_PitLimiterColour2')\r\n\t\r\n\tconst t = (Date.now() % animationCycleTime) / animationCycleTime;\r\n\t\r\n\tconst isFirstHalf = t < 0.5;\r\n\t\r\n\tif (isFirstHalf) {\r\n\treturn [PitLimiter_Hex1, PitLimiter_Hex2, PitLimiter_Hex1];\r\n\t} else {\r\n\treturn [PitLimiter_Hex2, PitLimiter_Hex1, PitLimiter_Hex2];\r\n\t}\r\n  \r\n}\r\nreturn [null];",
                        "PreExpression": "const animationCycleTime = 1000;"
                      },
                      "LedCount": 3,
                      "StartPosition": 11,
                      "ContainerType": "ScriptedContent",
                      "Description": "Pit Limiter Rotaries"
                    }
                  ],
                  "ContainerType": "Base.Group",
                  "Description": "Pit Limiter"
                },
                {
                  "TriggerFormula": {
                    "JSExt": 0,
                    "Interpreter": 1,
                    "Expression": "return $prop('LeoxzPlugin.XF1U_WheelRedlineFlash') == true;"
                  },
                  "LedContainers": [
                    {
                      "ContentFormula": {
                        "JSExt": 4,
                        "Interpreter": 1,
                        "Expression": "if($prop('LeoxzPlugin.RedLineReached')){\r\n//if(1){\r\n\r\n  const t = (Date.now() % animationCycleTime) / animationCycleTime;\r\n\r\n  const isFirstHalf = t < 0.5;\r\n\r\n  if (isFirstHalf) {\r\n    return Array(ledCount).fill($prop('LeoxzPlugin.XF1U_WheelRedlineFlashColour'));\r\n  } else {\r\n    return [null]; \r\n  }\r\n}\r\nreturn [null]; ",
                        "PreExpression": "const ledCount = 13;\r\nconst animationCycleTime = 200;"
                      },
                      "LedCount": 13,
                      "ContainerType": "ScriptedContent",
                      "Description": "Redline"
                    }
                  ],
                  "ContainerType": "Groups.CustomConditionalGroup",
                  "Description": "Optional Redline Flash animation (Default Off)"
                },
                {
                  "TriggerFormula": {
                    "JSExt": 0,
                    "Interpreter": 1,
                    "Expression": "return isnull($prop('LeoxzPlugin.XF1U_WheelEngineStartupAnimation'));"
                  },
                  "LedContainers": [
                    {
                      "Duration": 500,
                      "LedContainers": [
                        {
                          "Animation": {
                            "Columns": 5,
                            "Rows": 1,
                            "Frames": [
                              {
                                "Colors": "0,0,White;0,1,Black;0,2,Black;0,3,Black;0,4,Black",
                                "FrameDuration": 100
                              },
                              {
                                "Colors": "0,1,White;0,0,#000000;0,2,#000000;0,3,#000000;0,4,Black",
                                "FrameDuration": 100
                              },
                              {
                                "Colors": "0,3,#000000;0,2,White;0,4,#000000;0,1,#000000;0,0,#000000",
                                "FrameDuration": 100
                              },
                              {
                                "Colors": "0,4,#000000;0,3,White;0,2,#000000;0,1,#000000;0,0,#000000",
                                "FrameDuration": 100
                              },
                              {
                                "Colors": "0,4,White;0,3,#000000;0,2,#000000;0,1,#000000;0,0,#000000",
                                "FrameDuration": 100
                              }
                            ],
                            "PenColor": "Black"
                          },
                          "StartPosition": 6,
                          "ContainerType": "Animation",
                          "Description": "Right Side Buttons"
                        },
                        {
                          "Animation": {
                            "Columns": 5,
                            "Rows": 1,
                            "Frames": [
                              {
                                "Colors": "0,0,White;0,1,#000000;0,2,#000000;0,3,#000000;0,4,#000000",
                                "FrameDuration": 100
                              },
                              {
                                "Colors": "0,0,#000000;0,1,White;0,2,#000000;0,3,#000000;0,4,#000000",
                                "FrameDuration": 100
                              },
                              {
                                "Colors": "0,4,#000000;0,3,#000000;0,2,White;0,1,#000000;0,0,#000000",
                                "FrameDuration": 100
                              },
                              {
                                "Colors": "0,4,#000000;0,3,White;0,2,#000000;0,1,#000000;0,0,#000000",
                                "FrameDuration": 100
                              },
                              {
                                "Colors": "0,3,#000000;0,2,#000000;0,4,White;0,1,#000000;0,0,#000000",
                                "FrameDuration": 100
                              }
                            ],
                            "PenColor": "Black"
                          },
                          "ContainerType": "Animation",
                          "Description": "Left Side Buttons"
                        },
                        {
                          "Animation": {
                            "Columns": 3,
                            "Rows": 1,
                            "Frames": [
                              {
                                "Colors": "0,0,#FFFFFF;0,1,#FFFFFF;0,2,#FFFFFF",
                                "FrameDuration": 108
                              },
                              {
                                "Colors": "0,0,#000000;0,1,#000000;0,2,#000000",
                                "FrameDuration": 108
                              }
                            ],
                            "PenColor": "Black"
                          },
                          "StartPosition": 11,
                          "ContainerType": "Animation",
                          "Description": "Rotaries"
                        }
                      ],
                      "ContainerType": "Groups.GameCarStatedGroup"
                    }
                  ],
                  "ContainerType": "Groups.CustomConditionalGroup",
                  "Description": "Engine Startup animation"
                }
              ],
              "ContainerType": "Base.Group",
              "Description": "General Game effects"
            },
            {
              "TriggerFormula": {
                "JSExt": 0,
                "Interpreter": 1,
                "Expression": "if ($prop('LeoxzPlugin.XF1U_WheelFlags') ?? false) {\r\n\tif ($prop('SpotterCarLeft') == 1 || $prop('SpotterCarRight') == 1)\r\n\t\treturn false;\r\n\treturn true;\r\n}\r\nreturn false;"
              },
              "LedContainers": [
                {
                  "TriggerFormula": {
                    "JSExt": 4,
                    "Interpreter": 1,
                    "Expression": "return changed_maxTime_true(1000, $prop('Flag_Checkered') == 1);\r\n"
                  },
                  "LedContainers": [
                    {
                      "Animation": {
                        "Columns": 13,
                        "Rows": 1,
                        "Frames": [
                          {
                            "Colors": "0,0,#FFFFFF;0,1,#000000;0,2,#FFFFFF;0,3,#000000;0,4,#FFFFFF;0,5,#FFFFFF;0,6,#000000;0,7,#FFFFFF;0,8,#000000;0,9,#FFFFFF;0,10,#FFFFFF;0,11,#000000;0,12,#FFFFFF",
                            "FrameDuration": 300
                          },
                          {
                            "Colors": "0,0,#000000;0,1,#FFFFFF;0,2,#000000;0,3,#FFFFFF;0,4,#000000;0,5,#000000;0,6,#FFFFFF;0,7,#000000;0,8,#FFFFFF;0,9,#000000;0,10,#000000;0,11,#FFFFFF;0,12,#000000",
                            "FrameDuration": 300
                          }
                        ],
                        "PenColor": "White"
                      },
                      "ContainerType": "Animation",
                      "Description": "Checkered Flag"
                    }
                  ],
                  "ContainerType": "Groups.CustomConditionalGroup",
                  "Description": "Checkered Flag"
                },
                {
                  "TriggerFormula": {
                    "JSExt": 0,
                    "Interpreter": 1,
                    "Expression": "return $prop('Flag_Green') == 1;"
                  },
                  "LedContainers": [
                    {
                      "Animation": {
                        "Columns": 13,
                        "Rows": 1,
                        "Frames": [
                          {
                            "Colors": "0,0,Lime;0,1,Lime;0,2,Lime;0,3,Lime;0,4,Lime;0,5,Lime;0,6,Lime;0,7,Lime;0,8,Lime;0,9,Lime;0,10,Lime;0,11,Lime;0,12,Lime",
                            "FrameDuration": 300
                          },
                          {
                            "Colors": "0,0,Black;0,1,Black;0,2,Black;0,3,Black;0,4,Black;0,5,Black;0,6,Black;0,7,Black;0,8,Black;0,9,Black;0,10,Black;0,11,Black;0,12,Black",
                            "FrameDuration": 300
                          }
                        ],
                        "PenColor": "Lime"
                      },
                      "ContainerType": "Animation",
                      "Description": "Green Flag"
                    }
                  ],
                  "ContainerType": "Groups.CustomConditionalGroup",
                  "Description": "Green Flag"
                },
                {
                  "TriggerFormula": {
                    "JSExt": 0,
                    "Interpreter": 1,
                    "Expression": "return $prop('Flag_Blue') == 1 && $prop('SpotterCarLeft') == 0 && $prop('SpotterCarRight') == 0;"
                  },
                  "LedContainers": [
                    {
                      "Animation": {
                        "Columns": 13,
                        "Rows": 1,
                        "Frames": [
                          {
                            "Colors": "0,0,#0000FF;0,1,#0000FF;0,2,#0000FF;0,3,#0000FF;0,4,#0000FF;0,5,#0000FF;0,6,#0000FF;0,7,#0000FF;0,8,#0000FF;0,9,#0000FF;0,10,#0000FF;0,11,#0000FF;0,12,#0000FF",
                            "FrameDuration": 300
                          },
                          {
                            "Colors": "0,0,Black;0,1,Black;0,2,Black;0,3,Black;0,4,Black;0,5,Black;0,6,Black;0,7,Black;0,8,Black;0,9,Black;0,10,Black;0,11,Black;0,12,Black",
                            "FrameDuration": 300
                          }
                        ],
                        "PenColor": "Blue"
                      },
                      "ContainerType": "Animation",
                      "Description": "Blue Flag"
                    }
                  ],
                  "ContainerType": "Groups.CustomConditionalGroup",
                  "Description": "Blue Flag"
                },
                {
                  "TriggerFormula": {
                    "JSExt": 0,
                    "Interpreter": 1,
                    "Expression": "return $prop('Flag_Orange') == 1;"
                  },
                  "LedContainers": [
                    {
                      "Animation": {
                        "Columns": 13,
                        "Rows": 1,
                        "Frames": [
                          {
                            "Colors": "0,0,#FF4500;0,1,#FF4500;0,2,#FF4500;0,3,#FF4500;0,4,#FF4500;0,5,#FF4500;0,6,#FF4500;0,7,#FF4500;0,8,#FF4500;0,9,#FF4500;0,10,#FF4500;0,11,#FF4500;0,12,#FF4500",
                            "FrameDuration": 300
                          },
                          {
                            "Colors": "0,0,Black;0,1,Black;0,2,Black;0,3,Black;0,4,Black;0,5,Black;0,6,Black;0,7,Black;0,8,Black;0,9,Black;0,10,Black;0,11,Black;0,12,Black",
                            "FrameDuration": 300
                          }
                        ],
                        "PenColor": "OrangeRed"
                      },
                      "ContainerType": "Animation",
                      "Description": "Orange Flag "
                    }
                  ],
                  "ContainerType": "Groups.CustomConditionalGroup",
                  "Description": "Orange Flag "
                },
                {
                  "TriggerFormula": {
                    "JSExt": 4,
                    "Interpreter": 1,
                    "Expression": "return $prop('Flag_White') == 1;"
                  },
                  "LedContainers": [
                    {
                      "Animation": {
                        "Columns": 13,
                        "Rows": 1,
                        "Frames": [
                          {
                            "Colors": "0,0,#FFFFFF;0,1,#FFFFFF;0,2,#FFFFFF;0,3,#FFFFFF;0,4,#FFFFFF;0,5,#FFFFFF;0,6,#FFFFFF;0,7,#FFFFFF;0,8,#FFFFFF;0,9,#FFFFFF;0,10,#FFFFFF;0,11,#FFFFFF;0,12,#FFFFFF",
                            "FrameDuration": 300
                          },
                          {
                            "Colors": "0,0,Black;0,1,Black;0,2,Black;0,3,Black;0,4,Black;0,5,Black;0,6,Black;0,7,Black;0,8,Black;0,9,Black;0,10,Black;0,11,Black;0,12,Black",
                            "FrameDuration": 300
                          }
                        ],
                        "PenColor": "White"
                      },
                      "ContainerType": "Animation",
                      "Description": "White Flag"
                    }
                  ],
                  "ContainerType": "Groups.CustomConditionalGroup",
                  "Description": "White Flag"
                },
                {
                  "TriggerFormula": {
                    "JSExt": 0,
                    "Interpreter": 1,
                    "Expression": "return $prop('Flag_Yellow') == 1;"
                  },
                  "LedContainers": [
                    {
                      "Animation": {
                        "Columns": 13,
                        "Rows": 1,
                        "Frames": [
                          {
                            "Colors": "0,0,#FFFF00;0,1,#FFFF00;0,2,#FFFF00;0,3,#FFFF00;0,4,#FFFF00;0,5,#FFFF00;0,6,#FFFF00;0,7,#FFFF00;0,8,#FFFF00;0,9,#FFFF00;0,10,#FFFF00;0,11,#FFFF00;0,12,#FFFF00",
                            "FrameDuration": 300
                          },
                          {
                            "Colors": "0,0,Black;0,1,Black;0,2,Black;0,3,Black;0,4,Black;0,5,Black;0,6,Black;0,7,Black;0,8,Black;0,9,Black;0,10,Black;0,11,Black;0,12,Black",
                            "FrameDuration": 300
                          }
                        ],
                        "PenColor": "Yellow"
                      },
                      "ContainerType": "Animation",
                      "Description": "Yellow Flag"
                    }
                  ],
                  "ContainerType": "Groups.CustomConditionalGroup",
                  "Description": "Yellow Flag "
                },
                {
                  "TriggerFormula": {
                    "JSExt": 4,
                    "Interpreter": 1,
                    "Expression": "const f1Games = ['F12030', 'F12029', 'F12028', 'F12027', 'F12026', 'F12025', 'F12024', 'F12023', 'F12022', 'F12021'];\r\n\r\nlet game = $prop('DataCorePlugin.CurrentGame');\r\n\r\nreturn (\r\n    (f1Games.includes(game) && (($prop('DataCorePlugin.GameRawData.PacketSessionData.m_safetyCarStatus') ?? 0) != 0)) ||\r\n    (game == 'IRacing' && $prop('GameRawData.Telemetry.SessionFlagsDetails.IscautionWaving')) ||\r\n    (game == 'LMU' && (($prop('GameRawData.rules.mTrackRules.mSafetyCarActive') ?? 0) != 0))\r\n);\r\n"
                  },
                  "LedContainers": [
                    {
                      "Animation": {
                        "Columns": 13,
                        "Rows": 1,
                        "Frames": [
                          {
                            "Colors": "0,0,#FFFF00;0,1,#FFFF00;0,2,#FFFF00;0,3,#FFFF00;0,4,#FFFF00;0,5,Black;0,6,Black;0,7,Black;0,8,Black;0,9,Black;0,10,#FFFF00;0,11,#FFFF00;0,12,#FFFF00",
                            "FrameDuration": 300
                          },
                          {
                            "Colors": "0,0,#000000;0,1,#000000;0,2,#000000;0,3,#000000;0,4,#000000;0,5,#FFFF00;0,6,#FFFF00;0,7,#FFFF00;0,8,#FFFF00;0,9,#FFFF00;0,10,#FFFF00;0,11,#FFFF00;0,12,#FFFF00",
                            "FrameDuration": 300
                          }
                        ],
                        "PenColor": "Yellow"
                      },
                      "ContainerType": "Animation",
                      "Description": "Virtual Safety Car & Safety Car"
                    }
                  ],
                  "ContainerType": "Groups.CustomConditionalGroup",
                  "Description": "Virtual Safety Car & Safety Car"
                },
                {
                  "TriggerFormula": {
                    "JSExt": 0,
                    "Interpreter": 1,
                    "Expression": "return $prop('Flag_Black') == 1;"
                  },
                  "LedContainers": [
                    {
                      "Animation": {
                        "Columns": 13,
                        "Rows": 1,
                        "Frames": [
                          {
                            "Colors": "0,0,#FFFFFF;0,1,#FFFFFF;0,2,#FFFFFF;0,3,#FFFFFF;0,4,#FFFFFF;0,5,#000000;0,6,#000000;0,7,#000000;0,8,#000000;0,9,#000000;0,10,#FFFFFF;0,11,#FFFFFF;0,12,#FFFFFF",
                            "FrameDuration": 300
                          },
                          {
                            "Colors": "0,0,#000000;0,1,#000000;0,2,#000000;0,3,#000000;0,4,#000000;0,5,#FFFFFF;0,6,#FFFFFF;0,7,#FFFFFF;0,8,#FFFFFF;0,9,#FFFFFF;0,10,#FFFFFF;0,11,#FFFFFF;0,12,#FFFFFF",
                            "FrameDuration": 300
                          }
                        ],
                        "PenColor": "White"
                      },
                      "ContainerType": "Animation",
                      "Description": "Black Flag"
                    }
                  ],
                  "ContainerType": "Groups.CustomConditionalGroup",
                  "Description": "Black Flag"
                },
                {
                  "TriggerFormula": {
                    "JSExt": 4,
                    "Interpreter": 1,
                    "Expression": "const f1Games = ['F12030', 'F12029', 'F12028', 'F12027', 'F12026', 'F12025', 'F12024', 'F12023', 'F12022', 'F12021'];\r\n\r\nlet game = $prop('DataCorePlugin.CurrentGame');\r\n\r\nif (\r\n    (game == 'IRacing' && $prop('GameRawData.Telemetry.SessionFlagsDetails.Isred')) ||\r\n    (f1Games.includes(game) && $prop('DataCorePlugin.GameRawData.RedFlagShown')) ||\r\n    (game == 'Automobilista2' && $prop('DataCorePlugin.GameRawData.mHighestFlagColour') == 5)\r\n) {\r\n    return true;\r\n} else {\r\n    return false;\r\n}"
                  },
                  "LedContainers": [
                    {
                      "Animation": {
                        "Columns": 13,
                        "Rows": 1,
                        "Frames": [
                          {
                            "Colors": "0,0,#FF0000;0,1,#FF0000;0,2,#FF0000;0,3,#FF0000;0,4,#FF0000;0,5,#FF0000;0,6,#FF0000;0,7,#FF0000;0,8,#FF0000;0,9,#FF0000;0,10,#FF0000;0,11,#FF0000;0,12,#FF0000",
                            "FrameDuration": 300
                          },
                          {
                            "Colors": "0,0,Black;0,1,Black;0,2,Black;0,3,Black;0,4,Black;0,5,Black;0,6,Black;0,7,Black;0,8,Black;0,9,Black;0,10,Black;0,11,Black;0,12,Black",
                            "FrameDuration": 300
                          }
                        ],
                        "PenColor": "Red"
                      },
                      "ContainerType": "Animation",
                      "Description": "Red Flag"
                    }
                  ],
                  "ContainerType": "Groups.CustomConditionalGroup",
                  "Description": "Red Flag"
                }
              ],
              "ContainerType": "Groups.CustomConditionalGroup",
              "Description": "Flags (Default Off)"
            }
          ],
          "ContainerType": "Groups.CustomConditionalGroup",
          "Description": "Ignition On"
        }
      ],
      "ContainerType": "Groups.GameRunningGroup",
      "Description": ""
    }
  ],
  "TestLedsGameData": {
    "CarModel": null,
    "CarId": null,
    "CarChoice": {
      "CarId": null,
      "CarModel": null,
      "GameCode": null,
      "IsSet": false
    },
    "GearEx": 0,
    "FuelMax": 100.0,
    "RPMSMax": 10000.0,
    "TurboMax": 3.5,
    "TurnIndicatorLeftEnabled": false,
    "TurnIndicatorRightEnabled": false,
    "SessionBestDeltaEx": 0.0,
    "AllTimeBestDeltaEx": 0.0,
    "DRSEnabled": false,
    "DRSAvailable": false,
    "MaxRpm": 10000.0,
    "GameRunning": true,
    "Brake": 0.0,
    "GameName": "AssettoCorsa",
    "Fuel": 0.0,
    "RPMPercent": 0.0,
    "RPMRedlineReached": false,
    "SpeedKmh": 0.0,
    "SpeedMph": 0.0,
    "Turbo": 0.0,
    "TurboPercent": 0.0,
    "Gear": "N",
    "IsInPitLane": false,
    "PitLimiterOn": true,
    "AbsEnabled": false,
    "AbsActive": false,
    "TCEnabled": false,
    "TCActive": false,
    "LowFuelAlert": false,
    "SpotterCarLeft": false,
    "SpotterCarRight": false,
    "BlackFlag": false,
    "YellowFlag": false,
    "WhiteFlag": false,
    "BlueFlag": false,
    "GreenFlag": false,
    "CarStartedTime": "0001-01-01T00:00:00",
    "SessionBestDelta": 0.0,
    "AllTimeBestDelta": 0.0
  },
  "UseProfileBrightness": false,
  "LastLoaded": "0001-01-01T00:00:00",
  "Description": "",
  "Name": "XF1 Ultimate Advanced Button Led v0.9.1",
  "ProfileId": "0cdf7834-72be-4e74-894b-fde405ea7566",
  "GameCode": null,
  "CarChoice": null
}