{
    "org.gnome.desktop.a11y.magnifier": {
        "name": "GNOME Shell Magnifier",
        "contexts": {
            "OS": [
                {
                    "id": "linux",
                    "version": ">=2.6.26"
                }
            ]
        },
        "capabilities": [
            "http://registry\\.gpii\\.net/common/magnification/enabled"
        ],
        "settingsHandlers": {
            "configuration": {
                "type": "gpii.gsettings",
                "liveness": "live",
                "options": {
                    "schema": "org.gnome.desktop.a11y.magnifier"
                },
                "supportedSettings": {
                    "mag-factor": {
                        "schema": {
                            "title": "Magnification",
                            "description": "Set up magnification level",
                            "type": "number",
                            "default": 1,
                            "minimum": 1,
                            "maximum": 5
                        }
                    },
                    "show-cross-hairs": {
                        "schema": {
                            "title": "Show crosshairs",
                            "description": "Whether to show crosshairs",
                            "type": "boolean",
                            "default": false
                        }
                    },
                    "focus-tracking": {
                        "schema": {
                            "title": "Focus Tracking",
                            "description": "The mouse pointer is always in view within the magnifier",
                            "default": 0,
                            "enum": [0, 1, 2, 3],
                            "enumLabels": ["None", "Centered", "Push", "Proportional"]
                        }
                    },
                    "caret-tracking": {
                        "schema": {
                            "title": "Caret Tracking",
                            "description": "The mouse pointer is always in view within the magnifier",
                            "default": 0,
                            "enum": [0, 1, 2, 3],
                            "enumLabels": ["None", "Centered", "Push", "Proportional"]
                        }
                    },
                    "lens-mode": {
                        "schema": {
                            "title": "Enable lens mode",
                            "description": "Whether the magnified view should be centered over the location of the system mouse and move with it",
                            "type": "boolean",
                            "default": false
                        }
                    },
                    "mouse-tracking": {
                        "schema": {
                            "title": "Mouse Tracking Mode",
                            "description": "Determines the position of the magnified mouse image within the magnified view and how it reacts to system mouse movement",
                            "default": "proportional",
                            "enum": ["none", "centered", "push", "proportional"],
                            "enumLabels": ["None", "Centered", "Push", "Proportional"]
                        }
                    },
                    "screen-position": {
                        "schema": {
                            "title": "Screen Position",
                            "description": "The position of the magnified view",
                            "default": "full-screen",
                            "enum": ["full-screen", "top-half", "bottom-half", "left-half", "right-half"],
                            "enumLabels": ["Full screen", "Top half", "Bottom half", "Left half", "Right half"]
                        }
                    },
                    "scroll-at-edges": {
                        "schema": {
                            "title": "Scroll magnified contents beyond the edges of the desktop",
                            "description": "For centered mouse tracking, when the system pointer is at or near the edge of the screen, the magnified contents continue to scroll such that the screen edge moves into the magnified view",
                            "type": "boolean",
                            "default": false
                        }
                    }
                },
                "capabilitiesTransformations": {
                    "mag-factor": "http://registry\\.gpii\\.net/common/magnification",
                    "show-cross-hairs": "http://registry\\.gpii\\.net/common/showCrosshairs",
                    "transform": {
                        "type": "fluid.transforms.arrayToSetMembership",
                        "inputPath": "http://registry\\.gpii\\.net/common/tracking",
                        "outputPath": "",
                        "presentValue": "proportional",
                        "missingValue": "none",
                        "options": {
                            "focus": "focus-tracking",
                            "caret": "caret-tracking",
                            "mouse": "mouse-tracking"
                        }
                    },
                    "screen-position": {
                        "transform": {
                            "type": "fluid.transforms.valueMapper",
                            "defaultInputPath": "http://registry\\.gpii\\.net/common/magnifierPosition",
                            "match": {
                                "FullScreen": "full-screen",
                                "Lens": "full-screen",
                                "LeftHalf": "left-half",
                                "RightHalf": "right-half",
                                "TopHalf": "top-half",
                                "BottomHalf": "bottom-half"
                            },
                            "noMatch": {
                                "outputValue": "full-screen"
                            }
                        }
                    }
                },
                "inverseCapabilitiesTransformations": {
                    "http://registry\\.gpii\\.net/common/magnification": "mag-factor",
                    "http://registry\\.gpii\\.net/common/showCrosshairs": "show-cross-hairs",
                    "transform": [
                        {
                            "type": "fluid.transforms.valueMapper",
                            "defaultInputPath": "screen-position",
                            "defaultOutputPath": "http://registry\\.gpii\\.net/common/magnifierPosition",
                            "match": {
                                "full-screen": "FullScreen",
                                "left-half": "LeftHalf",
                                "right-half": "RightHalf",
                                "top-half": "TopHalf",
                                "bottom-half": "BottomHalf"
                            }
                        },
                        {
                            "type": "fluid.transforms.valueMapper",
                            "defaultOutputPath": "http://registry\\.gpii\\.net/common/tracking",
                            "defaultInputPath": "mouse-tracking",
                            "match": {
                                "centered": "mouse"
                            }
                        }
                    ]
                }
            }
        },
        "launchHandlers": {
            "launcher": {
                "type": "gpii.gsettings.launch",
                "options": {
                    "schema": "org.gnome.desktop.a11y.applications",
                    "key": "screen-magnifier-enabled"
                }
            }
        },
        "update": [
            "settings.configuration"
        ],
        "isInstalled": [
            {
                "type": "gpii.packageKit.find",
                "name": "gnome-shell"
            }
        ]
    },
    "org.gnome.desktop.interface": {
        "name": "GNOME Interface Settings",
        "contexts": {
            "OS": [
                {
                    "id": "linux",
                    "version": ">=2.6.26"
                }
            ]
        },
        "settingsHandlers": {
            "configuration": {
                "type": "gpii.gsettings",
                "liveness": "live",
                "supportedSettings": {
                    "text-scaling-factor": {
                        "schema": {
                            "title": "Text scaling factor",
                            "description": "Factor used to enlarge or reduce text display, without changing font size",
                            "type": "number",
                            "default": 1,
                            "minimum": 0.5,
                            "maximum": 3
                        }
                    },
                    "cursor-size": {
                        "schema": {
                            "title": "Cursor size",
                            "description": "Size of the cursor used as cursor theme",
                            "type": "number",
                            "default": 24
                        }
                    },
                    "gtk-theme": {
                        "schema": {
                            "title": "Gtk+ Theme",
                            "description": "Basename of the default theme used by gtk+",
                            "type": "string",
                            "default": "Adwaita"
                        }
                    },
                    "icon-theme": {
                        "schema": {
                            "title": "Icon Theme",
                            "description": "Icon theme to use for the panel, nautilus etc",
                            "type": "string",
                            "default": "Adwaita"
                        }
                    }
                },
                "capabilitiesTransformations": {
                    "text-scaling-factor": {
                        "transform": {
                            "type": "fluid.transforms.linearScale",
                            "inputPath": "http://registry\\.gpii\\.net/common/fontSize",
                            "factor": 0.08333333333333333
                        }
                    },
                    "cursor-size": {
                        "transform": {
                            "type": "fluid.transforms.quantize",
                            "inputPath": "http://registry\\.gpii\\.net/common/cursorSize",
                            "ranges": [
                                {
                                    "upperBound": 0,
                                    "output": -1
                                },
                                {
                                    "upperBound": 0.333,
                                    "output": 20
                                },
                                {
                                    "upperBound": 0.666,
                                    "output": 29
                                },
                                {
                                    "output": 41
                                }
                            ]
                        }
                    },
                    "gtk-theme": {
                        "transform": {
                            "type": "fluid.transforms.condition",
                            "conditionPath": "http://registry\\.gpii\\.net/common/highContrast/enabled",
                            "true": "HighContrast",
                            "false": "Adwaita"
                        }
                    },
                    "icon-theme": {
                        "transform": {
                            "type": "fluid.transforms.condition",
                            "conditionPath": "http://registry\\.gpii\\.net/common/highContrast/enabled",
                            "true": "HighContrast",
                            "false": "gnome"
                        }
                    }
                },
                "options": {
                    "schema": "org.gnome.desktop.interface"
                },
                "inverseCapabilitiesTransformations": {
                    "transform": [
                        {
                            "type": "fluid.transforms.binaryOp",
                            "right": 12,
                            "operator": "*",
                            "leftPath": "text-scaling-factor",
                            "outputPath": "http://registry\\.gpii\\.net/common/fontSize"
                        },
                        {
                            "type": "fluid.transforms.linearScale",
                            "inputPath": "cursor-size",
                            "outputPath": "http://registry\\.gpii\\.net/common/cursorSize",
                            "factor": 0.01
                        },
                        {
                            "type": "fluid.transforms.binaryOp",
                            "outputPath": "http://registry\\.gpii\\.net/common/highContrast/enabled",
                            "left": {
                                "transform": {
                                    "type": "fluid.transforms.binaryOp",
                                    "leftPath": "gtk-theme",
                                    "operator": "===",
                                    "right": "HighContrast"
                                }
                            },
                            "right": {
                                "transform": {
                                    "type": "fluid.transforms.binaryOp",
                                    "leftPath": "icon-theme",
                                    "operator": "===",
                                    "right": "HighContrast"
                                }
                            },
                            "operator": "&&"
                        }
                    ]
                }
            }
        },
        "isInstalled": [
            {
                "type": "gpii.packageKit.find",
                "name": "gsettings-desktop-schemas"
            }
        ]
    },
    "org.gnome.nautilus": {
        "name": "GNOME Nautilus Settings",
        "contexts": {
            "OS": [
                {
                    "id": "linux",
                    "version": ">=2.6.26"
                }
            ]
        },
        "settingsHandlers": {
            "configuration": {
                "type": "gpii.gsettings",
                "liveness": "live",
                "supportedSettings": {
                    // We need at least one setting with a schema in order for the solution to show in the "codex" at all.
                    "font": {
                        "schema": {
                            "title": "Font",
                            "description": "Font.",
                            "type": "string"
                        }
                    }
                },
                "options": {
                    "schema": "org.gnome.nautilus.desktop"
                }
            }
        },
        "isInstalled": [
            {
                "type": "gpii.packageKit.find",
                "name": "nautilus"
            }
        ]
    },
    "org.gnome.desktop.a11y.applications.onscreen-keyboard": {
        "name": "GNOME Assistive Technology - Screen Keyboard",
        "contexts": {
            "OS": [
                {
                    "id": "linux",
                    "version": ">=2.6.26"
                }
            ]
        },
        "capabilities": [
            "http://registry\\.gpii\\.net/common/onScreenKeyboard/enabled"
        ],
        "launchHandlers": {
            "launching": {
                "type": "gpii.gsettings.launch",
                "options": {
                    "schema": "org.gnome.desktop.a11y.applications",
                    "key": "screen-keyboard-enabled"
                }
            }
        },
        "update": [],
        "isInstalled": [
            {
                "type": "gpii.packageKit.find",
                "name": "gnome-shell"
            }
        ]
    },
    "org.gnome.desktop.a11y.keyboard": {
        "name": "GNOME Shell Keyboard Settings",
        "contexts": {
            "OS": [
                {
                    "id": "linux",
                    "version": ">=2.6.26"
                }
            ]
        },
        "settingsHandlers": {
            "configuration": {
                "type": "gpii.gsettings",
                "liveness": "live",
                "supportedSettings": {
                    "stickykeys-enable": {},
                    "slowkeys-enable": {},
                    // We need at least one setting with a schema in order for the solution to show in the "codex" at all.
                    "slowkeys-delay": {
                        "schema": {
                            "title": "Slowkeys Delay",
                            "description": "Slowkeys delay.",
                            "type": "integer"
                        }
                    },
                    "bouncekeys-enable": {},
                    "bouncekeys-delay": {},
                    "mousekeys-enable": {},
                    "mousekeys-init-delay": {},
                    "mousekeys-max-speed": {},
                    "mousekeys-accel-time": {}
                },
                "capabilitiesTransformations": {
                    "stickykeys-enable": "http://registry\\.gpii\\.net/common/stickyKeys",
                    "slowkeys-enable": "http://registry\\.gpii\\.net/common/slowKeys/enabled",
                    "slowkeys-delay": {
                        "transform": {
                            "type": "fluid.transforms.linearScale",
                            "inputPath": "http://registry\\.gpii\\.net/common/slowKeysInterval",
                            "factor": 1000
                        }
                    },
                    "bouncekeys-enable": "http://registry\\.gpii\\.net/common/debounce/enabled",
                    "mousekeys-enable": "http://registry\\.gpii\\.net/common/mouseEmulation/enabled",
                    "mousekeys-init-delay": {
                        "transform": {
                            "type": "fluid.transforms.linearScale",
                            "inputPath": "http://registry\\.gpii\\.net/common/initDelay",
                            "factor": 1000
                        }
                    },
                    "mousekeys-max-speed": {
                        "transform": {
                            "type": "fluid.transforms.linearScale",
                            "inputPath": "http://registry\\.gpii\\.net/common/cursorSpeed",
                            "factor": 1000
                        }
                    }
                },
                "options": {
                    "schema": "org.gnome.desktop.a11y.keyboard"
                }
            }
        },
        "isInstalled": [
            {
                "type": "gpii.packageKit.find",
                "name": "gsettings-desktop-schemas"
            }
        ]
    },
    "org.gnome.desktop.wm.preferences": {
        "name": "GNOME desktop Window Manager preferences",
        "contexts": {
            "OS": [
                {
                    "id": "linux",
                    "version": ">=2.6.26"
                }
            ]
        },
        "settingsHandlers": {
            "configuration": {
                "type": "gpii.gsettings",
                "liveness": "live",
                "options": {
                    "schema": "org.gnome.desktop.wm.preferences"
                }
            }
        },
        "isInstalled": [
            {
                "type": "gpii.packageKit.find",
                "name": "gnome-shell"
            }
        ]
    },
    "org.gnome.shell.overrides": {
        "name": "GNOME Shell overrides",
        "contexts": {
            "OS": [
                {
                    "id": "linux",
                    "version": ">=2.6.26"
                }
            ]
        },
        "settingsHandlers": {
            "configuration": {
                "type": "gpii.gsettings",
                "liveness": "live",
                "options": {
                    "schema": "org.gnome.shell.overrides"
                }
            }
        },
        "isInstalled": [
            {
                "type": "gpii.packageKit.find",
                "name": "gnome-shell"
            }
        ]
    },
    "org.gnome.orca": {
        "name": "ORCA Screen Reader",
        "contexts": {
            "OS": [
                {
                    "id": "linux",
                    "version": ">=2.6.26"
                }
            ]
        },
        "capabilities": [
            "http://registry\\.gpii\\.net/common/screenReaderTTS/enabled"
        ],
        "settingsHandlers": {
            "configuration": {
                "type": "gpii.orca",
                "liveness": "manualRestart",
                "options": {
                    "user": "${{gpiiKey}}"
                },
                "supportedSettings": {
                    "enableTutorialMessages": {
                        "schema": {
                            "title": "Enable Tutorial Messages",
                            "description": "Enable tutorial messages",
                            "enum": [0, 1],
                            "enumLabels": ["off", "on"],
                            "default": 0
                        }
                    },
                    "enableEchoByCharacter": {
                        "schema": {
                            "title": "Enable Echo by Character",
                            "description": "Enable echo by character",
                            "enum": [0, 1],
                            "enumLabels": ["off", "on"],
                            "default": 0
                        }
                    },
                    "enableEchoByWord": {
                        "schema": {
                            "title": "Enable Echo by Word",
                            "description": "Enable echo by word",
                            "enum": [0, 1],
                            "enumLabels": ["off", "on"],
                            "default": 0
                        }
                    },
                    "enableBraille": {
                        "schema": {
                            "title": "Enable Braille",
                            "description": "Enable braille",
                            "enum": [0, 1],
                            "enumLabels": ["off", "on"],
                            "default": 0
                        }
                    },
                    "enableSpeech": {
                        "schema": {
                            "title": "Enable Speech",
                            "description": "Enable speech",
                            "enum": [0, 1],
                            "enumLabels": ["off", "on"],
                            "default": 0
                        }
                    },
                    "sayAllStyle": {
                        "schema": {
                            "title": "Enable Say all Style",
                            "description": "Enable say all style",
                            "enum": [0, 1],
                            "enumLabels": ["off", "on"],
                            "default": 0
                        }
                    },
                    "voices.default.rate": {
                        "schema": {
                            "title": "Voice Rate",
                            "description": "Config the voice rate",
                            "type": "number",
                            "default": 100
                        }
                    },
                    "voices.default.average-pitch": {
                        "schema": {
                            "title": "Voice Average Pitch",
                            "description": "Config the voice average pitch",
                            "type": "number",
                            "default": 10
                        }
                    },
                    "voices.default.gain": {
                        "schema": {
                            "title": "Voice Gain",
                            "description": "Config the voice gain",
                            "type": "number",
                            "default": 10
                        }
                    },
                    "voices.default.family": {
                        "schema": {
                            "title": "Voice Family",
                            "description": "Config the voice family to be used",
                            "default": {
                                "locale": "en",
                                "name": "english"
                            }
                        }
                    },
                    "verbalizePunctuationStyle": {
                        "schema": {
                            "title": "Verbalize Punctuation Style",
                            "description": "Config the verbalize punctuation style",
                            "enum": [0, 1, 2, 3],
                            "enumLabels": ["none", "some", "most", "all"],
                            "default": 0
                        }
                    }
                },
                "capabilitiesTransformations": {
                    "enableTutorialMessages": {
                        "transform": {
                            "type": "fluid.transforms.condition",
                            "conditionPath": "http://registry\\.gpii\\.net/common/speakTutorialMessages",
                            "true": 1,
                            "false": 0
                        }
                    },
                    "enableEchoByCharacter": {
                        "transform": {
                            "type": "fluid.transforms.condition",
                            "conditionPath": "http://registry\\.gpii\\.net/common/keyEcho",
                            "true": 1,
                            "false": 0
                        }
                    },
                    "enableEchoByWord": {
                        "transform": {
                            "type": "fluid.transforms.condition",
                            "conditionPath": "http://registry\\.gpii\\.net/common/wordEcho",
                            "true": 1,
                            "false": 0
                        }
                    },
                    "enableBraille": "http://registry\\.gpii\\.net/common/screenReaderBrailleOutput",
                    "enableSpeech": {
                        "transform": {
                            "type": "fluid.transforms.condition",
                            "conditionPath": "http://registry\\.gpii\\.net/common/screenReaderTTS/enabled",
                            "true": 1,
                            "false": 0
                        }
                    },
                    "sayAllStyle": {
                        "transform": {
                            "type": "fluid.transforms.valueMapper",
                            "defaultInputPath": "http://registry\\.gpii\\.net/common/readingUnit",
                            "match": {
                                "line": 0,
                                "sentence": 1
                            },
                            "noMatch": {
                                "outputValue": 1
                            }
                        }
                    },
                    "voices\\.default\\.rate": {
                        "transform": {
                            "type": "fluid.transforms.binaryOp",
                            "right": 50,
                            "operator": "+",
                            "left": {
                                "transform": {
                                    "type": "fluid.transforms.binaryOp",
                                    "operator": "/",
                                    "left": {
                                        "transform": {
                                            "type": "fluid.transforms.binaryOp",
                                            "leftPath": "http://registry\\.gpii\\.net/common/speechRate",
                                            "operator": "-",
                                            "right": 170
                                        }
                                    },
                                    "right": {
                                        "transform": {
                                            "type": "fluid.transforms.condition",
                                            "condition": {
                                                "transform": {
                                                    "type": "fluid.transforms.binaryOp",
                                                    "leftPath": "http://registry\\.gpii\\.net/common/speechRate",
                                                    "operator": "<",
                                                    "right": 170
                                                }
                                            },
                                            "true": 1.8,
                                            "false": 4.4
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "voices\\.default\\.average-pitch": {
                        "transform": {
                            "type": "fluid.transforms.linearScale",
                            "inputPath": "http://registry\\.gpii\\.net/common/pitch",
                            "factor": 10
                        }
                    },
                    "voices\\.default\\.gain": {
                        "transform": {
                            "type": "fluid.transforms.linearScale",
                            "inputPath": "http://registry\\.gpii\\.net/common/volumeTTS",
                            "factor": 10
                        }
                    },
                    "voices\\.default\\.family": {
                        "transform": {
                            "type": "fluid.transforms.valueMapper",
                            "defaultInputPath": "http://registry\\.gpii\\.net/common/auditoryOutLanguage",
                            "noMatch": {
                                "outputValue": {
                                    "locale": "en",
                                    "name": "english"
                                }
                            },
                            "match": {
                                "en": {
                                    "outputValue": {
                                        "locale": "en",
                                        "name": "english"
                                    }
                                },
                                "en-GB": {
                                    "outputValue": {
                                        "locale": "en",
                                        "name": "english"
                                    }
                                },
                                "en-US": {
                                    "outputValue": {
                                        "locale": "en",
                                        "name": "english-us"
                                    }
                                },
                                "en-scotland": {
                                    "outputValue": {
                                        "locale": "en",
                                        "name": "en-scottish"
                                    }
                                },
                                "en-BZ": {
                                    "outputValue": {
                                        "locale": "en",
                                        "name": "en-westindies"
                                    }
                                },
                                "en-BS": {
                                    "outputValue": {
                                        "locale": "en",
                                        "name": "en-westindies"
                                    }
                                },
                                "en-AG": {
                                    "outputValue": {
                                        "locale": "en",
                                        "name": "en-westindies"
                                    }
                                },
                                "en-AI": {
                                    "outputValue": {
                                        "locale": "en",
                                        "name": "en-westindies"
                                    }
                                },
                                "af": {
                                    "outputValue": {
                                        "locale": "af",
                                        "name": "afrikaans"
                                    }
                                },
                                "bg": {
                                    "outputValue": {
                                        "locale": "bg",
                                        "name": "bulgarian-test"
                                    }
                                },
                                "bs": {
                                    "outputValue": {
                                        "locale": "bs",
                                        "name": "bosnian"
                                    }
                                },
                                "ca": {
                                    "outputValue": {
                                        "locale": "ca",
                                        "name": "catalan"
                                    }
                                },
                                "cs": {
                                    "outputValue": {
                                        "locale": "cs",
                                        "name": "czech"
                                    }
                                },
                                "cy": {
                                    "outputValue": {
                                        "locale": "cy",
                                        "name": "welsh-test"
                                    }
                                },
                                "da": {
                                    "outputValue": {
                                        "locale": "da",
                                        "name": "danish"
                                    }
                                },
                                "de": {
                                    "outputValue": {
                                        "locale": "de",
                                        "name": "german"
                                    }
                                },
                                "el": {
                                    "outputValue": {
                                        "locale": "el",
                                        "name": "greek"
                                    }
                                },
                                "grc": {
                                    "outputValue": {
                                        "locale": "grc",
                                        "name": "greek-ancient"
                                    }
                                },
                                "eo": {
                                    "outputValue": {
                                        "locale": "eo",
                                        "name": "esperanto"
                                    }
                                },
                                "es": {
                                    "outputValue": {
                                        "locale": "es",
                                        "name": "spanish"
                                    }
                                },
                                "es-419": {
                                    "outputValue": {
                                        "locale": "es",
                                        "name": "spanish-latin-american"
                                    }
                                },
                                "et": {
                                    "outputValue": {
                                        "locale": "et",
                                        "name": "estonian"
                                    }
                                },
                                "fi": {
                                    "outputValue": {
                                        "locale": "fi",
                                        "name": "finnish"
                                    }
                                },
                                "fr": {
                                    "outputValue": {
                                        "locale": "fr",
                                        "name": "french"
                                    }
                                },
                                "fr-BE": {
                                    "outputValue": {
                                        "locale": "(Belgium)",
                                        "name": "french"
                                    }
                                },
                                "hi": {
                                    "outputValue": {
                                        "locale": "hi",
                                        "name": "hindi"
                                    }
                                },
                                "hr": {
                                    "outputValue": {
                                        "locale": "hr",
                                        "name": "croatian"
                                    }
                                },
                                "hu": {
                                    "outputValue": {
                                        "locale": "hu",
                                        "name": "hungarian"
                                    }
                                },
                                "hy": {
                                    "outputValue": {
                                        "locale": "hy",
                                        "name": "armenian"
                                    }
                                },
                                "hy-arevmda": {
                                    "outputValue": {
                                        "locale": "hy",
                                        "name": "armenian-west"
                                    }
                                },
                                "id": {
                                    "outputValue": {
                                        "locale": "id",
                                        "name": "indonesian-test"
                                    }
                                },
                                "is": {
                                    "outputValue": {
                                        "locale": "is",
                                        "name": "icelandic-test"
                                    }
                                },
                                "it": {
                                    "outputValue": {
                                        "locale": "it",
                                        "name": "italian"
                                    }
                                },
                                "jbo": {
                                    "outputValue": {
                                        "locale": "jbo",
                                        "name": "lojban"
                                    }
                                },
                                "ka": {
                                    "outputValue": {
                                        "locale": "ka",
                                        "name": "georgian-test"
                                    }
                                },
                                "kn": {
                                    "outputValue": {
                                        "locale": "kn",
                                        "name": "kannada"
                                    }
                                },
                                "ku": {
                                    "outputValue": {
                                        "locale": "ku",
                                        "name": "kurdish"
                                    }
                                },
                                "la": {
                                    "outputValue": {
                                        "locale": "la",
                                        "name": "latin"
                                    }
                                },
                                "lv": {
                                    "outputValue": {
                                        "locale": "lv",
                                        "name": "latvian"
                                    }
                                },
                                "mk": {
                                    "outputValue": {
                                        "locale": "mk",
                                        "name": "macedonian-test"
                                    }
                                },
                                "ml": {
                                    "outputValue": {
                                        "locale": "ml",
                                        "name": "malayalam"
                                    }
                                },
                                "nl": {
                                    "outputValue": {
                                        "locale": "nl",
                                        "name": "dutch-test"
                                    }
                                },
                                "no": {
                                    "outputValue": {
                                        "locale": "no",
                                        "name": "norwegian"
                                    }
                                },
                                "pap": {
                                    "outputValue": {
                                        "locale": "pap",
                                        "name": "papiamento-test"
                                    }
                                },
                                "pl": {
                                    "outputValue": {
                                        "locale": "pl",
                                        "name": "polish"
                                    }
                                },
                                "pt-BR": {
                                    "outputValue": {
                                        "locale": "pt",
                                        "name": "brazil"
                                    }
                                },
                                "pt-PT": {
                                    "outputValue": {
                                        "locale": "pt",
                                        "name": "portugal"
                                    }
                                },
                                "ro": {
                                    "outputValue": {
                                        "locale": "ro",
                                        "name": "romanian"
                                    }
                                },
                                "ru": {
                                    "outputValue": {
                                        "locale": "ru",
                                        "name": "russian_test"
                                    }
                                },
                                "sk": {
                                    "outputValue": {
                                        "locale": "sk",
                                        "name": "slovak"
                                    }
                                },
                                "sq": {
                                    "outputValue": {
                                        "locale": "sq",
                                        "name": "albanian"
                                    }
                                },
                                "sr": {
                                    "outputValue": {
                                        "locale": "sr",
                                        "name": "serbian"
                                    }
                                },
                                "sv": {
                                    "outputValue": {
                                        "locale": "sv",
                                        "name": "swedish"
                                    }
                                },
                                "sw": {
                                    "outputValue": {
                                        "locale": "sw",
                                        "name": "swahili-test"
                                    }
                                },
                                "ta": {
                                    "outputValue": {
                                        "locale": "ta",
                                        "name": "tamil"
                                    }
                                },
                                "tr": {
                                    "outputValue": {
                                        "locale": "tr",
                                        "name": "turkish"
                                    }
                                },
                                "vi": {
                                    "outputValue": {
                                        "locale": "vi",
                                        "name": "vietnam"
                                    }
                                },
                                "zh-cmn": {
                                    "outputValue": {
                                        "locale": "zh",
                                        "name": "Mandarin"
                                    }
                                },
                                "cmn": {
                                    "outputValue": {
                                        "locale": "zh",
                                        "name": "Mandarin"
                                    }
                                },
                                "zh-yue": {
                                    "outputValue": {
                                        "locale": "zh",
                                        "name": "cantonese"
                                    }
                                },
                                "yue": {
                                    "outputValue": {
                                        "locale": "zh",
                                        "name": "cantonese"
                                    }
                                }
                            }
                        }
                    },
                    "verbalizePunctuationStyle": {
                        "transform": {
                            "type": "fluid.transforms.valueMapper",
                            "defaultInputPath": "http://registry\\.gpii\\.net/common/punctuationVerbosity",
                            "match": {
                                "none": 3,
                                "some": 2,
                                "most": 1,
                                "all": 0
                            },
                            "noMatch": {
                                "outputValue": 1
                            }
                        }
                    }
                },
                "inverseCapabilitiesTransformations": {
                    "http://registry\\.gpii\\.net/common/screenReaderBrailleOutput": "enableBraille",
                    "http://registry\\.gpii\\.net/common/screenReaderTTS/enabled": "enableSpeech",
                    "transform": [
                        {
                            "type": "fluid.transforms.valueMapper",
                            "defaultInputPath": "sayAllStyle",
                            "defaultOutputPath": "http://registry\\.gpii\\.net/common/readingUnit",
                            "match": {
                                "0": "line",
                                "1": "sentence"
                            },
                            "noMatch": {
                                "outputValue": "sentence"
                            }
                        },
                        {
                            "type": "fluid.transforms.valueMapper",
                            "defaultInputPath": "verbalizePunctuationStyle",
                            "defaultOutputPath": "http://registry\\.gpii\\.net/common/punctuationVerbosity",
                            "defaultInputValue": "1",
                            "match": {
                                "3": "none",
                                "2": "some",
                                "1": "most",
                                "0": "all"
                            }
                        },
                        {
                            "type": "fluid.transforms.binaryOp",
                            "outputPath": "http://registry\\.gpii\\.net/common/speechRate",
                            "right": 170,
                            "operator": "+",
                            "left": {
                                "transform": {
                                    "type": "fluid.transforms.binaryOp",
                                    "operator": "*",
                                    "left": {
                                        "transform": {
                                            "type": "fluid.transforms.binaryOp",
                                            "leftPath": "voices\\.default\\.rate",
                                            "operator": "-",
                                            "right": 50
                                        }
                                    },
                                    "right": {
                                        "transform": {
                                            "type": "fluid.transforms.condition",
                                            "condition": {
                                                "transform": {
                                                    "type": "fluid.transforms.binaryOp",
                                                    "leftPath": "voices\\.default\\.rate",
                                                    "operator": "<",
                                                    "right": 50
                                                }
                                            },
                                            "true": 1.8,
                                            "false": 4.4
                                        }
                                    }
                                }
                            }
                        },
                        {
                            "type": "fluid.transforms.valueMapper",
                            "defaultInputPath": "voices\\.default\\.family.name",
                            "defaultOutputPath": "http://registry\\.gpii\\.net/common/auditoryOutLanguage",
                            "noMatch": {
                                "outputValue": "en"
                            },
                            "match": {
                                "english": "en",
                                "english-us": "en-US",
                                "en-scottish": "en-scotland",
                                "en-westindies": "en-BZ",
                                "afrikaans": "af",
                                "bulgarian-test": "bg",
                                "bosnian": "bs",
                                "catalan": "ca",
                                "czech": "cs",
                                "welsh-test": "cy",
                                "danish": "da",
                                "german": "de",
                                "greek": "el",
                                "greek-ancient": "grc",
                                "esperanto": "eo",
                                "spanish": "es",
                                "spanish-latin-american": "es-419",
                                "estonian": "et",
                                "finnish": "fi",
                                "french": "fr",
                                "hindi": "hi",
                                "croatian": "hr",
                                "hungarian": "hu",
                                "armenian": "hy",
                                "armenian-west": "hy-arevmda",
                                "indonesian-test": "id",
                                "icelandic-test": "is",
                                "italian": "it",
                                "lojban": "jbo",
                                "georgian-test": "ka",
                                "kannada": "kn",
                                "kurdish": "ku",
                                "latin": "la",
                                "latvian": "lv",
                                "macedonian-test": "mk",
                                "malayalam": "ml",
                                "dutch-test": "nl",
                                "norwegian": "no",
                                "papiamento-test": "pap",
                                "polish": "pl",
                                "brazil": "pt-BR",
                                "portugal": "pt-PT",
                                "romanian": "ro",
                                "russian_test": "ru",
                                "slovak": "sk",
                                "albanian": "sq",
                                "serbian": "sr",
                                "swedish": "sv",
                                "swahili-test": "sw",
                                "tamil": "ta",
                                "turkish": "tr",
                                "vietnam": "vi",
                                "Mandarin": "zh-cmn",
                                "cantonese": "zh-yue"
                            }
                        }
                    ]
                }
            }
        },
        "launchHandlers": {
            "launcher": {
                "type": "gpii.gsettings.launch",
                "options": {
                    "schema": "org.gnome.desktop.a11y.applications",
                    "key": "screen-reader-enabled"
                }
            }
        },
        "isInstalled": [
            {
                "type": "gpii.packageKit.find",
                "name": "orca"
            }
        ]
    },
    "org.alsa-project": {
        "name": "ALSA System Volume",
        "contexts": {
            "OS": [
                {
                    "id": "linux",
                    "version": ">=2.6.26"
                }
            ]
        },
        "settingsHandlers": {
            "configuration": {
                "type": "gpii.alsa",
                "liveness": "live",
                "supportedSettings": {
                    "masterVolume": {
                        "schema": {
                            "title": "Master volume",
                            "description": "Master volume.",
                            "type": "number"
                        }
                    }
                },
                "capabilitiesTransformations": {
                    "masterVolume": {
                        "transform": {
                            "type": "fluid.transforms.linearScale",
                            "inputPath": "http://registry\\.gpii\\.net/common/volume",
                            "factor": 100
                        }
                    }
                }
            }
        },
        "isInstalled": [
            {
                "type": "gpii.packageKit.find",
                "name": "alsa"
            },
            {
                "type": "gpii.packageKit.find",
                "name": "alsa-lib"
            }
        ]
    },
    "trace.easyOne.communicator.linux": {
        "name": "EasyOne Communicator Linux",
        "contexts": {
            "OS": [
                {
                    "id": "linux",
                    "version": ">=2.6.26"
                }
            ]
        },
        "capabilities": [
            "http://registry\\.gpii\\.net/common/simplifiedUi/enabled"
        ],
        "launchHandlers": {
            "launcher": {
                "type": "gpii.launchHandlers.flexibleHandler",
                "options": {
                    "setTrue": {
                        "type": "gpii.launch.exec",
                        "command": "google-chrome http://easyone.gpii.net/user/${{gpiiKey}}"
                    },
                    "setFalse": {
                        "type": "gpii.launch.exec",
                        "command": "pkill -2 chrome"
                    },
                    "getState": [
                        {
                            "type": "gpii.processReporter.neverRunning"
                        }
                    ]
                }
            }
        },
        "isInstalled": [
            {
                "type": "gpii.packageKit.find",
                "name": "google-chrome-beta"
            },
            {
                "type": "gpii.packageKit.find",
                "name": "google-chrome-stable"
            },
            {
                "type": "gpii.packageKit.find",
                "name": "google-chrome-unstable"
            }
        ]
    },
    "trace.easyOne.sudan.linux": {
        "name": "EasyOne Communicator Sudan",
        "contexts": {
            "OS": [
                {
                    "id": "linux",
                    "version": ">=2.6.26"
                }
            ]
        },
        "capabilities": [
            "http://registry\\.gpii\\.net/common/simplifiedUi/enabled"
        ],
        "settingsHandlers": {
            "configuration": {
                "type": "gpii.settingsHandlers.noSettings",
                "liveness": "live"
            }
        },
        "launchHandlers": {
            "launcher": {
                "type": "gpii.launchHandlers.flexibleHandler",
                "options": {
                    "setTrue": {
                        "type": "gpii.launch.exec",
                        "command": "google-chrome http://easyone.gpii.net/sudan"
                    },
                    "setFalse": {
                        "type": "gpii.launch.exec",
                        "command": "pkill -2 chrome"
                    },
                    "getState": [
                        {
                            "type": "gpii.processReporter.neverRunning"
                        }
                    ]
                }
            }
        },
        "isInstalled": [
            {
                "type": "gpii.packageKit.find",
                "name": "google-chrome-beta"
            },
            {
                "type": "gpii.packageKit.find",
                "name": "google-chrome-stable"
            },
            {
                "type": "gpii.packageKit.find",
                "name": "google-chrome-unstable"
            }
        ]
    },
    "webinsight.webAnywhere.linux": {
        "name": "Web Anywhere",
        "contexts": {
            "OS": [
                {
                    "id": "linux",
                    "version": ">=2.6.26"
                }
            ]
        },
        "capabilities": [
            "http://registry\\.gpii\\.net/common/screenReaderTTS/enabled"
        ],
        "launchHandlers": {
            "launcher": {
                "type": "gpii.launchHandlers.flexibleHandler",
                "options": {
                    "setTrue": {
                        "type": "gpii.launch.exec",
                        "command": "google-chrome http://webanywhere.cs.washington.edu/beta/?starting_url=http%3A%2F%2Fcloud4all.info"
                    },
                    "setFalse": {
                        "type": "gpii.launch.exec",
                        "command": "pkill -2 chrome"
                    },
                    "getState": [
                        {
                            "type": "gpii.processReporter.neverRunning"
                        }
                    ]
                }
            }
        },
        "isInstalled": [
            {
                "type": "gpii.packageKit.find",
                "name": "google-chrome-beta"
            },
            {
                "type": "gpii.packageKit.find",
                "name": "google-chrome-stable"
            },
            {
                "type": "gpii.packageKit.find",
                "name": "google-chrome-unstable"
            }
        ]
    },
    "org.freedesktop.xrandr": {
        "name": "Xrandr",
        "contexts": {
            "OS": [
                {
                    "id": "linux",
                    "version": ">=2.6.26"
                }
            ]
        },
        "settingsHandlers": {
            "configuration": {
                "type": "gpii.xrandr",
                "liveness": "liveRestart",
                "supportedSettings": {
                    "screen-resolution": {
                        schema: {
                            "title": "Screen resolution",
                            "description": "Screen resolution",
                            "type": "array",
                            "items": {
                                "type": "object",
                                "properties": {
                                    "height": {
                                        "type": "integer",
                                        "minimum": 0
                                    },
                                    "width": {
                                        "type": "integer",
                                        "minimum": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "net.gpii.uioPlus": {
        "name": "UIO+",
        "contexts": {
            "OS": [
                {
                    "id": "linux",
                    "version": ">=5.0"
                }
            ]
        },
        "settingsHandlers": {
            "configuration": {
                "type": "gpii.settingsHandlers.webSockets",
                "liveness": "live",
                "options": {
                    "path": "net.gpii.uioPlus"
                },
                "supportedSettings": {
                    "characterSpace": {
                        "schema": {
                            "title": "Character Space",
                            "description": "Adjust the space between characters.",
                            "type": "number",
                            "default": 0,
                            "minimum": -0.1,
                            "maximum": 1,
                            "multipleOf": 0.1
                        }
                    },
                    "contrastTheme": {
                        "schema": {
                            "title": "Contrast Theme",
                            "description": "Change text and background colors.",
                            "default": "default",
                            "enum": [
                                "default",
                                "bw",
                                "wb",
                                "by",
                                "yb",
                                "gd",
                                "gw",
                                "bbr"
                            ],
                            "enumLabels": [
                                "Default Theme",
                                "Black Foreground on a White Background",
                                "White Foreground on a Black Background",
                                "Black Foreground on a Yellow Background",
                                "Yellow Foreground on a Black Background",
                                "Light Gray Foreground on a Dark Gray Background",
                                "Gray Foreground on a White Background",
                                "Black Foreground on a Brown Background"
                            ]
                        }
                    },
                    "fontSize": {
                        "schema": {
                            "title": "Font Size",
                            "description": "Adjust text size.",
                            "type": "number",
                            "default": 1,
                            "minimum": 0.25,
                            "maximum": 5
                        }
                    },
                    "inputsLargerEnabled": {
                        "schema": {
                            "title": "Enhance Inputs",
                            "description": "Emphasize links, buttons, menus, textfields, and other inputs.",
                            "type": "boolean",
                            "default": false
                        }
                    },
                    "lineSpace": {
                        "schema": {
                            "title": "Line Space",
                            "description": "Adjusts the spacing between lines of text.",
                            "type": "number",
                            "default": 1,
                            "minimum": 0.7,
                            "maximum": 3,
                            "multipleOf": 0.1
                        }
                    },
                    "selectionTheme": {
                        "schema": {
                            "title": "Selection Theme",
                            "description": "Change the highlight colour for text selections.",
                            "default": "default",
                            "enum": [
                                "default",
                                "yellow",
                                "green",
                                "pink"
                            ],
                            "enumLabels": [
                                "Default Selection Highlight",
                                "Yellow Selection Highlight",
                                "Green Selection Highlight",
                                "Pink Selection Highlight"
                            ]
                        }
                    },
                    "selfVoicingEnabled": {
                        "schema": {
                            "title": "Self Voicing",
                            "description": "Let the device read site content aloud.",
                            "type": "boolean",
                            "default": false
                        }
                    },
                    "simplifiedUiEnabled": {
                        "schema": {
                            "title": "Simplified UI",
                            "description": "Only display the main content.",
                            "type": "boolean",
                            "default": false
                        }
                    },
                    "syllabificationEnabled": {
                        "schema": {
                            "title": "Syllabification",
                            "description": "Display words broken down into their syllables.",
                            "type": "boolean",
                            "default": false
                        }
                    },
                    "tableOfContentsEnabled": {
                        "schema": {
                            "title": "Table of Contents",
                            "description": "Create a table of contents.",
                            "type": "boolean",
                            "default": false
                        }
                    },
                    "wordSpace": {
                        "schema": {
                            "type": "number",
                            "default": 0,
                            "minimum": -0.3,
                            "maximum": 3,
                            "multipleOf": 0.1
                        }
                    }
                },
                "capabilitiesTransformations": {
                    "characterSpace": {
                        "transform": {
                            "type": "fluid.transforms.round",
                            "scale": 1,
                            "input": {
                                "transform": {
                                    "type": "fluid.transforms.linearScale",
                                    "offset": -1,
                                    "inputPath": "http://registry\\.gpii\\.net/common/characterSpace"
                                }
                            }
                        }
                    },
                    "contrastTheme": {
                        "transform": {
                            // Use the same condition for applying a high contrast theme to windows:
                            // (highContrast.enabled || highContrastTheme) && (highContrastTheme != "regular-contrast")
                            "type": "fluid.transforms.condition",
                            "condition": {
                                "transform": {
                                    "type": "fluid.transforms.binaryOp",
                                    "left": {
                                        "transform": {
                                            "type": "fluid.transforms.binaryOp",
                                            "leftPath": "http://registry\\.gpii\\.net/common/highContrast/enabled",
                                            "left": false,
                                            "operator": "||",
                                            "rightPath": "http://registry\\.gpii\\.net/common/highContrastTheme",
                                            "right": false
                                        }
                                    },
                                    "operator": "&&",
                                    "right": {
                                        "transform": {
                                            "type": "fluid.transforms.binaryOp",
                                            "left": "",
                                            "leftPath": "http://registry\\.gpii\\.net/common/highContrastTheme",
                                            "operator": "!==",
                                            "right": "regular-contrast"
                                        }
                                    }
                                }
                            },
                            "true": {
                                "transform": {
                                    "type": "fluid.transforms.valueMapper",
                                    "defaultInputPath": "http://registry\\.gpii\\.net/common/highContrastTheme",
                                    "defaultOutputValue": "default",
                                    "match": {
                                        "black-white": "bw",
                                        "white-black": "wb",
                                        "black-yellow": "by",
                                        "yellow-black": "yb",
                                        "grey-black": "lgdg",
                                        "grey-white": "gw",
                                        "black-brown": "bbr"
                                    }
                                }
                            },
                            "false": "default"
                        }
                    },
                    "fontSize": {
                        "transform": {
                            "type": "fluid.transforms.round",
                            "scale": 1,
                            "input": {
                                "transform": {
                                    "type": "fluid.transforms.binaryOp",
                                    "leftPath": "http://registry\\.gpii\\.net/common/fontSize",
                                    "right": 12,
                                    "operator": "/"
                                }
                            }
                        }
                    },
                    "inputsLargerEnabled": "http://registry\\.gpii\\.net/common/inputsLarger/enabled",
                    "lineSpace": "http://registry\\.gpii\\.net/common/lineSpace",
                    "selectionTheme": "http://registry\\.gpii\\.net/common/highlightColor",
                    "selfVoicingEnabled": "http://registry\\.gpii\\.net/common/selfVoicing/enabled",
                    "simplifiedUiEnabled": "http://registry\\.gpii\\.net/common/simplifiedUi/enabled",
                    "syllabificationEnabled": "http://registry\\.gpii\\.net/common/syllabification/enabled",
                    "tableOfContentsEnabled": "http://registry\\.gpii\\.net/common/tableOfContents",
                    "wordSpace": {
                        "transform": {
                            "type": "fluid.transforms.round",
                            "scale": 1,
                            "input": {
                                "transform": {
                                    "type": "fluid.transforms.linearScale",
                                    "offset": 1,
                                    "inputPath": "http://registry\\.gpii\\.net/common/wordSpace"
                                }
                            }
                        }
                    }
                },
                "inverseCapabilitiesTransformations": {}
            }
        },
        "isInstalled": [
            {
                "type": "gpii.deviceReporter.alwaysInstalled"
            }
        ]
    }
}
