[
    {
        "type": "Property",
        "start": 1518,
        "end": 3461,
        "method": false,
        "shorthand": false,
        "computed": false,
        "key": {
            "type": "Literal",
            "start": 1518,
            "end": 1537,
            "value": "normalizeSettings",
            "raw": "\"normalizeSettings\""
        },
        "value": {
            "type": "FunctionExpression",
            "start": 1539,
            "end": 3461,
            "id": null,
            "generator": false,
            "expression": false,
            "params": [
                {
                    "type": "Identifier",
                    "start": 1549,
                    "end": 1557,
                    "name": "settings"
                }
            ],
            "body": {
                "type": "BlockStatement",
                "start": 1559,
                "end": 3461,
                "body": [
                    {
                        "type": "VariableDeclaration",
                        "start": 1564,
                        "end": 1751,
                        "declarations": [
                            {
                                "type": "VariableDeclarator",
                                "start": 1568,
                                "end": 1697,
                                "id": {
                                    "type": "Identifier",
                                    "start": 1568,
                                    "end": 1576,
                                    "name": "defaults"
                                },
                                "init": {
                                    "type": "ObjectExpression",
                                    "start": 1579,
                                    "end": 1697,
                                    "properties": [
                                        {
                                            "type": "Property",
                                            "start": 1586,
                                            "end": 1598,
                                            "method": false,
                                            "shorthand": false,
                                            "computed": false,
                                            "key": {
                                                "type": "Literal",
                                                "start": 1586,
                                                "end": 1594,
                                                "value": "langId",
                                                "raw": "\"langId\""
                                            },
                                            "value": {
                                                "type": "UnaryExpression",
                                                "start": 1596,
                                                "end": 1598,
                                                "operator": "-",
                                                "prefix": true,
                                                "argument": {
                                                    "type": "Literal",
                                                    "start": 1597,
                                                    "end": 1598,
                                                    "value": 1,
                                                    "raw": "1"
                                                }
                                            },
                                            "kind": "init"
                                        },
                                        {
                                            "type": "Property",
                                            "start": 1605,
                                            "end": 1615,
                                            "method": false,
                                            "shorthand": false,
                                            "computed": false,
                                            "key": {
                                                "type": "Literal",
                                                "start": 1605,
                                                "end": 1611,
                                                "value": "rows",
                                                "raw": "\"rows\""
                                            },
                                            "value": {
                                                "type": "Literal",
                                                "start": 1613,
                                                "end": 1615,
                                                "value": 50,
                                                "raw": "50"
                                            },
                                            "kind": "init"
                                        },
                                        {
                                            "type": "Property",
                                            "start": 1622,
                                            "end": 1632,
                                            "method": false,
                                            "shorthand": false,
                                            "computed": false,
                                            "key": {
                                                "type": "Literal",
                                                "start": 1622,
                                                "end": 1629,
                                                "value": "start",
                                                "raw": "\"start\""
                                            },
                                            "value": {
                                                "type": "Literal",
                                                "start": 1631,
                                                "end": 1632,
                                                "value": 0,
                                                "raw": "0"
                                            },
                                            "kind": "init"
                                        },
                                        {
                                            "type": "Property",
                                            "start": 1639,
                                            "end": 1691,
                                            "method": false,
                                            "shorthand": false,
                                            "computed": false,
                                            "key": {
                                                "type": "Literal",
                                                "start": 1639,
                                                "end": 1648,
                                                "value": "storeId",
                                                "raw": "\"storeId\""
                                            },
                                            "value": {
                                                "type": "MemberExpression",
                                                "start": 1650,
                                                "end": 1691,
                                                "object": {
                                                    "type": "MemberExpression",
                                                    "start": 1650,
                                                    "end": 1683,
                                                    "object": {
                                                        "type": "MemberExpression",
                                                        "start": 1650,
                                                        "end": 1676,
                                                        "object": {
                                                            "type": "MemberExpression",
                                                            "start": 1650,
                                                            "end": 1660,
                                                            "object": {
                                                                "type": "Identifier",
                                                                "start": 1650,
                                                                "end": 1653,
                                                                "name": "ANF"
                                                            },
                                                            "property": {
                                                                "type": "Identifier",
                                                                "start": 1654,
                                                                "end": 1660,
                                                                "name": "params"
                                                            },
                                                            "computed": false
                                                        },
                                                        "property": {
                                                            "type": "Identifier",
                                                            "start": 1661,
                                                            "end": 1676,
                                                            "name": "storeAttributes"
                                                        },
                                                        "computed": false
                                                    },
                                                    "property": {
                                                        "type": "Identifier",
                                                        "start": 1677,
                                                        "end": 1683,
                                                        "name": "idList"
                                                    },
                                                    "computed": false
                                                },
                                                "property": {
                                                    "type": "Identifier",
                                                    "start": 1684,
                                                    "end": 1691,
                                                    "name": "storeId"
                                                },
                                                "computed": false
                                            },
                                            "kind": "init"
                                        }
                                    ]
                                }
                            },
                            {
                                "type": "VariableDeclarator",
                                "start": 1703,
                                "end": 1750,
                                "id": {
                                    "type": "Identifier",
                                    "start": 1703,
                                    "end": 1713,
                                    "name": "mySettings"
                                },
                                "init": {
                                    "type": "CallExpression",
                                    "start": 1716,
                                    "end": 1750,
                                    "callee": {
                                        "type": "MemberExpression",
                                        "start": 1716,
                                        "end": 1724,
                                        "object": {
                                            "type": "Identifier",
                                            "start": 1716,
                                            "end": 1717,
                                            "name": "$"
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 1718,
                                            "end": 1724,
                                            "name": "extend"
                                        },
                                        "computed": false
                                    },
                                    "arguments": [
                                        {
                                            "type": "Literal",
                                            "start": 1725,
                                            "end": 1729,
                                            "value": true,
                                            "raw": "true"
                                        },
                                        {
                                            "type": "Identifier",
                                            "start": 1731,
                                            "end": 1739,
                                            "name": "defaults"
                                        },
                                        {
                                            "type": "Identifier",
                                            "start": 1741,
                                            "end": 1749,
                                            "name": "settings"
                                        }
                                    ]
                                }
                            }
                        ],
                        "kind": "var"
                    },
                    {
                        "type": "IfStatement",
                        "start": 1756,
                        "end": 1991,
                        "test": {
                            "type": "LogicalExpression",
                            "start": 1765,
                            "end": 1908,
                            "left": {
                                "type": "CallExpression",
                                "start": 1765,
                                "end": 1832,
                                "callee": {
                                    "type": "MemberExpression",
                                    "start": 1765,
                                    "end": 1797,
                                    "object": {
                                        "type": "MemberExpression",
                                        "start": 1765,
                                        "end": 1785,
                                        "object": {
                                            "type": "Identifier",
                                            "start": 1765,
                                            "end": 1778,
                                            "name": "testFramework"
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 1779,
                                            "end": 1785,
                                            "name": "object"
                                        },
                                        "computed": false
                                    },
                                    "property": {
                                        "type": "Identifier",
                                        "start": 1786,
                                        "end": 1797,
                                        "name": "containsKey"
                                    },
                                    "computed": false
                                },
                                "arguments": [
                                    {
                                        "type": "Identifier",
                                        "start": 1798,
                                        "end": 1808,
                                        "name": "mySettings"
                                    },
                                    {
                                        "type": "Literal",
                                        "start": 1810,
                                        "end": 1824,
                                        "value": "departmentId",
                                        "raw": "\"departmentId\""
                                    },
                                    {
                                        "type": "Literal",
                                        "start": 1826,
                                        "end": 1831,
                                        "value": false,
                                        "raw": "false"
                                    }
                                ]
                            },
                            "operator": "&&",
                            "right": {
                                "type": "CallExpression",
                                "start": 1840,
                                "end": 1908,
                                "callee": {
                                    "type": "MemberExpression",
                                    "start": 1840,
                                    "end": 1876,
                                    "object": {
                                        "type": "MemberExpression",
                                        "start": 1840,
                                        "end": 1864,
                                        "object": {
                                            "type": "MemberExpression",
                                            "start": 1840,
                                            "end": 1860,
                                            "object": {
                                                "type": "Identifier",
                                                "start": 1840,
                                                "end": 1853,
                                                "name": "testFramework"
                                            },
                                            "property": {
                                                "type": "Identifier",
                                                "start": 1854,
                                                "end": 1860,
                                                "name": "object"
                                            },
                                            "computed": false
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 1861,
                                            "end": 1864,
                                            "name": "not"
                                        },
                                        "computed": false
                                    },
                                    "property": {
                                        "type": "Identifier",
                                        "start": 1865,
                                        "end": 1876,
                                        "name": "containsKey"
                                    },
                                    "computed": false
                                },
                                "arguments": [
                                    {
                                        "type": "Identifier",
                                        "start": 1877,
                                        "end": 1887,
                                        "name": "mySettings"
                                    },
                                    {
                                        "type": "Literal",
                                        "start": 1889,
                                        "end": 1900,
                                        "value": "catalogId",
                                        "raw": "\"catalogId\""
                                    },
                                    {
                                        "type": "Literal",
                                        "start": 1902,
                                        "end": 1907,
                                        "value": false,
                                        "raw": "false"
                                    }
                                ]
                            }
                        },
                        "consequent": {
                            "type": "BlockStatement",
                            "start": 1914,
                            "end": 1991,
                            "body": [
                                {
                                    "type": "ExpressionStatement",
                                    "start": 1920,
                                    "end": 1986,
                                    "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 1920,
                                        "end": 1985,
                                        "operator": "=",
                                        "left": {
                                            "type": "MemberExpression",
                                            "start": 1920,
                                            "end": 1940,
                                            "object": {
                                                "type": "Identifier",
                                                "start": 1920,
                                                "end": 1930,
                                                "name": "mySettings"
                                            },
                                            "property": {
                                                "type": "Identifier",
                                                "start": 1931,
                                                "end": 1940,
                                                "name": "catalogId"
                                            },
                                            "computed": false
                                        },
                                        "right": {
                                            "type": "CallExpression",
                                            "start": 1943,
                                            "end": 1985,
                                            "callee": {
                                                "type": "MemberExpression",
                                                "start": 1943,
                                                "end": 1960,
                                                "object": {
                                                    "type": "ThisExpression",
                                                    "start": 1943,
                                                    "end": 1947
                                                },
                                                "property": {
                                                    "type": "Identifier",
                                                    "start": 1948,
                                                    "end": 1960,
                                                    "name": "getCatalogId"
                                                },
                                                "computed": false
                                            },
                                            "arguments": [
                                                {
                                                    "type": "MemberExpression",
                                                    "start": 1961,
                                                    "end": 1984,
                                                    "object": {
                                                        "type": "Identifier",
                                                        "start": 1961,
                                                        "end": 1971,
                                                        "name": "mySettings"
                                                    },
                                                    "property": {
                                                        "type": "Identifier",
                                                        "start": 1972,
                                                        "end": 1984,
                                                        "name": "departmentId"
                                                    },
                                                    "computed": false
                                                }
                                            ]
                                        }
                                    }
                                }
                            ]
                        },
                        "alternate": null
                    },
                    {
                        "type": "IfStatement",
                        "start": 1996,
                        "end": 2285,
                        "test": {
                            "type": "LogicalExpression",
                            "start": 2005,
                            "end": 2133,
                            "left": {
                                "type": "CallExpression",
                                "start": 2005,
                                "end": 2072,
                                "callee": {
                                    "type": "MemberExpression",
                                    "start": 2005,
                                    "end": 2037,
                                    "object": {
                                        "type": "MemberExpression",
                                        "start": 2005,
                                        "end": 2025,
                                        "object": {
                                            "type": "Identifier",
                                            "start": 2005,
                                            "end": 2018,
                                            "name": "testFramework"
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 2019,
                                            "end": 2025,
                                            "name": "object"
                                        },
                                        "computed": false
                                    },
                                    "property": {
                                        "type": "Identifier",
                                        "start": 2026,
                                        "end": 2037,
                                        "name": "containsKey"
                                    },
                                    "computed": false
                                },
                                "arguments": [
                                    {
                                        "type": "Identifier",
                                        "start": 2038,
                                        "end": 2048,
                                        "name": "mySettings"
                                    },
                                    {
                                        "type": "Literal",
                                        "start": 2050,
                                        "end": 2064,
                                        "value": "search-field",
                                        "raw": "\"search-field\""
                                    },
                                    {
                                        "type": "Literal",
                                        "start": 2066,
                                        "end": 2071,
                                        "value": false,
                                        "raw": "false"
                                    }
                                ]
                            },
                            "operator": "&&",
                            "right": {
                                "type": "CallExpression",
                                "start": 2080,
                                "end": 2133,
                                "callee": {
                                    "type": "MemberExpression",
                                    "start": 2080,
                                    "end": 2105,
                                    "object": {
                                        "type": "MemberExpression",
                                        "start": 2080,
                                        "end": 2098,
                                        "object": {
                                            "type": "Identifier",
                                            "start": 2080,
                                            "end": 2093,
                                            "name": "testFramework"
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 2094,
                                            "end": 2098,
                                            "name": "type"
                                        },
                                        "computed": false
                                    },
                                    "property": {
                                        "type": "Identifier",
                                        "start": 2099,
                                        "end": 2105,
                                        "name": "string"
                                    },
                                    "computed": false
                                },
                                "arguments": [
                                    {
                                        "type": "MemberExpression",
                                        "start": 2106,
                                        "end": 2132,
                                        "object": {
                                            "type": "Identifier",
                                            "start": 2106,
                                            "end": 2116,
                                            "name": "mySettings"
                                        },
                                        "property": {
                                            "type": "Literal",
                                            "start": 2117,
                                            "end": 2131,
                                            "value": "search-field",
                                            "raw": "\"search-field\""
                                        },
                                        "computed": true
                                    }
                                ]
                            }
                        },
                        "consequent": {
                            "type": "BlockStatement",
                            "start": 2139,
                            "end": 2236,
                            "body": [
                                {
                                    "type": "ExpressionStatement",
                                    "start": 2145,
                                    "end": 2231,
                                    "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 2145,
                                        "end": 2230,
                                        "operator": "=",
                                        "left": {
                                            "type": "MemberExpression",
                                            "start": 2145,
                                            "end": 2171,
                                            "object": {
                                                "type": "Identifier",
                                                "start": 2145,
                                                "end": 2155,
                                                "name": "mySettings"
                                            },
                                            "property": {
                                                "type": "Literal",
                                                "start": 2156,
                                                "end": 2170,
                                                "value": "search-field",
                                                "raw": "\"search-field\""
                                            },
                                            "computed": true
                                        },
                                        "right": {
                                            "type": "CallExpression",
                                            "start": 2174,
                                            "end": 2230,
                                            "callee": {
                                                "type": "MemberExpression",
                                                "start": 2174,
                                                "end": 2215,
                                                "object": {
                                                    "type": "CallExpression",
                                                    "start": 2174,
                                                    "end": 2207,
                                                    "callee": {
                                                        "type": "MemberExpression",
                                                        "start": 2174,
                                                        "end": 2205,
                                                        "object": {
                                                            "type": "MemberExpression",
                                                            "start": 2174,
                                                            "end": 2200,
                                                            "object": {
                                                                "type": "Identifier",
                                                                "start": 2174,
                                                                "end": 2184,
                                                                "name": "mySettings"
                                                            },
                                                            "property": {
                                                                "type": "Literal",
                                                                "start": 2185,
                                                                "end": 2199,
                                                                "value": "search-field",
                                                                "raw": "\"search-field\""
                                                            },
                                                            "computed": true
                                                        },
                                                        "property": {
                                                            "type": "Identifier",
                                                            "start": 2201,
                                                            "end": 2205,
                                                            "name": "trim"
                                                        },
                                                        "computed": false
                                                    },
                                                    "arguments": []
                                                },
                                                "property": {
                                                    "type": "Identifier",
                                                    "start": 2208,
                                                    "end": 2215,
                                                    "name": "replace"
                                                },
                                                "computed": false
                                            },
                                            "arguments": [
                                                {
                                                    "type": "Literal",
                                                    "start": 2216,
                                                    "end": 2224,
                                                    "value": {},
                                                    "raw": "/[\\s]+/g",
                                                    "regex": {
                                                        "pattern": "[\\s]+",
                                                        "flags": "g"
                                                    }
                                                },
                                                {
                                                    "type": "Literal",
                                                    "start": 2226,
                                                    "end": 2229,
                                                    "value": " ",
                                                    "raw": "\" \""
                                                }
                                            ]
                                        }
                                    }
                                }
                            ]
                        },
                        "alternate": {
                            "type": "BlockStatement",
                            "start": 2242,
                            "end": 2285,
                            "body": [
                                {
                                    "type": "ExpressionStatement",
                                    "start": 2248,
                                    "end": 2280,
                                    "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 2248,
                                        "end": 2279,
                                        "operator": "=",
                                        "left": {
                                            "type": "MemberExpression",
                                            "start": 2248,
                                            "end": 2274,
                                            "object": {
                                                "type": "Identifier",
                                                "start": 2248,
                                                "end": 2258,
                                                "name": "mySettings"
                                            },
                                            "property": {
                                                "type": "Literal",
                                                "start": 2259,
                                                "end": 2273,
                                                "value": "search-field",
                                                "raw": "\"search-field\""
                                            },
                                            "computed": true
                                        },
                                        "right": {
                                            "type": "Literal",
                                            "start": 2277,
                                            "end": 2279,
                                            "value": "",
                                            "raw": "\"\""
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    {
                        "type": "IfStatement",
                        "start": 2290,
                        "end": 2739,
                        "test": {
                            "type": "LogicalExpression",
                            "start": 2299,
                            "end": 2467,
                            "left": {
                                "type": "LogicalExpression",
                                "start": 2299,
                                "end": 2412,
                                "left": {
                                    "type": "CallExpression",
                                    "start": 2299,
                                    "end": 2360,
                                    "callee": {
                                        "type": "MemberExpression",
                                        "start": 2299,
                                        "end": 2331,
                                        "object": {
                                            "type": "MemberExpression",
                                            "start": 2299,
                                            "end": 2319,
                                            "object": {
                                                "type": "Identifier",
                                                "start": 2299,
                                                "end": 2312,
                                                "name": "testFramework"
                                            },
                                            "property": {
                                                "type": "Identifier",
                                                "start": 2313,
                                                "end": 2319,
                                                "name": "object"
                                            },
                                            "computed": false
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 2320,
                                            "end": 2331,
                                            "name": "containsKey"
                                        },
                                        "computed": false
                                    },
                                    "arguments": [
                                        {
                                            "type": "Identifier",
                                            "start": 2332,
                                            "end": 2342,
                                            "name": "mySettings"
                                        },
                                        {
                                            "type": "Literal",
                                            "start": 2344,
                                            "end": 2352,
                                            "value": "facets",
                                            "raw": "\"facets\""
                                        },
                                        {
                                            "type": "Literal",
                                            "start": 2354,
                                            "end": 2359,
                                            "value": false,
                                            "raw": "false"
                                        }
                                    ]
                                },
                                "operator": "&&",
                                "right": {
                                    "type": "CallExpression",
                                    "start": 2368,
                                    "end": 2412,
                                    "callee": {
                                        "type": "MemberExpression",
                                        "start": 2368,
                                        "end": 2393,
                                        "object": {
                                            "type": "MemberExpression",
                                            "start": 2368,
                                            "end": 2386,
                                            "object": {
                                                "type": "Identifier",
                                                "start": 2368,
                                                "end": 2381,
                                                "name": "testFramework"
                                            },
                                            "property": {
                                                "type": "Identifier",
                                                "start": 2382,
                                                "end": 2386,
                                                "name": "type"
                                            },
                                            "computed": false
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 2387,
                                            "end": 2393,
                                            "name": "object"
                                        },
                                        "computed": false
                                    },
                                    "arguments": [
                                        {
                                            "type": "MemberExpression",
                                            "start": 2394,
                                            "end": 2411,
                                            "object": {
                                                "type": "Identifier",
                                                "start": 2394,
                                                "end": 2404,
                                                "name": "mySettings"
                                            },
                                            "property": {
                                                "type": "Identifier",
                                                "start": 2405,
                                                "end": 2411,
                                                "name": "facets"
                                            },
                                            "computed": false
                                        }
                                    ]
                                }
                            },
                            "operator": "&&",
                            "right": {
                                "type": "CallExpression",
                                "start": 2420,
                                "end": 2467,
                                "callee": {
                                    "type": "MemberExpression",
                                    "start": 2420,
                                    "end": 2448,
                                    "object": {
                                        "type": "MemberExpression",
                                        "start": 2420,
                                        "end": 2442,
                                        "object": {
                                            "type": "MemberExpression",
                                            "start": 2420,
                                            "end": 2438,
                                            "object": {
                                                "type": "Identifier",
                                                "start": 2420,
                                                "end": 2433,
                                                "name": "testFramework"
                                            },
                                            "property": {
                                                "type": "Identifier",
                                                "start": 2434,
                                                "end": 2438,
                                                "name": "type"
                                            },
                                            "computed": false
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 2439,
                                            "end": 2442,
                                            "name": "not"
                                        },
                                        "computed": false
                                    },
                                    "property": {
                                        "type": "Identifier",
                                        "start": 2443,
                                        "end": 2448,
                                        "name": "array"
                                    },
                                    "computed": false
                                },
                                "arguments": [
                                    {
                                        "type": "MemberExpression",
                                        "start": 2449,
                                        "end": 2466,
                                        "object": {
                                            "type": "Identifier",
                                            "start": 2449,
                                            "end": 2459,
                                            "name": "mySettings"
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 2460,
                                            "end": 2466,
                                            "name": "facets"
                                        },
                                        "computed": false
                                    }
                                ]
                            }
                        },
                        "consequent": {
                            "type": "BlockStatement",
                            "start": 2473,
                            "end": 2647,
                            "body": [
                                {
                                    "type": "ExpressionStatement",
                                    "start": 2479,
                                    "end": 2642,
                                    "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 2479,
                                        "end": 2641,
                                        "operator": "=",
                                        "left": {
                                            "type": "MemberExpression",
                                            "start": 2479,
                                            "end": 2495,
                                            "object": {
                                                "type": "Identifier",
                                                "start": 2479,
                                                "end": 2489,
                                                "name": "mySettings"
                                            },
                                            "property": {
                                                "type": "Identifier",
                                                "start": 2490,
                                                "end": 2495,
                                                "name": "facet"
                                            },
                                            "computed": false
                                        },
                                        "right": {
                                            "type": "CallExpression",
                                            "start": 2498,
                                            "end": 2641,
                                            "callee": {
                                                "type": "MemberExpression",
                                                "start": 2498,
                                                "end": 2532,
                                                "object": {
                                                    "type": "CallExpression",
                                                    "start": 2498,
                                                    "end": 2528,
                                                    "callee": {
                                                        "type": "MemberExpression",
                                                        "start": 2498,
                                                        "end": 2509,
                                                        "object": {
                                                            "type": "Identifier",
                                                            "start": 2498,
                                                            "end": 2504,
                                                            "name": "Object"
                                                        },
                                                        "property": {
                                                            "type": "Identifier",
                                                            "start": 2505,
                                                            "end": 2509,
                                                            "name": "keys"
                                                        },
                                                        "computed": false
                                                    },
                                                    "arguments": [
                                                        {
                                                            "type": "MemberExpression",
                                                            "start": 2510,
                                                            "end": 2527,
                                                            "object": {
                                                                "type": "Identifier",
                                                                "start": 2510,
                                                                "end": 2520,
                                                                "name": "mySettings"
                                                            },
                                                            "property": {
                                                                "type": "Identifier",
                                                                "start": 2521,
                                                                "end": 2527,
                                                                "name": "facets"
                                                            },
                                                            "computed": false
                                                        }
                                                    ]
                                                },
                                                "property": {
                                                    "type": "Identifier",
                                                    "start": 2529,
                                                    "end": 2532,
                                                    "name": "map"
                                                },
                                                "computed": false
                                            },
                                            "arguments": [
                                                {
                                                    "type": "FunctionExpression",
                                                    "start": 2533,
                                                    "end": 2640,
                                                    "id": null,
                                                    "generator": false,
                                                    "expression": false,
                                                    "params": [
                                                        {
                                                            "type": "Identifier",
                                                            "start": 2543,
                                                            "end": 2548,
                                                            "name": "facet"
                                                        }
                                                    ],
                                                    "body": {
                                                        "type": "BlockStatement",
                                                        "start": 2550,
                                                        "end": 2640,
                                                        "body": [
                                                            {
                                                                "type": "ReturnStatement",
                                                                "start": 2557,
                                                                "end": 2634,
                                                                "argument": {
                                                                    "type": "ObjectExpression",
                                                                    "start": 2564,
                                                                    "end": 2633,
                                                                    "properties": [
                                                                        {
                                                                            "type": "Property",
                                                                            "start": 2572,
                                                                            "end": 2585,
                                                                            "method": false,
                                                                            "shorthand": false,
                                                                            "computed": false,
                                                                            "key": {
                                                                                "type": "Literal",
                                                                                "start": 2572,
                                                                                "end": 2578,
                                                                                "value": "name",
                                                                                "raw": "\"name\""
                                                                            },
                                                                            "value": {
                                                                                "type": "Identifier",
                                                                                "start": 2580,
                                                                                "end": 2585,
                                                                                "name": "facet"
                                                                            },
                                                                            "kind": "init"
                                                                        },
                                                                        {
                                                                            "type": "Property",
                                                                            "start": 2593,
                                                                            "end": 2626,
                                                                            "method": false,
                                                                            "shorthand": false,
                                                                            "computed": false,
                                                                            "key": {
                                                                                "type": "Literal",
                                                                                "start": 2593,
                                                                                "end": 2600,
                                                                                "value": "value",
                                                                                "raw": "\"value\""
                                                                            },
                                                                            "value": {
                                                                                "type": "MemberExpression",
                                                                                "start": 2602,
                                                                                "end": 2626,
                                                                                "object": {
                                                                                    "type": "MemberExpression",
                                                                                    "start": 2602,
                                                                                    "end": 2619,
                                                                                    "object": {
                                                                                        "type": "Identifier",
                                                                                        "start": 2602,
                                                                                        "end": 2612,
                                                                                        "name": "mySettings"
                                                                                    },
                                                                                    "property": {
                                                                                        "type": "Identifier",
                                                                                        "start": 2613,
                                                                                        "end": 2619,
                                                                                        "name": "facets"
                                                                                    },
                                                                                    "computed": false
                                                                                },
                                                                                "property": {
                                                                                    "type": "Identifier",
                                                                                    "start": 2620,
                                                                                    "end": 2625,
                                                                                    "name": "facet"
                                                                                },
                                                                                "computed": true
                                                                            },
                                                                            "kind": "init"
                                                                        }
                                                                    ]
                                                                }
                                                            }
                                                        ]
                                                    }
                                                }
                                            ]
                                        }
                                    }
                                }
                            ]
                        },
                        "alternate": {
                            "type": "IfStatement",
                            "start": 2653,
                            "end": 2739,
                            "test": {
                                "type": "CallExpression",
                                "start": 2657,
                                "end": 2689,
                                "callee": {
                                    "type": "MemberExpression",
                                    "start": 2657,
                                    "end": 2670,
                                    "object": {
                                        "type": "Identifier",
                                        "start": 2657,
                                        "end": 2662,
                                        "name": "Array"
                                    },
                                    "property": {
                                        "type": "Identifier",
                                        "start": 2663,
                                        "end": 2670,
                                        "name": "isArray"
                                    },
                                    "computed": false
                                },
                                "arguments": [
                                    {
                                        "type": "MemberExpression",
                                        "start": 2671,
                                        "end": 2688,
                                        "object": {
                                            "type": "Identifier",
                                            "start": 2671,
                                            "end": 2681,
                                            "name": "mySettings"
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 2682,
                                            "end": 2688,
                                            "name": "facets"
                                        },
                                        "computed": false
                                    }
                                ]
                            },
                            "consequent": {
                                "type": "BlockStatement",
                                "start": 2691,
                                "end": 2739,
                                "body": [
                                    {
                                        "type": "ExpressionStatement",
                                        "start": 2697,
                                        "end": 2734,
                                        "expression": {
                                            "type": "AssignmentExpression",
                                            "start": 2697,
                                            "end": 2733,
                                            "operator": "=",
                                            "left": {
                                                "type": "MemberExpression",
                                                "start": 2697,
                                                "end": 2713,
                                                "object": {
                                                    "type": "Identifier",
                                                    "start": 2697,
                                                    "end": 2707,
                                                    "name": "mySettings"
                                                },
                                                "property": {
                                                    "type": "Identifier",
                                                    "start": 2708,
                                                    "end": 2713,
                                                    "name": "facet"
                                                },
                                                "computed": false
                                            },
                                            "right": {
                                                "type": "MemberExpression",
                                                "start": 2716,
                                                "end": 2733,
                                                "object": {
                                                    "type": "Identifier",
                                                    "start": 2716,
                                                    "end": 2726,
                                                    "name": "mySettings"
                                                },
                                                "property": {
                                                    "type": "Identifier",
                                                    "start": 2727,
                                                    "end": 2733,
                                                    "name": "facets"
                                                },
                                                "computed": false
                                            }
                                        }
                                    }
                                ]
                            },
                            "alternate": null
                        }
                    },
                    {
                        "type": "IfStatement",
                        "start": 2744,
                        "end": 3226,
                        "test": {
                            "type": "LogicalExpression",
                            "start": 2753,
                            "end": 2924,
                            "left": {
                                "type": "LogicalExpression",
                                "start": 2753,
                                "end": 2868,
                                "left": {
                                    "type": "CallExpression",
                                    "start": 2753,
                                    "end": 2815,
                                    "callee": {
                                        "type": "MemberExpression",
                                        "start": 2753,
                                        "end": 2785,
                                        "object": {
                                            "type": "MemberExpression",
                                            "start": 2753,
                                            "end": 2773,
                                            "object": {
                                                "type": "Identifier",
                                                "start": 2753,
                                                "end": 2766,
                                                "name": "testFramework"
                                            },
                                            "property": {
                                                "type": "Identifier",
                                                "start": 2767,
                                                "end": 2773,
                                                "name": "object"
                                            },
                                            "computed": false
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 2774,
                                            "end": 2785,
                                            "name": "containsKey"
                                        },
                                        "computed": false
                                    },
                                    "arguments": [
                                        {
                                            "type": "Identifier",
                                            "start": 2786,
                                            "end": 2796,
                                            "name": "mySettings"
                                        },
                                        {
                                            "type": "Literal",
                                            "start": 2798,
                                            "end": 2807,
                                            "value": "filters",
                                            "raw": "\"filters\""
                                        },
                                        {
                                            "type": "Literal",
                                            "start": 2809,
                                            "end": 2814,
                                            "value": false,
                                            "raw": "false"
                                        }
                                    ]
                                },
                                "operator": "&&",
                                "right": {
                                    "type": "CallExpression",
                                    "start": 2823,
                                    "end": 2868,
                                    "callee": {
                                        "type": "MemberExpression",
                                        "start": 2823,
                                        "end": 2848,
                                        "object": {
                                            "type": "MemberExpression",
                                            "start": 2823,
                                            "end": 2841,
                                            "object": {
                                                "type": "Identifier",
                                                "start": 2823,
                                                "end": 2836,
                                                "name": "testFramework"
                                            },
                                            "property": {
                                                "type": "Identifier",
                                                "start": 2837,
                                                "end": 2841,
                                                "name": "type"
                                            },
                                            "computed": false
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 2842,
                                            "end": 2848,
                                            "name": "object"
                                        },
                                        "computed": false
                                    },
                                    "arguments": [
                                        {
                                            "type": "MemberExpression",
                                            "start": 2849,
                                            "end": 2867,
                                            "object": {
                                                "type": "Identifier",
                                                "start": 2849,
                                                "end": 2859,
                                                "name": "mySettings"
                                            },
                                            "property": {
                                                "type": "Identifier",
                                                "start": 2860,
                                                "end": 2867,
                                                "name": "filters"
                                            },
                                            "computed": false
                                        }
                                    ]
                                }
                            },
                            "operator": "&&",
                            "right": {
                                "type": "CallExpression",
                                "start": 2876,
                                "end": 2924,
                                "callee": {
                                    "type": "MemberExpression",
                                    "start": 2876,
                                    "end": 2904,
                                    "object": {
                                        "type": "MemberExpression",
                                        "start": 2876,
                                        "end": 2898,
                                        "object": {
                                            "type": "MemberExpression",
                                            "start": 2876,
                                            "end": 2894,
                                            "object": {
                                                "type": "Identifier",
                                                "start": 2876,
                                                "end": 2889,
                                                "name": "testFramework"
                                            },
                                            "property": {
                                                "type": "Identifier",
                                                "start": 2890,
                                                "end": 2894,
                                                "name": "type"
                                            },
                                            "computed": false
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 2895,
                                            "end": 2898,
                                            "name": "not"
                                        },
                                        "computed": false
                                    },
                                    "property": {
                                        "type": "Identifier",
                                        "start": 2899,
                                        "end": 2904,
                                        "name": "array"
                                    },
                                    "computed": false
                                },
                                "arguments": [
                                    {
                                        "type": "MemberExpression",
                                        "start": 2905,
                                        "end": 2923,
                                        "object": {
                                            "type": "Identifier",
                                            "start": 2905,
                                            "end": 2915,
                                            "name": "mySettings"
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 2916,
                                            "end": 2923,
                                            "name": "filters"
                                        },
                                        "computed": false
                                    }
                                ]
                            }
                        },
                        "consequent": {
                            "type": "BlockStatement",
                            "start": 2930,
                            "end": 3115,
                            "body": [
                                {
                                    "type": "ExpressionStatement",
                                    "start": 2936,
                                    "end": 3110,
                                    "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 2936,
                                        "end": 3109,
                                        "operator": "=",
                                        "left": {
                                            "type": "MemberExpression",
                                            "start": 2936,
                                            "end": 2958,
                                            "object": {
                                                "type": "Identifier",
                                                "start": 2936,
                                                "end": 2946,
                                                "name": "mySettings"
                                            },
                                            "property": {
                                                "type": "Literal",
                                                "start": 2947,
                                                "end": 2957,
                                                "value": "filter[]",
                                                "raw": "\"filter[]\""
                                            },
                                            "computed": true
                                        },
                                        "right": {
                                            "type": "CallExpression",
                                            "start": 2961,
                                            "end": 3109,
                                            "callee": {
                                                "type": "MemberExpression",
                                                "start": 2961,
                                                "end": 2996,
                                                "object": {
                                                    "type": "CallExpression",
                                                    "start": 2961,
                                                    "end": 2992,
                                                    "callee": {
                                                        "type": "MemberExpression",
                                                        "start": 2961,
                                                        "end": 2972,
                                                        "object": {
                                                            "type": "Identifier",
                                                            "start": 2961,
                                                            "end": 2967,
                                                            "name": "Object"
                                                        },
                                                        "property": {
                                                            "type": "Identifier",
                                                            "start": 2968,
                                                            "end": 2972,
                                                            "name": "keys"
                                                        },
                                                        "computed": false
                                                    },
                                                    "arguments": [
                                                        {
                                                            "type": "MemberExpression",
                                                            "start": 2973,
                                                            "end": 2991,
                                                            "object": {
                                                                "type": "Identifier",
                                                                "start": 2973,
                                                                "end": 2983,
                                                                "name": "mySettings"
                                                            },
                                                            "property": {
                                                                "type": "Identifier",
                                                                "start": 2984,
                                                                "end": 2991,
                                                                "name": "filters"
                                                            },
                                                            "computed": false
                                                        }
                                                    ]
                                                },
                                                "property": {
                                                    "type": "Identifier",
                                                    "start": 2993,
                                                    "end": 2996,
                                                    "name": "map"
                                                },
                                                "computed": false
                                            },
                                            "arguments": [
                                                {
                                                    "type": "FunctionExpression",
                                                    "start": 2997,
                                                    "end": 3108,
                                                    "id": null,
                                                    "generator": false,
                                                    "expression": false,
                                                    "params": [
                                                        {
                                                            "type": "Identifier",
                                                            "start": 3007,
                                                            "end": 3013,
                                                            "name": "filter"
                                                        }
                                                    ],
                                                    "body": {
                                                        "type": "BlockStatement",
                                                        "start": 3015,
                                                        "end": 3108,
                                                        "body": [
                                                            {
                                                                "type": "ReturnStatement",
                                                                "start": 3022,
                                                                "end": 3102,
                                                                "argument": {
                                                                    "type": "ObjectExpression",
                                                                    "start": 3029,
                                                                    "end": 3101,
                                                                    "properties": [
                                                                        {
                                                                            "type": "Property",
                                                                            "start": 3037,
                                                                            "end": 3051,
                                                                            "method": false,
                                                                            "shorthand": false,
                                                                            "computed": false,
                                                                            "key": {
                                                                                "type": "Literal",
                                                                                "start": 3037,
                                                                                "end": 3043,
                                                                                "value": "name",
                                                                                "raw": "\"name\""
                                                                            },
                                                                            "value": {
                                                                                "type": "Identifier",
                                                                                "start": 3045,
                                                                                "end": 3051,
                                                                                "name": "filter"
                                                                            },
                                                                            "kind": "init"
                                                                        },
                                                                        {
                                                                            "type": "Property",
                                                                            "start": 3059,
                                                                            "end": 3094,
                                                                            "method": false,
                                                                            "shorthand": false,
                                                                            "computed": false,
                                                                            "key": {
                                                                                "type": "Literal",
                                                                                "start": 3059,
                                                                                "end": 3066,
                                                                                "value": "value",
                                                                                "raw": "\"value\""
                                                                            },
                                                                            "value": {
                                                                                "type": "MemberExpression",
                                                                                "start": 3068,
                                                                                "end": 3094,
                                                                                "object": {
                                                                                    "type": "MemberExpression",
                                                                                    "start": 3068,
                                                                                    "end": 3086,
                                                                                    "object": {
                                                                                        "type": "Identifier",
                                                                                        "start": 3068,
                                                                                        "end": 3078,
                                                                                        "name": "mySettings"
                                                                                    },
                                                                                    "property": {
                                                                                        "type": "Identifier",
                                                                                        "start": 3079,
                                                                                        "end": 3086,
                                                                                        "name": "filters"
                                                                                    },
                                                                                    "computed": false
                                                                                },
                                                                                "property": {
                                                                                    "type": "Identifier",
                                                                                    "start": 3087,
                                                                                    "end": 3093,
                                                                                    "name": "filter"
                                                                                },
                                                                                "computed": true
                                                                            },
                                                                            "kind": "init"
                                                                        }
                                                                    ]
                                                                }
                                                            }
                                                        ]
                                                    }
                                                }
                                            ]
                                        }
                                    }
                                }
                            ]
                        },
                        "alternate": {
                            "type": "IfStatement",
                            "start": 3121,
                            "end": 3226,
                            "test": {
                                "type": "CallExpression",
                                "start": 3125,
                                "end": 3169,
                                "callee": {
                                    "type": "MemberExpression",
                                    "start": 3125,
                                    "end": 3149,
                                    "object": {
                                        "type": "MemberExpression",
                                        "start": 3125,
                                        "end": 3143,
                                        "object": {
                                            "type": "Identifier",
                                            "start": 3125,
                                            "end": 3138,
                                            "name": "testFramework"
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 3139,
                                            "end": 3143,
                                            "name": "type"
                                        },
                                        "computed": false
                                    },
                                    "property": {
                                        "type": "Identifier",
                                        "start": 3144,
                                        "end": 3149,
                                        "name": "array"
                                    },
                                    "computed": false
                                },
                                "arguments": [
                                    {
                                        "type": "MemberExpression",
                                        "start": 3150,
                                        "end": 3168,
                                        "object": {
                                            "type": "Identifier",
                                            "start": 3150,
                                            "end": 3160,
                                            "name": "mySettings"
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 3161,
                                            "end": 3168,
                                            "name": "filters"
                                        },
                                        "computed": false
                                    }
                                ]
                            },
                            "consequent": {
                                "type": "BlockStatement",
                                "start": 3171,
                                "end": 3226,
                                "body": [
                                    {
                                        "type": "ExpressionStatement",
                                        "start": 3177,
                                        "end": 3221,
                                        "expression": {
                                            "type": "AssignmentExpression",
                                            "start": 3177,
                                            "end": 3220,
                                            "operator": "=",
                                            "left": {
                                                "type": "MemberExpression",
                                                "start": 3177,
                                                "end": 3199,
                                                "object": {
                                                    "type": "Identifier",
                                                    "start": 3177,
                                                    "end": 3187,
                                                    "name": "mySettings"
                                                },
                                                "property": {
                                                    "type": "Literal",
                                                    "start": 3188,
                                                    "end": 3198,
                                                    "value": "filter[]",
                                                    "raw": "\"filter[]\""
                                                },
                                                "computed": true
                                            },
                                            "right": {
                                                "type": "MemberExpression",
                                                "start": 3202,
                                                "end": 3220,
                                                "object": {
                                                    "type": "Identifier",
                                                    "start": 3202,
                                                    "end": 3212,
                                                    "name": "mySettings"
                                                },
                                                "property": {
                                                    "type": "Identifier",
                                                    "start": 3213,
                                                    "end": 3220,
                                                    "name": "filters"
                                                },
                                                "computed": false
                                            }
                                        }
                                    }
                                ]
                            },
                            "alternate": null
                        }
                    },
                    {
                        "type": "IfStatement",
                        "start": 3231,
                        "end": 3324,
                        "test": {
                            "type": "CallExpression",
                            "start": 3235,
                            "end": 3286,
                            "callee": {
                                "type": "MemberExpression",
                                "start": 3235,
                                "end": 3261,
                                "object": {
                                    "type": "MemberExpression",
                                    "start": 3235,
                                    "end": 3255,
                                    "object": {
                                        "type": "Identifier",
                                        "start": 3235,
                                        "end": 3248,
                                        "name": "testFramework"
                                    },
                                    "property": {
                                        "type": "Identifier",
                                        "start": 3249,
                                        "end": 3255,
                                        "name": "object"
                                    },
                                    "computed": false
                                },
                                "property": {
                                    "type": "Identifier",
                                    "start": 3256,
                                    "end": 3261,
                                    "name": "empty"
                                },
                                "computed": false
                            },
                            "arguments": [
                                {
                                    "type": "MemberExpression",
                                    "start": 3262,
                                    "end": 3279,
                                    "object": {
                                        "type": "Identifier",
                                        "start": 3262,
                                        "end": 3272,
                                        "name": "mySettings"
                                    },
                                    "property": {
                                        "type": "Identifier",
                                        "start": 3273,
                                        "end": 3279,
                                        "name": "facets"
                                    },
                                    "computed": false
                                },
                                {
                                    "type": "Literal",
                                    "start": 3281,
                                    "end": 3285,
                                    "value": true,
                                    "raw": "true"
                                }
                            ]
                        },
                        "consequent": {
                            "type": "BlockStatement",
                            "start": 3288,
                            "end": 3324,
                            "body": [
                                {
                                    "type": "ExpressionStatement",
                                    "start": 3294,
                                    "end": 3319,
                                    "expression": {
                                        "type": "UnaryExpression",
                                        "start": 3294,
                                        "end": 3318,
                                        "operator": "delete",
                                        "prefix": true,
                                        "argument": {
                                            "type": "MemberExpression",
                                            "start": 3301,
                                            "end": 3318,
                                            "object": {
                                                "type": "Identifier",
                                                "start": 3301,
                                                "end": 3311,
                                                "name": "mySettings"
                                            },
                                            "property": {
                                                "type": "Identifier",
                                                "start": 3312,
                                                "end": 3318,
                                                "name": "facets"
                                            },
                                            "computed": false
                                        }
                                    }
                                }
                            ]
                        },
                        "alternate": null
                    },
                    {
                        "type": "IfStatement",
                        "start": 3329,
                        "end": 3434,
                        "test": {
                            "type": "CallExpression",
                            "start": 3333,
                            "end": 3395,
                            "callee": {
                                "type": "MemberExpression",
                                "start": 3333,
                                "end": 3365,
                                "object": {
                                    "type": "MemberExpression",
                                    "start": 3333,
                                    "end": 3353,
                                    "object": {
                                        "type": "Identifier",
                                        "start": 3333,
                                        "end": 3346,
                                        "name": "testFramework"
                                    },
                                    "property": {
                                        "type": "Identifier",
                                        "start": 3347,
                                        "end": 3353,
                                        "name": "object"
                                    },
                                    "computed": false
                                },
                                "property": {
                                    "type": "Identifier",
                                    "start": 3354,
                                    "end": 3365,
                                    "name": "containsKey"
                                },
                                "computed": false
                            },
                            "arguments": [
                                {
                                    "type": "Identifier",
                                    "start": 3366,
                                    "end": 3376,
                                    "name": "mySettings"
                                },
                                {
                                    "type": "Literal",
                                    "start": 3378,
                                    "end": 3387,
                                    "value": "filters",
                                    "raw": "\"filters\""
                                },
                                {
                                    "type": "Literal",
                                    "start": 3389,
                                    "end": 3394,
                                    "value": false,
                                    "raw": "false"
                                }
                            ]
                        },
                        "consequent": {
                            "type": "BlockStatement",
                            "start": 3397,
                            "end": 3434,
                            "body": [
                                {
                                    "type": "ExpressionStatement",
                                    "start": 3403,
                                    "end": 3429,
                                    "expression": {
                                        "type": "UnaryExpression",
                                        "start": 3403,
                                        "end": 3428,
                                        "operator": "delete",
                                        "prefix": true,
                                        "argument": {
                                            "type": "MemberExpression",
                                            "start": 3410,
                                            "end": 3428,
                                            "object": {
                                                "type": "Identifier",
                                                "start": 3410,
                                                "end": 3420,
                                                "name": "mySettings"
                                            },
                                            "property": {
                                                "type": "Identifier",
                                                "start": 3421,
                                                "end": 3428,
                                                "name": "filters"
                                            },
                                            "computed": false
                                        }
                                    }
                                }
                            ]
                        },
                        "alternate": null
                    },
                    {
                        "type": "ReturnStatement",
                        "start": 3439,
                        "end": 3457,
                        "argument": {
                            "type": "Identifier",
                            "start": 3446,
                            "end": 3456,
                            "name": "mySettings"
                        }
                    }
                ]
            }
        },
        "kind": "init"
    },
    {
        "type": "Property",
        "start": 3710,
        "end": 4769,
        "method": false,
        "shorthand": false,
        "computed": false,
        "key": {
            "type": "Literal",
            "start": 3710,
            "end": 3724,
            "value": "genQueryData",
            "raw": "\"genQueryData\""
        },
        "value": {
            "type": "FunctionExpression",
            "start": 3726,
            "end": 4769,
            "id": null,
            "generator": false,
            "expression": false,
            "params": [
                {
                    "type": "Identifier",
                    "start": 3736,
                    "end": 3744,
                    "name": "settings"
                }
            ],
            "body": {
                "type": "BlockStatement",
                "start": 3746,
                "end": 4769,
                "body": [
                    {
                        "type": "VariableDeclaration",
                        "start": 3751,
                        "end": 3844,
                        "declarations": [
                            {
                                "type": "VariableDeclarator",
                                "start": 3755,
                                "end": 3800,
                                "id": {
                                    "type": "Identifier",
                                    "start": 3755,
                                    "end": 3765,
                                    "name": "mySettings"
                                },
                                "init": {
                                    "type": "CallExpression",
                                    "start": 3768,
                                    "end": 3800,
                                    "callee": {
                                        "type": "MemberExpression",
                                        "start": 3768,
                                        "end": 3790,
                                        "object": {
                                            "type": "ThisExpression",
                                            "start": 3768,
                                            "end": 3772
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 3773,
                                            "end": 3790,
                                            "name": "normalizeSettings"
                                        },
                                        "computed": false
                                    },
                                    "arguments": [
                                        {
                                            "type": "Identifier",
                                            "start": 3791,
                                            "end": 3799,
                                            "name": "settings"
                                        }
                                    ]
                                }
                            },
                            {
                                "type": "VariableDeclarator",
                                "start": 3806,
                                "end": 3822,
                                "id": {
                                    "type": "Identifier",
                                    "start": 3806,
                                    "end": 3817,
                                    "name": "queryObject"
                                },
                                "init": {
                                    "type": "ObjectExpression",
                                    "start": 3820,
                                    "end": 3822,
                                    "properties": []
                                }
                            },
                            {
                                "type": "VariableDeclarator",
                                "start": 3828,
                                "end": 3843,
                                "id": {
                                    "type": "Identifier",
                                    "start": 3828,
                                    "end": 3838,
                                    "name": "queryArray"
                                },
                                "init": {
                                    "type": "ArrayExpression",
                                    "start": 3841,
                                    "end": 3843,
                                    "elements": []
                                }
                            }
                        ],
                        "kind": "var"
                    },
                    {
                        "type": "ExpressionStatement",
                        "start": 3849,
                        "end": 4453,
                        "expression": {
                            "type": "CallExpression",
                            "start": 3849,
                            "end": 4452,
                            "callee": {
                                "type": "MemberExpression",
                                "start": 3849,
                                "end": 3884,
                                "object": {
                                    "type": "CallExpression",
                                    "start": 3849,
                                    "end": 3872,
                                    "callee": {
                                        "type": "MemberExpression",
                                        "start": 3849,
                                        "end": 3860,
                                        "object": {
                                            "type": "Identifier",
                                            "start": 3849,
                                            "end": 3855,
                                            "name": "Object"
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 3856,
                                            "end": 3860,
                                            "name": "keys"
                                        },
                                        "computed": false
                                    },
                                    "arguments": [
                                        {
                                            "type": "Identifier",
                                            "start": 3861,
                                            "end": 3871,
                                            "name": "mySettings"
                                        }
                                    ]
                                },
                                "property": {
                                    "type": "Identifier",
                                    "start": 3878,
                                    "end": 3884,
                                    "name": "reduce"
                                },
                                "computed": false
                            },
                            "arguments": [
                                {
                                    "type": "FunctionExpression",
                                    "start": 3885,
                                    "end": 4438,
                                    "id": null,
                                    "generator": false,
                                    "expression": false,
                                    "params": [
                                        {
                                            "type": "Identifier",
                                            "start": 3895,
                                            "end": 3908,
                                            "name": "previousValue"
                                        },
                                        {
                                            "type": "Identifier",
                                            "start": 3910,
                                            "end": 3913,
                                            "name": "key"
                                        }
                                    ],
                                    "body": {
                                        "type": "BlockStatement",
                                        "start": 3915,
                                        "end": 4438,
                                        "body": [
                                            {
                                                "type": "VariableDeclaration",
                                                "start": 3922,
                                                "end": 3950,
                                                "declarations": [
                                                    {
                                                        "type": "VariableDeclarator",
                                                        "start": 3926,
                                                        "end": 3949,
                                                        "id": {
                                                            "type": "Identifier",
                                                            "start": 3926,
                                                            "end": 3931,
                                                            "name": "value"
                                                        },
                                                        "init": {
                                                            "type": "MemberExpression",
                                                            "start": 3934,
                                                            "end": 3949,
                                                            "object": {
                                                                "type": "Identifier",
                                                                "start": 3934,
                                                                "end": 3944,
                                                                "name": "mySettings"
                                                            },
                                                            "property": {
                                                                "type": "Identifier",
                                                                "start": 3945,
                                                                "end": 3948,
                                                                "name": "key"
                                                            },
                                                            "computed": true
                                                        }
                                                    }
                                                ],
                                                "kind": "var"
                                            },
                                            {
                                                "type": "ExpressionStatement",
                                                "start": 3957,
                                                "end": 4003,
                                                "expression": {
                                                    "type": "AssignmentExpression",
                                                    "start": 3957,
                                                    "end": 4002,
                                                    "operator": "=",
                                                    "left": {
                                                        "type": "MemberExpression",
                                                        "start": 3957,
                                                        "end": 3975,
                                                        "object": {
                                                            "type": "Identifier",
                                                            "start": 3957,
                                                            "end": 3970,
                                                            "name": "previousValue"
                                                        },
                                                        "property": {
                                                            "type": "Identifier",
                                                            "start": 3971,
                                                            "end": 3974,
                                                            "name": "key"
                                                        },
                                                        "computed": true
                                                    },
                                                    "right": {
                                                        "type": "LogicalExpression",
                                                        "start": 3978,
                                                        "end": 4002,
                                                        "left": {
                                                            "type": "MemberExpression",
                                                            "start": 3978,
                                                            "end": 3996,
                                                            "object": {
                                                                "type": "Identifier",
                                                                "start": 3978,
                                                                "end": 3991,
                                                                "name": "previousValue"
                                                            },
                                                            "property": {
                                                                "type": "Identifier",
                                                                "start": 3992,
                                                                "end": 3995,
                                                                "name": "key"
                                                            },
                                                            "computed": true
                                                        },
                                                        "operator": "||",
                                                        "right": {
                                                            "type": "ArrayExpression",
                                                            "start": 4000,
                                                            "end": 4002,
                                                            "elements": []
                                                        }
                                                    }
                                                }
                                            },
                                            {
                                                "type": "IfStatement",
                                                "start": 4010,
                                                "end": 4405,
                                                "test": {
                                                    "type": "LogicalExpression",
                                                    "start": 4021,
                                                    "end": 4145,
                                                    "left": {
                                                        "type": "LogicalExpression",
                                                        "start": 4022,
                                                        "end": 4102,
                                                        "left": {
                                                            "type": "CallExpression",
                                                            "start": 4022,
                                                            "end": 4054,
                                                            "callee": {
                                                                "type": "MemberExpression",
                                                                "start": 4022,
                                                                "end": 4047,
                                                                "object": {
                                                                    "type": "MemberExpression",
                                                                    "start": 4022,
                                                                    "end": 4040,
                                                                    "object": {
                                                                        "type": "Identifier",
                                                                        "start": 4022,
                                                                        "end": 4035,
                                                                        "name": "testFramework"
                                                                    },
                                                                    "property": {
                                                                        "type": "Identifier",
                                                                        "start": 4036,
                                                                        "end": 4040,
                                                                        "name": "type"
                                                                    },
                                                                    "computed": false
                                                                },
                                                                "property": {
                                                                    "type": "Identifier",
                                                                    "start": 4041,
                                                                    "end": 4047,
                                                                    "name": "string"
                                                                },
                                                                "computed": false
                                                            },
                                                            "arguments": [
                                                                {
                                                                    "type": "Identifier",
                                                                    "start": 4048,
                                                                    "end": 4053,
                                                                    "name": "value"
                                                                }
                                                            ]
                                                        },
                                                        "operator": "&&",
                                                        "right": {
                                                            "type": "CallExpression",
                                                            "start": 4058,
                                                            "end": 4102,
                                                            "callee": {
                                                                "type": "MemberExpression",
                                                                "start": 4058,
                                                                "end": 4088,
                                                                "object": {
                                                                    "type": "MemberExpression",
                                                                    "start": 4058,
                                                                    "end": 4082,
                                                                    "object": {
                                                                        "type": "MemberExpression",
                                                                        "start": 4058,
                                                                        "end": 4078,
                                                                        "object": {
                                                                            "type": "Identifier",
                                                                            "start": 4058,
                                                                            "end": 4071,
                                                                            "name": "testFramework"
                                                                        },
                                                                        "property": {
                                                                            "type": "Identifier",
                                                                            "start": 4072,
                                                                            "end": 4078,
                                                                            "name": "string"
                                                                        },
                                                                        "computed": false
                                                                    },
                                                                    "property": {
                                                                        "type": "Identifier",
                                                                        "start": 4079,
                                                                        "end": 4082,
                                                                        "name": "not"
                                                                    },
                                                                    "computed": false
                                                                },
                                                                "property": {
                                                                    "type": "Identifier",
                                                                    "start": 4083,
                                                                    "end": 4088,
                                                                    "name": "empty"
                                                                },
                                                                "computed": false
                                                            },
                                                            "arguments": [
                                                                {
                                                                    "type": "Identifier",
                                                                    "start": 4089,
                                                                    "end": 4094,
                                                                    "name": "value"
                                                                },
                                                                {
                                                                    "type": "Literal",
                                                                    "start": 4096,
                                                                    "end": 4101,
                                                                    "value": false,
                                                                    "raw": "false"
                                                                }
                                                            ]
                                                        }
                                                    },
                                                    "operator": "||",
                                                    "right": {
                                                        "type": "CallExpression",
                                                        "start": 4113,
                                                        "end": 4145,
                                                        "callee": {
                                                            "type": "MemberExpression",
                                                            "start": 4113,
                                                            "end": 4138,
                                                            "object": {
                                                                "type": "MemberExpression",
                                                                "start": 4113,
                                                                "end": 4131,
                                                                "object": {
                                                                    "type": "Identifier",
                                                                    "start": 4113,
                                                                    "end": 4126,
                                                                    "name": "testFramework"
                                                                },
                                                                "property": {
                                                                    "type": "Identifier",
                                                                    "start": 4127,
                                                                    "end": 4131,
                                                                    "name": "type"
                                                                },
                                                                "computed": false
                                                            },
                                                            "property": {
                                                                "type": "Identifier",
                                                                "start": 4132,
                                                                "end": 4138,
                                                                "name": "number"
                                                            },
                                                            "computed": false
                                                        },
                                                        "arguments": [
                                                            {
                                                                "type": "Identifier",
                                                                "start": 4139,
                                                                "end": 4144,
                                                                "name": "value"
                                                            }
                                                        ]
                                                    }
                                                },
                                                "consequent": {
                                                    "type": "BlockStatement",
                                                    "start": 4153,
                                                    "end": 4199,
                                                    "body": [
                                                        {
                                                            "type": "ExpressionStatement",
                                                            "start": 4161,
                                                            "end": 4192,
                                                            "expression": {
                                                                "type": "CallExpression",
                                                                "start": 4161,
                                                                "end": 4191,
                                                                "callee": {
                                                                    "type": "MemberExpression",
                                                                    "start": 4161,
                                                                    "end": 4184,
                                                                    "object": {
                                                                        "type": "MemberExpression",
                                                                        "start": 4161,
                                                                        "end": 4179,
                                                                        "object": {
                                                                            "type": "Identifier",
                                                                            "start": 4161,
                                                                            "end": 4174,
                                                                            "name": "previousValue"
                                                                        },
                                                                        "property": {
                                                                            "type": "Identifier",
                                                                            "start": 4175,
                                                                            "end": 4178,
                                                                            "name": "key"
                                                                        },
                                                                        "computed": true
                                                                    },
                                                                    "property": {
                                                                        "type": "Identifier",
                                                                        "start": 4180,
                                                                        "end": 4184,
                                                                        "name": "push"
                                                                    },
                                                                    "computed": false
                                                                },
                                                                "arguments": [
                                                                    {
                                                                        "type": "Identifier",
                                                                        "start": 4185,
                                                                        "end": 4190,
                                                                        "name": "value"
                                                                    }
                                                                ]
                                                            }
                                                        }
                                                    ]
                                                },
                                                "alternate": {
                                                    "type": "IfStatement",
                                                    "start": 4205,
                                                    "end": 4405,
                                                    "test": {
                                                        "type": "LogicalExpression",
                                                        "start": 4209,
                                                        "end": 4287,
                                                        "left": {
                                                            "type": "CallExpression",
                                                            "start": 4209,
                                                            "end": 4240,
                                                            "callee": {
                                                                "type": "MemberExpression",
                                                                "start": 4209,
                                                                "end": 4233,
                                                                "object": {
                                                                    "type": "MemberExpression",
                                                                    "start": 4209,
                                                                    "end": 4227,
                                                                    "object": {
                                                                        "type": "Identifier",
                                                                        "start": 4209,
                                                                        "end": 4222,
                                                                        "name": "testFramework"
                                                                    },
                                                                    "property": {
                                                                        "type": "Identifier",
                                                                        "start": 4223,
                                                                        "end": 4227,
                                                                        "name": "type"
                                                                    },
                                                                    "computed": false
                                                                },
                                                                "property": {
                                                                    "type": "Identifier",
                                                                    "start": 4228,
                                                                    "end": 4233,
                                                                    "name": "array"
                                                                },
                                                                "computed": false
                                                            },
                                                            "arguments": [
                                                                {
                                                                    "type": "Identifier",
                                                                    "start": 4234,
                                                                    "end": 4239,
                                                                    "name": "value"
                                                                }
                                                            ]
                                                        },
                                                        "operator": "&&",
                                                        "right": {
                                                            "type": "CallExpression",
                                                            "start": 4244,
                                                            "end": 4287,
                                                            "callee": {
                                                                "type": "MemberExpression",
                                                                "start": 4244,
                                                                "end": 4273,
                                                                "object": {
                                                                    "type": "MemberExpression",
                                                                    "start": 4244,
                                                                    "end": 4267,
                                                                    "object": {
                                                                        "type": "MemberExpression",
                                                                        "start": 4244,
                                                                        "end": 4263,
                                                                        "object": {
                                                                            "type": "Identifier",
                                                                            "start": 4244,
                                                                            "end": 4257,
                                                                            "name": "testFramework"
                                                                        },
                                                                        "property": {
                                                                            "type": "Identifier",
                                                                            "start": 4258,
                                                                            "end": 4263,
                                                                            "name": "array"
                                                                        },
                                                                        "computed": false
                                                                    },
                                                                    "property": {
                                                                        "type": "Identifier",
                                                                        "start": 4264,
                                                                        "end": 4267,
                                                                        "name": "not"
                                                                    },
                                                                    "computed": false
                                                                },
                                                                "property": {
                                                                    "type": "Identifier",
                                                                    "start": 4268,
                                                                    "end": 4273,
                                                                    "name": "empty"
                                                                },
                                                                "computed": false
                                                            },
                                                            "arguments": [
                                                                {
                                                                    "type": "Identifier",
                                                                    "start": 4274,
                                                                    "end": 4279,
                                                                    "name": "value"
                                                                },
                                                                {
                                                                    "type": "Literal",
                                                                    "start": 4281,
                                                                    "end": 4286,
                                                                    "value": false,
                                                                    "raw": "false"
                                                                }
                                                            ]
                                                        }
                                                    },
                                                    "consequent": {
                                                        "type": "BlockStatement",
                                                        "start": 4289,
                                                        "end": 4405,
                                                        "body": [
                                                            {
                                                                "type": "ExpressionStatement",
                                                                "start": 4297,
                                                                "end": 4398,
                                                                "expression": {
                                                                    "type": "CallExpression",
                                                                    "start": 4297,
                                                                    "end": 4397,
                                                                    "callee": {
                                                                        "type": "MemberExpression",
                                                                        "start": 4297,
                                                                        "end": 4306,
                                                                        "object": {
                                                                            "type": "Identifier",
                                                                            "start": 4297,
                                                                            "end": 4302,
                                                                            "name": "value"
                                                                        },
                                                                        "property": {
                                                                            "type": "Identifier",
                                                                            "start": 4303,
                                                                            "end": 4306,
                                                                            "name": "map"
                                                                        },
                                                                        "computed": false
                                                                    },
                                                                    "arguments": [
                                                                        {
                                                                            "type": "FunctionExpression",
                                                                            "start": 4307,
                                                                            "end": 4396,
                                                                            "id": null,
                                                                            "generator": false,
                                                                            "expression": false,
                                                                            "params": [
                                                                                {
                                                                                    "type": "Identifier",
                                                                                    "start": 4317,
                                                                                    "end": 4320,
                                                                                    "name": "obj"
                                                                                }
                                                                            ],
                                                                            "body": {
                                                                                "type": "BlockStatement",
                                                                                "start": 4322,
                                                                                "end": 4396,
                                                                                "body": [
                                                                                    {
                                                                                        "type": "ExpressionStatement",
                                                                                        "start": 4331,
                                                                                        "end": 4388,
                                                                                        "expression": {
                                                                                            "type": "CallExpression",
                                                                                            "start": 4331,
                                                                                            "end": 4387,
                                                                                            "callee": {
                                                                                                "type": "MemberExpression",
                                                                                                "start": 4331,
                                                                                                "end": 4354,
                                                                                                "object": {
                                                                                                    "type": "MemberExpression",
                                                                                                    "start": 4331,
                                                                                                    "end": 4349,
                                                                                                    "object": {
                                                                                                        "type": "Identifier",
                                                                                                        "start": 4331,
                                                                                                        "end": 4344,
                                                                                                        "name": "previousValue"
                                                                                                    },
                                                                                                    "property": {
                                                                                                        "type": "Identifier",
                                                                                                        "start": 4345,
                                                                                                        "end": 4348,
                                                                                                        "name": "key"
                                                                                                    },
                                                                                                    "computed": true
                                                                                                },
                                                                                                "property": {
                                                                                                    "type": "Identifier",
                                                                                                    "start": 4350,
                                                                                                    "end": 4354,
                                                                                                    "name": "push"
                                                                                                },
                                                                                                "computed": false
                                                                                            },
                                                                                            "arguments": [
                                                                                                {
                                                                                                    "type": "CallExpression",
                                                                                                    "start": 4355,
                                                                                                    "end": 4386,
                                                                                                    "callee": {
                                                                                                        "type": "MemberExpression",
                                                                                                        "start": 4355,
                                                                                                        "end": 4381,
                                                                                                        "object": {
                                                                                                            "type": "ArrayExpression",
                                                                                                            "start": 4355,
                                                                                                            "end": 4376,
                                                                                                            "elements": [
                                                                                                                {
                                                                                                                    "type": "MemberExpression",
                                                                                                                    "start": 4356,
                                                                                                                    "end": 4364,
                                                                                                                    "object": {
                                                                                                                        "type": "Identifier",
                                                                                                                        "start": 4356,
                                                                                                                        "end": 4359,
                                                                                                                        "name": "obj"
                                                                                                                    },
                                                                                                                    "property": {
                                                                                                                        "type": "Identifier",
                                                                                                                        "start": 4360,
                                                                                                                        "end": 4364,
                                                                                                                        "name": "name"
                                                                                                                    },
                                                                                                                    "computed": false
                                                                                                                },
                                                                                                                {
                                                                                                                    "type": "MemberExpression",
                                                                                                                    "start": 4366,
                                                                                                                    "end": 4375,
                                                                                                                    "object": {
                                                                                                                        "type": "Identifier",
                                                                                                                        "start": 4366,
                                                                                                                        "end": 4369,
                                                                                                                        "name": "obj"
                                                                                                                    },
                                                                                                                    "property": {
                                                                                                                        "type": "Identifier",
                                                                                                                        "start": 4370,
                                                                                                                        "end": 4375,
                                                                                                                        "name": "value"
                                                                                                                    },
                                                                                                                    "computed": false
                                                                                                                }
                                                                                                            ]
                                                                                                        },
                                                                                                        "property": {
                                                                                                            "type": "Identifier",
                                                                                                            "start": 4377,
                                                                                                            "end": 4381,
                                                                                                            "name": "join"
                                                                                                        },
                                                                                                        "computed": false
                                                                                                    },
                                                                                                    "arguments": [
                                                                                                        {
                                                                                                            "type": "Literal",
                                                                                                            "start": 4382,
                                                                                                            "end": 4385,
                                                                                                            "value": ":",
                                                                                                            "raw": "\":\""
                                                                                                        }
                                                                                                    ]
                                                                                                }
                                                                                            ]
                                                                                        }
                                                                                    }
                                                                                ]
                                                                            }
                                                                        }
                                                                    ]
                                                                }
                                                            }
                                                        ]
                                                    },
                                                    "alternate": null
                                                }
                                            },
                                            {
                                                "type": "ReturnStatement",
                                                "start": 4411,
                                                "end": 4432,
                                                "argument": {
                                                    "type": "Identifier",
                                                    "start": 4418,
                                                    "end": 4431,
                                                    "name": "previousValue"
                                                }
                                            }
                                        ]
                                    }
                                },
                                {
                                    "type": "Identifier",
                                    "start": 4440,
                                    "end": 4451,
                                    "name": "queryObject"
                                }
                            ]
                        }
                    },
                    {
                        "type": "ExpressionStatement",
                        "start": 4458,
                        "end": 4742,
                        "expression": {
                            "type": "CallExpression",
                            "start": 4458,
                            "end": 4741,
                            "callee": {
                                "type": "MemberExpression",
                                "start": 4458,
                                "end": 4496,
                                "object": {
                                    "type": "CallExpression",
                                    "start": 4458,
                                    "end": 4489,
                                    "callee": {
                                        "type": "MemberExpression",
                                        "start": 4458,
                                        "end": 4487,
                                        "object": {
                                            "type": "CallExpression",
                                            "start": 4458,
                                            "end": 4482,
                                            "callee": {
                                                "type": "MemberExpression",
                                                "start": 4458,
                                                "end": 4469,
                                                "object": {
                                                    "type": "Identifier",
                                                    "start": 4458,
                                                    "end": 4464,
                                                    "name": "Object"
                                                },
                                                "property": {
                                                    "type": "Identifier",
                                                    "start": 4465,
                                                    "end": 4469,
                                                    "name": "keys"
                                                },
                                                "computed": false
                                            },
                                            "arguments": [
                                                {
                                                    "type": "Identifier",
                                                    "start": 4470,
                                                    "end": 4481,
                                                    "name": "queryObject"
                                                }
                                            ]
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 4483,
                                            "end": 4487,
                                            "name": "sort"
                                        },
                                        "computed": false
                                    },
                                    "arguments": []
                                },
                                "property": {
                                    "type": "Identifier",
                                    "start": 4490,
                                    "end": 4496,
                                    "name": "reduce"
                                },
                                "computed": false
                            },
                            "arguments": [
                                {
                                    "type": "FunctionExpression",
                                    "start": 4497,
                                    "end": 4728,
                                    "id": null,
                                    "generator": false,
                                    "expression": false,
                                    "params": [
                                        {
                                            "type": "Identifier",
                                            "start": 4507,
                                            "end": 4518,
                                            "name": "_queryArray"
                                        },
                                        {
                                            "type": "Identifier",
                                            "start": 4520,
                                            "end": 4523,
                                            "name": "key"
                                        }
                                    ],
                                    "body": {
                                        "type": "BlockStatement",
                                        "start": 4525,
                                        "end": 4728,
                                        "body": [
                                            {
                                                "type": "VariableDeclaration",
                                                "start": 4531,
                                                "end": 4571,
                                                "declarations": [
                                                    {
                                                        "type": "VariableDeclarator",
                                                        "start": 4535,
                                                        "end": 4570,
                                                        "id": {
                                                            "type": "Identifier",
                                                            "start": 4535,
                                                            "end": 4551,
                                                            "name": "queryObjectValue"
                                                        },
                                                        "init": {
                                                            "type": "MemberExpression",
                                                            "start": 4554,
                                                            "end": 4570,
                                                            "object": {
                                                                "type": "Identifier",
                                                                "start": 4554,
                                                                "end": 4565,
                                                                "name": "queryObject"
                                                            },
                                                            "property": {
                                                                "type": "Identifier",
                                                                "start": 4566,
                                                                "end": 4569,
                                                                "name": "key"
                                                            },
                                                            "computed": true
                                                        }
                                                    }
                                                ],
                                                "kind": "var"
                                            },
                                            {
                                                "type": "ExpressionStatement",
                                                "start": 4576,
                                                "end": 4699,
                                                "expression": {
                                                    "type": "CallExpression",
                                                    "start": 4576,
                                                    "end": 4698,
                                                    "callee": {
                                                        "type": "MemberExpression",
                                                        "start": 4576,
                                                        "end": 4603,
                                                        "object": {
                                                            "type": "CallExpression",
                                                            "start": 4576,
                                                            "end": 4599,
                                                            "callee": {
                                                                "type": "MemberExpression",
                                                                "start": 4576,
                                                                "end": 4597,
                                                                "object": {
                                                                    "type": "Identifier",
                                                                    "start": 4576,
                                                                    "end": 4592,
                                                                    "name": "queryObjectValue"
                                                                },
                                                                "property": {
                                                                    "type": "Identifier",
                                                                    "start": 4593,
                                                                    "end": 4597,
                                                                    "name": "sort"
                                                                },
                                                                "computed": false
                                                            },
                                                            "arguments": []
                                                        },
                                                        "property": {
                                                            "type": "Identifier",
                                                            "start": 4600,
                                                            "end": 4603,
                                                            "name": "map"
                                                        },
                                                        "computed": false
                                                    },
                                                    "arguments": [
                                                        {
                                                            "type": "FunctionExpression",
                                                            "start": 4604,
                                                            "end": 4697,
                                                            "id": null,
                                                            "generator": false,
                                                            "expression": false,
                                                            "params": [
                                                                {
                                                                    "type": "Identifier",
                                                                    "start": 4614,
                                                                    "end": 4619,
                                                                    "name": "value"
                                                                }
                                                            ],
                                                            "body": {
                                                                "type": "BlockStatement",
                                                                "start": 4621,
                                                                "end": 4697,
                                                                "body": [
                                                                    {
                                                                        "type": "ExpressionStatement",
                                                                        "start": 4628,
                                                                        "end": 4691,
                                                                        "expression": {
                                                                            "type": "CallExpression",
                                                                            "start": 4628,
                                                                            "end": 4690,
                                                                            "callee": {
                                                                                "type": "MemberExpression",
                                                                                "start": 4628,
                                                                                "end": 4644,
                                                                                "object": {
                                                                                    "type": "Identifier",
                                                                                    "start": 4628,
                                                                                    "end": 4639,
                                                                                    "name": "_queryArray"
                                                                                },
                                                                                "property": {
                                                                                    "type": "Identifier",
                                                                                    "start": 4640,
                                                                                    "end": 4644,
                                                                                    "name": "push"
                                                                                },
                                                                                "computed": false
                                                                            },
                                                                            "arguments": [
                                                                                {
                                                                                    "type": "ObjectExpression",
                                                                                    "start": 4645,
                                                                                    "end": 4689,
                                                                                    "properties": [
                                                                                        {
                                                                                            "type": "Property",
                                                                                            "start": 4653,
                                                                                            "end": 4662,
                                                                                            "method": false,
                                                                                            "shorthand": false,
                                                                                            "computed": false,
                                                                                            "key": {
                                                                                                "type": "Identifier",
                                                                                                "start": 4653,
                                                                                                "end": 4657,
                                                                                                "name": "name"
                                                                                            },
                                                                                            "value": {
                                                                                                "type": "Identifier",
                                                                                                "start": 4659,
                                                                                                "end": 4662,
                                                                                                "name": "key"
                                                                                            },
                                                                                            "kind": "init"
                                                                                        },
                                                                                        {
                                                                                            "type": "Property",
                                                                                            "start": 4670,
                                                                                            "end": 4682,
                                                                                            "method": false,
                                                                                            "shorthand": false,
                                                                                            "computed": false,
                                                                                            "key": {
                                                                                                "type": "Identifier",
                                                                                                "start": 4670,
                                                                                                "end": 4675,
                                                                                                "name": "value"
                                                                                            },
                                                                                            "value": {
                                                                                                "type": "Identifier",
                                                                                                "start": 4677,
                                                                                                "end": 4682,
                                                                                                "name": "value"
                                                                                            },
                                                                                            "kind": "init"
                                                                                        }
                                                                                    ]
                                                                                }
                                                                            ]
                                                                        }
                                                                    }
                                                                ]
                                                            }
                                                        }
                                                    ]
                                                }
                                            },
                                            {
                                                "type": "ReturnStatement",
                                                "start": 4704,
                                                "end": 4723,
                                                "argument": {
                                                    "type": "Identifier",
                                                    "start": 4711,
                                                    "end": 4722,
                                                    "name": "_queryArray"
                                                }
                                            }
                                        ]
                                    }
                                },
                                {
                                    "type": "Identifier",
                                    "start": 4730,
                                    "end": 4740,
                                    "name": "queryArray"
                                }
                            ]
                        }
                    },
                    {
                        "type": "ReturnStatement",
                        "start": 4747,
                        "end": 4765,
                        "argument": {
                            "type": "Identifier",
                            "start": 4754,
                            "end": 4764,
                            "name": "queryArray"
                        }
                    }
                ]
            }
        },
        "kind": "init"
    },
    {
        "type": "Property",
        "start": 4974,
        "end": 5105,
        "method": false,
        "shorthand": false,
        "computed": false,
        "key": {
            "type": "Literal",
            "start": 4974,
            "end": 4982,
            "value": "genKey",
            "raw": "\"genKey\""
        },
        "value": {
            "type": "FunctionExpression",
            "start": 4984,
            "end": 5105,
            "id": null,
            "generator": false,
            "expression": false,
            "params": [
                {
                    "type": "Identifier",
                    "start": 4994,
                    "end": 5002,
                    "name": "settings"
                }
            ],
            "body": {
                "type": "BlockStatement",
                "start": 5004,
                "end": 5105,
                "body": [
                    {
                        "type": "VariableDeclaration",
                        "start": 5009,
                        "end": 5055,
                        "declarations": [
                            {
                                "type": "VariableDeclarator",
                                "start": 5013,
                                "end": 5054,
                                "id": {
                                    "type": "Identifier",
                                    "start": 5013,
                                    "end": 5024,
                                    "name": "queryObject"
                                },
                                "init": {
                                    "type": "CallExpression",
                                    "start": 5027,
                                    "end": 5054,
                                    "callee": {
                                        "type": "MemberExpression",
                                        "start": 5027,
                                        "end": 5044,
                                        "object": {
                                            "type": "ThisExpression",
                                            "start": 5027,
                                            "end": 5031
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 5032,
                                            "end": 5044,
                                            "name": "genQueryData"
                                        },
                                        "computed": false
                                    },
                                    "arguments": [
                                        {
                                            "type": "Identifier",
                                            "start": 5045,
                                            "end": 5053,
                                            "name": "settings"
                                        }
                                    ]
                                }
                            }
                        ],
                        "kind": "var"
                    },
                    {
                        "type": "ReturnStatement",
                        "start": 5059,
                        "end": 5101,
                        "argument": {
                            "type": "CallExpression",
                            "start": 5066,
                            "end": 5100,
                            "callee": {
                                "type": "MemberExpression",
                                "start": 5066,
                                "end": 5098,
                                "object": {
                                    "type": "CallExpression",
                                    "start": 5066,
                                    "end": 5086,
                                    "callee": {
                                        "type": "MemberExpression",
                                        "start": 5066,
                                        "end": 5073,
                                        "object": {
                                            "type": "Identifier",
                                            "start": 5066,
                                            "end": 5067,
                                            "name": "$"
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 5068,
                                            "end": 5073,
                                            "name": "param"
                                        },
                                        "computed": false
                                    },
                                    "arguments": [
                                        {
                                            "type": "Identifier",
                                            "start": 5074,
                                            "end": 5085,
                                            "name": "queryObject"
                                        }
                                    ]
                                },
                                "property": {
                                    "type": "Identifier",
                                    "start": 5087,
                                    "end": 5098,
                                    "name": "toLowerCase"
                                },
                                "computed": false
                            },
                            "arguments": []
                        }
                    }
                ]
            }
        },
        "kind": "init"
    },
    {
        "type": "Property",
        "start": 5356,
        "end": 5905,
        "method": false,
        "shorthand": false,
        "computed": false,
        "key": {
            "type": "Literal",
            "start": 5356,
            "end": 5375,
            "value": "performApiRequest",
            "raw": "\"performApiRequest\""
        },
        "value": {
            "type": "FunctionExpression",
            "start": 5377,
            "end": 5905,
            "id": null,
            "generator": false,
            "expression": false,
            "params": [
                {
                    "type": "Identifier",
                    "start": 5387,
                    "end": 5395,
                    "name": "settings"
                }
            ],
            "body": {
                "type": "BlockStatement",
                "start": 5397,
                "end": 5905,
                "body": [
                    {
                        "type": "VariableDeclaration",
                        "start": 5402,
                        "end": 5487,
                        "declarations": [
                            {
                                "type": "VariableDeclarator",
                                "start": 5406,
                                "end": 5440,
                                "id": {
                                    "type": "Identifier",
                                    "start": 5406,
                                    "end": 5410,
                                    "name": "data"
                                },
                                "init": {
                                    "type": "CallExpression",
                                    "start": 5413,
                                    "end": 5440,
                                    "callee": {
                                        "type": "MemberExpression",
                                        "start": 5413,
                                        "end": 5430,
                                        "object": {
                                            "type": "ThisExpression",
                                            "start": 5413,
                                            "end": 5417
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 5418,
                                            "end": 5430,
                                            "name": "genQueryData"
                                        },
                                        "computed": false
                                    },
                                    "arguments": [
                                        {
                                            "type": "Identifier",
                                            "start": 5431,
                                            "end": 5439,
                                            "name": "settings"
                                        }
                                    ]
                                }
                            },
                            {
                                "type": "VariableDeclarator",
                                "start": 5446,
                                "end": 5469,
                                "id": {
                                    "type": "Identifier",
                                    "start": 5446,
                                    "end": 5454,
                                    "name": "deferred"
                                },
                                "init": {
                                    "type": "CallExpression",
                                    "start": 5457,
                                    "end": 5469,
                                    "callee": {
                                        "type": "MemberExpression",
                                        "start": 5457,
                                        "end": 5467,
                                        "object": {
                                            "type": "Identifier",
                                            "start": 5457,
                                            "end": 5458,
                                            "name": "$"
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 5459,
                                            "end": 5467,
                                            "name": "Deferred"
                                        },
                                        "computed": false
                                    },
                                    "arguments": []
                                }
                            },
                            {
                                "type": "VariableDeclarator",
                                "start": 5475,
                                "end": 5486,
                                "id": {
                                    "type": "Identifier",
                                    "start": 5475,
                                    "end": 5479,
                                    "name": "self"
                                },
                                "init": {
                                    "type": "ThisExpression",
                                    "start": 5482,
                                    "end": 5486
                                }
                            }
                        ],
                        "kind": "var"
                    },
                    {
                        "type": "TryStatement",
                        "start": 5492,
                        "end": 5539,
                        "block": {
                            "type": "BlockStatement",
                            "start": 5496,
                            "end": 5526,
                            "body": [
                                {
                                    "type": "ExpressionStatement",
                                    "start": 5502,
                                    "end": 5521,
                                    "expression": {
                                        "type": "CallExpression",
                                        "start": 5502,
                                        "end": 5520,
                                        "callee": {
                                            "type": "MemberExpression",
                                            "start": 5502,
                                            "end": 5518,
                                            "object": {
                                                "type": "MemberExpression",
                                                "start": 5502,
                                                "end": 5512,
                                                "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5502,
                                                    "end": 5506
                                                },
                                                "property": {
                                                    "type": "Identifier",
                                                    "start": 5507,
                                                    "end": 5512,
                                                    "name": "jqXhr"
                                                },
                                                "computed": false
                                            },
                                            "property": {
                                                "type": "Identifier",
                                                "start": 5513,
                                                "end": 5518,
                                                "name": "abort"
                                            },
                                            "computed": false
                                        },
                                        "arguments": []
                                    }
                                }
                            ]
                        },
                        "handler": {
                            "type": "CatchClause",
                            "start": 5527,
                            "end": 5539,
                            "param": {
                                "type": "Identifier",
                                "start": 5534,
                                "end": 5535,
                                "name": "_"
                            },
                            "body": {
                                "type": "BlockStatement",
                                "start": 5537,
                                "end": 5539,
                                "body": []
                            }
                        },
                        "finalizer": null
                    },
                    {
                        "type": "ExpressionStatement",
                        "start": 5544,
                        "end": 5870,
                        "expression": {
                            "type": "AssignmentExpression",
                            "start": 5544,
                            "end": 5869,
                            "operator": "=",
                            "left": {
                                "type": "MemberExpression",
                                "start": 5544,
                                "end": 5554,
                                "object": {
                                    "type": "ThisExpression",
                                    "start": 5544,
                                    "end": 5548
                                },
                                "property": {
                                    "type": "Identifier",
                                    "start": 5549,
                                    "end": 5554,
                                    "name": "jqXhr"
                                },
                                "computed": false
                            },
                            "right": {
                                "type": "CallExpression",
                                "start": 5557,
                                "end": 5869,
                                "callee": {
                                    "type": "MemberExpression",
                                    "start": 5557,
                                    "end": 5801,
                                    "object": {
                                        "type": "CallExpression",
                                        "start": 5557,
                                        "end": 5796,
                                        "callee": {
                                            "type": "MemberExpression",
                                            "start": 5557,
                                            "end": 5662,
                                            "object": {
                                                "type": "CallExpression",
                                                "start": 5557,
                                                "end": 5657,
                                                "callee": {
                                                    "type": "MemberExpression",
                                                    "start": 5557,
                                                    "end": 5563,
                                                    "object": {
                                                        "type": "Identifier",
                                                        "start": 5557,
                                                        "end": 5558,
                                                        "name": "$"
                                                    },
                                                    "property": {
                                                        "type": "Identifier",
                                                        "start": 5559,
                                                        "end": 5563,
                                                        "name": "ajax"
                                                    },
                                                    "computed": false
                                                },
                                                "arguments": [
                                                    {
                                                        "type": "ObjectExpression",
                                                        "start": 5564,
                                                        "end": 5656,
                                                        "properties": [
                                                            {
                                                                "type": "Property",
                                                                "start": 5570,
                                                                "end": 5585,
                                                                "method": false,
                                                                "shorthand": false,
                                                                "computed": false,
                                                                "key": {
                                                                    "type": "Literal",
                                                                    "start": 5570,
                                                                    "end": 5579,
                                                                    "value": "context",
                                                                    "raw": "\"context\""
                                                                },
                                                                "value": {
                                                                    "type": "ThisExpression",
                                                                    "start": 5581,
                                                                    "end": 5585
                                                                },
                                                                "kind": "init"
                                                            },
                                                            {
                                                                "type": "Property",
                                                                "start": 5591,
                                                                "end": 5603,
                                                                "method": false,
                                                                "shorthand": false,
                                                                "computed": false,
                                                                "key": {
                                                                    "type": "Literal",
                                                                    "start": 5591,
                                                                    "end": 5597,
                                                                    "value": "data",
                                                                    "raw": "\"data\""
                                                                },
                                                                "value": {
                                                                    "type": "Identifier",
                                                                    "start": 5599,
                                                                    "end": 5603,
                                                                    "name": "data"
                                                                },
                                                                "kind": "init"
                                                            },
                                                            {
                                                                "type": "Property",
                                                                "start": 5609,
                                                                "end": 5627,
                                                                "method": false,
                                                                "shorthand": false,
                                                                "computed": false,
                                                                "key": {
                                                                    "type": "Literal",
                                                                    "start": 5609,
                                                                    "end": 5619,
                                                                    "value": "dataType",
                                                                    "raw": "\"dataType\""
                                                                },
                                                                "value": {
                                                                    "type": "Literal",
                                                                    "start": 5621,
                                                                    "end": 5627,
                                                                    "value": "json",
                                                                    "raw": "\"json\""
                                                                },
                                                                "kind": "init"
                                                            },
                                                            {
                                                                "type": "Property",
                                                                "start": 5633,
                                                                "end": 5651,
                                                                "method": false,
                                                                "shorthand": false,
                                                                "computed": false,
                                                                "key": {
                                                                    "type": "Literal",
                                                                    "start": 5633,
                                                                    "end": 5638,
                                                                    "value": "url",
                                                                    "raw": "\"url\""
                                                                },
                                                                "value": {
                                                                    "type": "MemberExpression",
                                                                    "start": 5640,
                                                                    "end": 5651,
                                                                    "object": {
                                                                        "type": "ThisExpression",
                                                                        "start": 5640,
                                                                        "end": 5644
                                                                    },
                                                                    "property": {
                                                                        "type": "Identifier",
                                                                        "start": 5645,
                                                                        "end": 5651,
                                                                        "name": "apiUrl"
                                                                    },
                                                                    "computed": false
                                                                },
                                                                "kind": "init"
                                                            }
                                                        ]
                                                    }
                                                ]
                                            },
                                            "property": {
                                                "type": "Identifier",
                                                "start": 5658,
                                                "end": 5662,
                                                "name": "done"
                                            },
                                            "computed": false
                                        },
                                        "arguments": [
                                            {
                                                "type": "FunctionExpression",
                                                "start": 5663,
                                                "end": 5795,
                                                "id": null,
                                                "generator": false,
                                                "expression": false,
                                                "params": [
                                                    {
                                                        "type": "Identifier",
                                                        "start": 5673,
                                                        "end": 5681,
                                                        "name": "response"
                                                    }
                                                ],
                                                "body": {
                                                    "type": "BlockStatement",
                                                    "start": 5683,
                                                    "end": 5795,
                                                    "body": [
                                                        {
                                                            "type": "VariableDeclaration",
                                                            "start": 5689,
                                                            "end": 5746,
                                                            "declarations": [
                                                                {
                                                                    "type": "VariableDeclarator",
                                                                    "start": 5693,
                                                                    "end": 5745,
                                                                    "id": {
                                                                        "type": "Identifier",
                                                                        "start": 5693,
                                                                        "end": 5710,
                                                                        "name": "processedResponse"
                                                                    },
                                                                    "init": {
                                                                        "type": "CallExpression",
                                                                        "start": 5713,
                                                                        "end": 5745,
                                                                        "callee": {
                                                                            "type": "MemberExpression",
                                                                            "start": 5713,
                                                                            "end": 5735,
                                                                            "object": {
                                                                                "type": "Identifier",
                                                                                "start": 5713,
                                                                                "end": 5717,
                                                                                "name": "self"
                                                                            },
                                                                            "property": {
                                                                                "type": "Identifier",
                                                                                "start": 5718,
                                                                                "end": 5735,
                                                                                "name": "processApiRequest"
                                                                            },
                                                                            "computed": false
                                                                        },
                                                                        "arguments": [
                                                                            {
                                                                                "type": "Identifier",
                                                                                "start": 5736,
                                                                                "end": 5744,
                                                                                "name": "response"
                                                                            }
                                                                        ]
                                                                    }
                                                                }
                                                            ],
                                                            "kind": "var"
                                                        },
                                                        {
                                                            "type": "ExpressionStatement",
                                                            "start": 5752,
                                                            "end": 5790,
                                                            "expression": {
                                                                "type": "CallExpression",
                                                                "start": 5752,
                                                                "end": 5789,
                                                                "callee": {
                                                                    "type": "MemberExpression",
                                                                    "start": 5752,
                                                                    "end": 5768,
                                                                    "object": {
                                                                        "type": "Identifier",
                                                                        "start": 5752,
                                                                        "end": 5760,
                                                                        "name": "deferred"
                                                                    },
                                                                    "property": {
                                                                        "type": "Identifier",
                                                                        "start": 5761,
                                                                        "end": 5768,
                                                                        "name": "resolve"
                                                                    },
                                                                    "computed": false
                                                                },
                                                                "arguments": [
                                                                    {
                                                                        "type": "ArrayExpression",
                                                                        "start": 5769,
                                                                        "end": 5788,
                                                                        "elements": [
                                                                            {
                                                                                "type": "Identifier",
                                                                                "start": 5770,
                                                                                "end": 5787,
                                                                                "name": "processedResponse"
                                                                            }
                                                                        ]
                                                                    }
                                                                ]
                                                            }
                                                        }
                                                    ]
                                                }
                                            }
                                        ]
                                    },
                                    "property": {
                                        "type": "Identifier",
                                        "start": 5797,
                                        "end": 5801,
                                        "name": "fail"
                                    },
                                    "computed": false
                                },
                                "arguments": [
                                    {
                                        "type": "FunctionExpression",
                                        "start": 5802,
                                        "end": 5868,
                                        "id": null,
                                        "generator": false,
                                        "expression": false,
                                        "params": [
                                            {
                                                "type": "Identifier",
                                                "start": 5812,
                                                "end": 5817,
                                                "name": "jqXhr"
                                            }
                                        ],
                                        "body": {
                                            "type": "BlockStatement",
                                            "start": 5819,
                                            "end": 5868,
                                            "body": [
                                                {
                                                    "type": "ExpressionStatement",
                                                    "start": 5825,
                                                    "end": 5863,
                                                    "expression": {
                                                        "type": "CallExpression",
                                                        "start": 5825,
                                                        "end": 5862,
                                                        "callee": {
                                                            "type": "MemberExpression",
                                                            "start": 5825,
                                                            "end": 5840,
                                                            "object": {
                                                                "type": "Identifier",
                                                                "start": 5825,
                                                                "end": 5833,
                                                                "name": "deferred"
                                                            },
                                                            "property": {
                                                                "type": "Identifier",
                                                                "start": 5834,
                                                                "end": 5840,
                                                                "name": "reject"
                                                            },
                                                            "computed": false
                                                        },
                                                        "arguments": [
                                                            {
                                                                "type": "ArrayExpression",
                                                                "start": 5841,
                                                                "end": 5861,
                                                                "elements": [
                                                                    {
                                                                        "type": "MemberExpression",
                                                                        "start": 5842,
                                                                        "end": 5860,
                                                                        "object": {
                                                                            "type": "Identifier",
                                                                            "start": 5842,
                                                                            "end": 5847,
                                                                            "name": "jqXhr"
                                                                        },
                                                                        "property": {
                                                                            "type": "Identifier",
                                                                            "start": 5848,
                                                                            "end": 5860,
                                                                            "name": "responseText"
                                                                        },
                                                                        "computed": false
                                                                    }
                                                                ]
                                                            }
                                                        ]
                                                    }
                                                }
                                            ]
                                        }
                                    }
                                ]
                            }
                        }
                    },
                    {
                        "type": "ReturnStatement",
                        "start": 5875,
                        "end": 5901,
                        "argument": {
                            "type": "CallExpression",
                            "start": 5882,
                            "end": 5900,
                            "callee": {
                                "type": "MemberExpression",
                                "start": 5882,
                                "end": 5898,
                                "object": {
                                    "type": "Identifier",
                                    "start": 5882,
                                    "end": 5890,
                                    "name": "deferred"
                                },
                                "property": {
                                    "type": "Identifier",
                                    "start": 5891,
                                    "end": 5898,
                                    "name": "promise"
                                },
                                "computed": false
                            },
                            "arguments": []
                        }
                    }
                ]
            }
        },
        "kind": "init"
    },
    {
        "type": "Property",
        "start": 6134,
        "end": 6490,
        "method": false,
        "shorthand": false,
        "computed": false,
        "key": {
            "type": "Literal",
            "start": 6134,
            "end": 6153,
            "value": "processApiRequest",
            "raw": "\"processApiRequest\""
        },
        "value": {
            "type": "FunctionExpression",
            "start": 6155,
            "end": 6490,
            "id": null,
            "generator": false,
            "expression": false,
            "params": [
                {
                    "type": "Identifier",
                    "start": 6165,
                    "end": 6177,
                    "name": "searchResult"
                }
            ],
            "body": {
                "type": "BlockStatement",
                "start": 6179,
                "end": 6490,
                "body": [
                    {
                        "type": "VariableDeclaration",
                        "start": 6184,
                        "end": 6286,
                        "declarations": [
                            {
                                "type": "VariableDeclarator",
                                "start": 6188,
                                "end": 6234,
                                "id": {
                                    "type": "Identifier",
                                    "start": 6188,
                                    "end": 6196,
                                    "name": "defaults"
                                },
                                "init": {
                                    "type": "ObjectExpression",
                                    "start": 6199,
                                    "end": 6234,
                                    "properties": [
                                        {
                                            "type": "Property",
                                            "start": 6200,
                                            "end": 6214,
                                            "method": false,
                                            "shorthand": false,
                                            "computed": false,
                                            "key": {
                                                "type": "Literal",
                                                "start": 6200,
                                                "end": 6210,
                                                "value": "products",
                                                "raw": "\"products\""
                                            },
                                            "value": {
                                                "type": "ArrayExpression",
                                                "start": 6212,
                                                "end": 6214,
                                                "elements": []
                                            },
                                            "kind": "init"
                                        },
                                        {
                                            "type": "Property",
                                            "start": 6216,
                                            "end": 6233,
                                            "method": false,
                                            "shorthand": false,
                                            "computed": false,
                                            "key": {
                                                "type": "Literal",
                                                "start": 6216,
                                                "end": 6229,
                                                "value": "productKeys",
                                                "raw": "\"productKeys\""
                                            },
                                            "value": {
                                                "type": "ArrayExpression",
                                                "start": 6231,
                                                "end": 6233,
                                                "elements": []
                                            },
                                            "kind": "init"
                                        }
                                    ]
                                }
                            },
                            {
                                "type": "VariableDeclarator",
                                "start": 6240,
                                "end": 6285,
                                "id": {
                                    "type": "Identifier",
                                    "start": 6240,
                                    "end": 6244,
                                    "name": "data"
                                },
                                "init": {
                                    "type": "CallExpression",
                                    "start": 6247,
                                    "end": 6285,
                                    "callee": {
                                        "type": "MemberExpression",
                                        "start": 6247,
                                        "end": 6255,
                                        "object": {
                                            "type": "Identifier",
                                            "start": 6247,
                                            "end": 6248,
                                            "name": "$"
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 6249,
                                            "end": 6255,
                                            "name": "extend"
                                        },
                                        "computed": false
                                    },
                                    "arguments": [
                                        {
                                            "type": "Literal",
                                            "start": 6256,
                                            "end": 6260,
                                            "value": true,
                                            "raw": "true"
                                        },
                                        {
                                            "type": "Identifier",
                                            "start": 6262,
                                            "end": 6270,
                                            "name": "defaults"
                                        },
                                        {
                                            "type": "Identifier",
                                            "start": 6272,
                                            "end": 6284,
                                            "name": "searchResult"
                                        }
                                    ]
                                }
                            }
                        ],
                        "kind": "var"
                    },
                    {
                        "type": "ExpressionStatement",
                        "start": 6383,
                        "end": 6443,
                        "expression": {
                            "type": "AssignmentExpression",
                            "start": 6383,
                            "end": 6442,
                            "operator": "=",
                            "left": {
                                "type": "MemberExpression",
                                "start": 6383,
                                "end": 6399,
                                "object": {
                                    "type": "Identifier",
                                    "start": 6383,
                                    "end": 6387,
                                    "name": "data"
                                },
                                "property": {
                                    "type": "Identifier",
                                    "start": 6388,
                                    "end": 6399,
                                    "name": "productKeys"
                                },
                                "computed": false
                            },
                            "right": {
                                "type": "CallExpression",
                                "start": 6402,
                                "end": 6442,
                                "callee": {
                                    "type": "MemberExpression",
                                    "start": 6402,
                                    "end": 6427,
                                    "object": {
                                        "type": "ThisExpression",
                                        "start": 6402,
                                        "end": 6406
                                    },
                                    "property": {
                                        "type": "Identifier",
                                        "start": 6407,
                                        "end": 6427,
                                        "name": "addProductsToCatalog"
                                    },
                                    "computed": false
                                },
                                "arguments": [
                                    {
                                        "type": "MemberExpression",
                                        "start": 6428,
                                        "end": 6441,
                                        "object": {
                                            "type": "Identifier",
                                            "start": 6428,
                                            "end": 6432,
                                            "name": "data"
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 6433,
                                            "end": 6441,
                                            "name": "products"
                                        },
                                        "computed": false
                                    }
                                ]
                            }
                        }
                    },
                    {
                        "type": "ExpressionStatement",
                        "start": 6448,
                        "end": 6469,
                        "expression": {
                            "type": "UnaryExpression",
                            "start": 6448,
                            "end": 6468,
                            "operator": "delete",
                            "prefix": true,
                            "argument": {
                                "type": "MemberExpression",
                                "start": 6455,
                                "end": 6468,
                                "object": {
                                    "type": "Identifier",
                                    "start": 6455,
                                    "end": 6459,
                                    "name": "data"
                                },
                                "property": {
                                    "type": "Identifier",
                                    "start": 6460,
                                    "end": 6468,
                                    "name": "products"
                                },
                                "computed": false
                            }
                        }
                    },
                    {
                        "type": "ReturnStatement",
                        "start": 6474,
                        "end": 6486,
                        "argument": {
                            "type": "Identifier",
                            "start": 6481,
                            "end": 6485,
                            "name": "data"
                        }
                    }
                ]
            }
        },
        "kind": "init"
    },
    {
        "type": "Property",
        "start": 6673,
        "end": 6909,
        "method": false,
        "shorthand": false,
        "computed": false,
        "key": {
            "type": "Literal",
            "start": 6673,
            "end": 6694,
            "value": "addProductToCatalog",
            "raw": "\"addProductToCatalog\""
        },
        "value": {
            "type": "FunctionExpression",
            "start": 6696,
            "end": 6909,
            "id": null,
            "generator": false,
            "expression": false,
            "params": [
                {
                    "type": "Identifier",
                    "start": 6706,
                    "end": 6713,
                    "name": "product"
                }
            ],
            "body": {
                "type": "BlockStatement",
                "start": 6715,
                "end": 6909,
                "body": [
                    {
                        "type": "VariableDeclaration",
                        "start": 6720,
                        "end": 6755,
                        "declarations": [
                            {
                                "type": "VariableDeclarator",
                                "start": 6724,
                                "end": 6754,
                                "id": {
                                    "type": "Identifier",
                                    "start": 6724,
                                    "end": 6734,
                                    "name": "productKey"
                                },
                                "init": {
                                    "type": "MemberExpression",
                                    "start": 6737,
                                    "end": 6754,
                                    "object": {
                                        "type": "Identifier",
                                        "start": 6737,
                                        "end": 6744,
                                        "name": "product"
                                    },
                                    "property": {
                                        "type": "Identifier",
                                        "start": 6745,
                                        "end": 6754,
                                        "name": "productId"
                                    },
                                    "computed": false
                                }
                            }
                        ],
                        "kind": "var"
                    },
                    {
                        "type": "IfStatement",
                        "start": 6760,
                        "end": 6840,
                        "test": {
                            "type": "MemberExpression",
                            "start": 6764,
                            "end": 6785,
                            "object": {
                                "type": "Identifier",
                                "start": 6764,
                                "end": 6771,
                                "name": "product"
                            },
                            "property": {
                                "type": "Identifier",
                                "start": 6772,
                                "end": 6785,
                                "name": "dynDataImgSeq"
                            },
                            "computed": false
                        },
                        "consequent": {
                            "type": "BlockStatement",
                            "start": 6787,
                            "end": 6840,
                            "body": [
                                {
                                    "type": "ExpressionStatement",
                                    "start": 6793,
                                    "end": 6835,
                                    "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 6793,
                                        "end": 6834,
                                        "operator": "+=",
                                        "left": {
                                            "type": "Identifier",
                                            "start": 6793,
                                            "end": 6803,
                                            "name": "productKey"
                                        },
                                        "right": {
                                            "type": "BinaryExpression",
                                            "start": 6807,
                                            "end": 6834,
                                            "left": {
                                                "type": "Literal",
                                                "start": 6807,
                                                "end": 6810,
                                                "value": "_",
                                                "raw": "\"_\""
                                            },
                                            "operator": "+",
                                            "right": {
                                                "type": "MemberExpression",
                                                "start": 6813,
                                                "end": 6834,
                                                "object": {
                                                    "type": "Identifier",
                                                    "start": 6813,
                                                    "end": 6820,
                                                    "name": "product"
                                                },
                                                "property": {
                                                    "type": "Identifier",
                                                    "start": 6821,
                                                    "end": 6834,
                                                    "name": "dynDataImgSeq"
                                                },
                                                "computed": false
                                            }
                                        }
                                    }
                                }
                            ]
                        },
                        "alternate": null
                    },
                    {
                        "type": "ExpressionStatement",
                        "start": 6845,
                        "end": 6882,
                        "expression": {
                            "type": "AssignmentExpression",
                            "start": 6845,
                            "end": 6881,
                            "operator": "=",
                            "left": {
                                "type": "MemberExpression",
                                "start": 6845,
                                "end": 6871,
                                "object": {
                                    "type": "Identifier",
                                    "start": 6845,
                                    "end": 6859,
                                    "name": "productCatalog"
                                },
                                "property": {
                                    "type": "Identifier",
                                    "start": 6860,
                                    "end": 6870,
                                    "name": "productKey"
                                },
                                "computed": true
                            },
                            "right": {
                                "type": "Identifier",
                                "start": 6874,
                                "end": 6881,
                                "name": "product"
                            }
                        }
                    },
                    {
                        "type": "ReturnStatement",
                        "start": 6887,
                        "end": 6905,
                        "argument": {
                            "type": "Identifier",
                            "start": 6894,
                            "end": 6904,
                            "name": "productKey"
                        }
                    }
                ]
            }
        },
        "kind": "init"
    },
    {
        "type": "Property",
        "start": 7152,
        "end": 7363,
        "method": false,
        "shorthand": false,
        "computed": false,
        "key": {
            "type": "Literal",
            "start": 7152,
            "end": 7174,
            "value": "addProductsToCatalog",
            "raw": "\"addProductsToCatalog\""
        },
        "value": {
            "type": "FunctionExpression",
            "start": 7176,
            "end": 7363,
            "id": null,
            "generator": false,
            "expression": false,
            "params": [
                {
                    "type": "Identifier",
                    "start": 7186,
                    "end": 7194,
                    "name": "products"
                }
            ],
            "body": {
                "type": "BlockStatement",
                "start": 7196,
                "end": 7363,
                "body": [
                    {
                        "type": "ExpressionStatement",
                        "start": 7201,
                        "end": 7263,
                        "expression": {
                            "type": "AssignmentExpression",
                            "start": 7201,
                            "end": 7262,
                            "operator": "=",
                            "left": {
                                "type": "Identifier",
                                "start": 7201,
                                "end": 7209,
                                "name": "products"
                            },
                            "right": {
                                "type": "ConditionalExpression",
                                "start": 7212,
                                "end": 7262,
                                "test": {
                                    "type": "CallExpression",
                                    "start": 7212,
                                    "end": 7246,
                                    "callee": {
                                        "type": "MemberExpression",
                                        "start": 7212,
                                        "end": 7236,
                                        "object": {
                                            "type": "MemberExpression",
                                            "start": 7212,
                                            "end": 7230,
                                            "object": {
                                                "type": "Identifier",
                                                "start": 7212,
                                                "end": 7225,
                                                "name": "testFramework"
                                            },
                                            "property": {
                                                "type": "Identifier",
                                                "start": 7226,
                                                "end": 7230,
                                                "name": "type"
                                            },
                                            "computed": false
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 7231,
                                            "end": 7236,
                                            "name": "array"
                                        },
                                        "computed": false
                                    },
                                    "arguments": [
                                        {
                                            "type": "Identifier",
                                            "start": 7237,
                                            "end": 7245,
                                            "name": "products"
                                        }
                                    ]
                                },
                                "consequent": {
                                    "type": "Identifier",
                                    "start": 7249,
                                    "end": 7257,
                                    "name": "products"
                                },
                                "alternate": {
                                    "type": "ArrayExpression",
                                    "start": 7260,
                                    "end": 7262,
                                    "elements": []
                                }
                            }
                        }
                    },
                    {
                        "type": "VariableDeclaration",
                        "start": 7268,
                        "end": 7330,
                        "declarations": [
                            {
                                "type": "VariableDeclarator",
                                "start": 7272,
                                "end": 7329,
                                "id": {
                                    "type": "Identifier",
                                    "start": 7272,
                                    "end": 7288,
                                    "name": "addedProductKeys"
                                },
                                "init": {
                                    "type": "CallExpression",
                                    "start": 7291,
                                    "end": 7329,
                                    "callee": {
                                        "type": "MemberExpression",
                                        "start": 7291,
                                        "end": 7303,
                                        "object": {
                                            "type": "Identifier",
                                            "start": 7291,
                                            "end": 7299,
                                            "name": "products"
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 7300,
                                            "end": 7303,
                                            "name": "map"
                                        },
                                        "computed": false
                                    },
                                    "arguments": [
                                        {
                                            "type": "MemberExpression",
                                            "start": 7304,
                                            "end": 7328,
                                            "object": {
                                                "type": "ThisExpression",
                                                "start": 7304,
                                                "end": 7308
                                            },
                                            "property": {
                                                "type": "Identifier",
                                                "start": 7309,
                                                "end": 7328,
                                                "name": "addProductToCatalog"
                                            },
                                            "computed": false
                                        }
                                    ]
                                }
                            }
                        ],
                        "kind": "var"
                    },
                    {
                        "type": "ReturnStatement",
                        "start": 7335,
                        "end": 7359,
                        "argument": {
                            "type": "Identifier",
                            "start": 7342,
                            "end": 7358,
                            "name": "addedProductKeys"
                        }
                    }
                ]
            }
        },
        "kind": "init"
    },
    {
        "type": "Property",
        "start": 7523,
        "end": 7611,
        "method": false,
        "shorthand": false,
        "computed": false,
        "key": {
            "type": "Literal",
            "start": 7523,
            "end": 7537,
            "value": "getCatalogId",
            "raw": "\"getCatalogId\""
        },
        "value": {
            "type": "FunctionExpression",
            "start": 7539,
            "end": 7611,
            "id": null,
            "generator": false,
            "expression": false,
            "params": [
                {
                    "type": "Identifier",
                    "start": 7549,
                    "end": 7561,
                    "name": "departmentId"
                }
            ],
            "body": {
                "type": "BlockStatement",
                "start": 7563,
                "end": 7611,
                "body": [
                    {
                        "type": "ReturnStatement",
                        "start": 7568,
                        "end": 7607,
                        "argument": {
                            "type": "CallExpression",
                            "start": 7575,
                            "end": 7606,
                            "callee": {
                                "type": "MemberExpression",
                                "start": 7575,
                                "end": 7604,
                                "object": {
                                    "type": "CallExpression",
                                    "start": 7575,
                                    "end": 7598,
                                    "callee": {
                                        "type": "MemberExpression",
                                        "start": 7575,
                                        "end": 7593,
                                        "object": {
                                            "type": "Identifier",
                                            "start": 7575,
                                            "end": 7587,
                                            "name": "departmentId"
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 7588,
                                            "end": 7593,
                                            "name": "split"
                                        },
                                        "computed": false
                                    },
                                    "arguments": [
                                        {
                                            "type": "Literal",
                                            "start": 7594,
                                            "end": 7597,
                                            "value": "_",
                                            "raw": "\"_\""
                                        }
                                    ]
                                },
                                "property": {
                                    "type": "Identifier",
                                    "start": 7599,
                                    "end": 7604,
                                    "name": "shift"
                                },
                                "computed": false
                            },
                            "arguments": []
                        }
                    }
                ]
            }
        },
        "kind": "init"
    },
    {
        "type": "Property",
        "start": 7858,
        "end": 8210,
        "method": false,
        "shorthand": false,
        "computed": false,
        "key": {
            "type": "Literal",
            "start": 7858,
            "end": 7882,
            "value": "getProductsFromCatalog",
            "raw": "\"getProductsFromCatalog\""
        },
        "value": {
            "type": "FunctionExpression",
            "start": 7884,
            "end": 8210,
            "id": null,
            "generator": false,
            "expression": false,
            "params": [
                {
                    "type": "Identifier",
                    "start": 7894,
                    "end": 7905,
                    "name": "productKeys"
                }
            ],
            "body": {
                "type": "BlockStatement",
                "start": 7907,
                "end": 8210,
                "body": [
                    {
                        "type": "ExpressionStatement",
                        "start": 7912,
                        "end": 7974,
                        "expression": {
                            "type": "AssignmentExpression",
                            "start": 7912,
                            "end": 7973,
                            "operator": "=",
                            "left": {
                                "type": "Identifier",
                                "start": 7912,
                                "end": 7923,
                                "name": "productKeys"
                            },
                            "right": {
                                "type": "ConditionalExpression",
                                "start": 7926,
                                "end": 7973,
                                "test": {
                                    "type": "CallExpression",
                                    "start": 7927,
                                    "end": 7953,
                                    "callee": {
                                        "type": "MemberExpression",
                                        "start": 7927,
                                        "end": 7940,
                                        "object": {
                                            "type": "Identifier",
                                            "start": 7927,
                                            "end": 7932,
                                            "name": "Array"
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 7933,
                                            "end": 7940,
                                            "name": "isArray"
                                        },
                                        "computed": false
                                    },
                                    "arguments": [
                                        {
                                            "type": "Identifier",
                                            "start": 7941,
                                            "end": 7952,
                                            "name": "productKeys"
                                        }
                                    ]
                                },
                                "consequent": {
                                    "type": "Identifier",
                                    "start": 7957,
                                    "end": 7968,
                                    "name": "productKeys"
                                },
                                "alternate": {
                                    "type": "ArrayExpression",
                                    "start": 7971,
                                    "end": 7973,
                                    "elements": []
                                }
                            }
                        }
                    },
                    {
                        "type": "VariableDeclaration",
                        "start": 7979,
                        "end": 7997,
                        "declarations": [
                            {
                                "type": "VariableDeclarator",
                                "start": 7983,
                                "end": 7996,
                                "id": {
                                    "type": "Identifier",
                                    "start": 7983,
                                    "end": 7991,
                                    "name": "products"
                                },
                                "init": {
                                    "type": "ArrayExpression",
                                    "start": 7994,
                                    "end": 7996,
                                    "elements": []
                                }
                            }
                        ],
                        "kind": "var"
                    },
                    {
                        "type": "ExpressionStatement",
                        "start": 8002,
                        "end": 8185,
                        "expression": {
                            "type": "CallExpression",
                            "start": 8002,
                            "end": 8184,
                            "callee": {
                                "type": "MemberExpression",
                                "start": 8002,
                                "end": 8021,
                                "object": {
                                    "type": "Identifier",
                                    "start": 8002,
                                    "end": 8013,
                                    "name": "productKeys"
                                },
                                "property": {
                                    "type": "Identifier",
                                    "start": 8014,
                                    "end": 8021,
                                    "name": "forEach"
                                },
                                "computed": false
                            },
                            "arguments": [
                                {
                                    "type": "FunctionExpression",
                                    "start": 8022,
                                    "end": 8183,
                                    "id": null,
                                    "generator": false,
                                    "expression": false,
                                    "params": [
                                        {
                                            "type": "Identifier",
                                            "start": 8032,
                                            "end": 8042,
                                            "name": "productKey"
                                        }
                                    ],
                                    "body": {
                                        "type": "BlockStatement",
                                        "start": 8044,
                                        "end": 8183,
                                        "body": [
                                            {
                                                "type": "IfStatement",
                                                "start": 8050,
                                                "end": 8178,
                                                "test": {
                                                    "type": "CallExpression",
                                                    "start": 8054,
                                                    "end": 8121,
                                                    "callee": {
                                                        "type": "MemberExpression",
                                                        "start": 8054,
                                                        "end": 8086,
                                                        "object": {
                                                            "type": "MemberExpression",
                                                            "start": 8054,
                                                            "end": 8074,
                                                            "object": {
                                                                "type": "Identifier",
                                                                "start": 8054,
                                                                "end": 8067,
                                                                "name": "testFramework"
                                                            },
                                                            "property": {
                                                                "type": "Identifier",
                                                                "start": 8068,
                                                                "end": 8074,
                                                                "name": "object"
                                                            },
                                                            "computed": false
                                                        },
                                                        "property": {
                                                            "type": "Identifier",
                                                            "start": 8075,
                                                            "end": 8086,
                                                            "name": "containsKey"
                                                        },
                                                        "computed": false
                                                    },
                                                    "arguments": [
                                                        {
                                                            "type": "Identifier",
                                                            "start": 8087,
                                                            "end": 8101,
                                                            "name": "productCatalog"
                                                        },
                                                        {
                                                            "type": "Identifier",
                                                            "start": 8103,
                                                            "end": 8113,
                                                            "name": "productKey"
                                                        },
                                                        {
                                                            "type": "Literal",
                                                            "start": 8115,
                                                            "end": 8120,
                                                            "value": false,
                                                            "raw": "false"
                                                        }
                                                    ]
                                                },
                                                "consequent": {
                                                    "type": "BlockStatement",
                                                    "start": 8123,
                                                    "end": 8178,
                                                    "body": [
                                                        {
                                                            "type": "ExpressionStatement",
                                                            "start": 8130,
                                                            "end": 8172,
                                                            "expression": {
                                                                "type": "CallExpression",
                                                                "start": 8130,
                                                                "end": 8171,
                                                                "callee": {
                                                                    "type": "MemberExpression",
                                                                    "start": 8130,
                                                                    "end": 8143,
                                                                    "object": {
                                                                        "type": "Identifier",
                                                                        "start": 8130,
                                                                        "end": 8138,
                                                                        "name": "products"
                                                                    },
                                                                    "property": {
                                                                        "type": "Identifier",
                                                                        "start": 8139,
                                                                        "end": 8143,
                                                                        "name": "push"
                                                                    },
                                                                    "computed": false
                                                                },
                                                                "arguments": [
                                                                    {
                                                                        "type": "MemberExpression",
                                                                        "start": 8144,
                                                                        "end": 8170,
                                                                        "object": {
                                                                            "type": "Identifier",
                                                                            "start": 8144,
                                                                            "end": 8158,
                                                                            "name": "productCatalog"
                                                                        },
                                                                        "property": {
                                                                            "type": "Identifier",
                                                                            "start": 8159,
                                                                            "end": 8169,
                                                                            "name": "productKey"
                                                                        },
                                                                        "computed": true
                                                                    }
                                                                ]
                                                            }
                                                        }
                                                    ]
                                                },
                                                "alternate": null
                                            }
                                        ]
                                    }
                                }
                            ]
                        }
                    },
                    {
                        "type": "ReturnStatement",
                        "start": 8190,
                        "end": 8206,
                        "argument": {
                            "type": "Identifier",
                            "start": 8197,
                            "end": 8205,
                            "name": "products"
                        }
                    }
                ]
            }
        },
        "kind": "init"
    },
    {
        "type": "Property",
        "start": 8486,
        "end": 9150,
        "method": false,
        "shorthand": false,
        "computed": false,
        "key": {
            "type": "Literal",
            "start": 8486,
            "end": 8493,
            "value": "fetch",
            "raw": "\"fetch\""
        },
        "value": {
            "type": "FunctionExpression",
            "start": 8495,
            "end": 9150,
            "id": null,
            "generator": false,
            "expression": false,
            "params": [
                {
                    "type": "Identifier",
                    "start": 8505,
                    "end": 8513,
                    "name": "settings"
                }
            ],
            "body": {
                "type": "BlockStatement",
                "start": 8515,
                "end": 9150,
                "body": [
                    {
                        "type": "VariableDeclaration",
                        "start": 8520,
                        "end": 8573,
                        "declarations": [
                            {
                                "type": "VariableDeclarator",
                                "start": 8524,
                                "end": 8537,
                                "id": {
                                    "type": "Identifier",
                                    "start": 8524,
                                    "end": 8537,
                                    "name": "cachedRequest"
                                },
                                "init": null
                            },
                            {
                                "type": "VariableDeclarator",
                                "start": 8543,
                                "end": 8546,
                                "id": {
                                    "type": "Identifier",
                                    "start": 8543,
                                    "end": 8546,
                                    "name": "key"
                                },
                                "init": null
                            },
                            {
                                "type": "VariableDeclarator",
                                "start": 8552,
                                "end": 8562,
                                "id": {
                                    "type": "Identifier",
                                    "start": 8552,
                                    "end": 8562,
                                    "name": "mySettings"
                                },
                                "init": null
                            },
                            {
                                "type": "VariableDeclarator",
                                "start": 8568,
                                "end": 8572,
                                "id": {
                                    "type": "Identifier",
                                    "start": 8568,
                                    "end": 8572,
                                    "name": "self"
                                },
                                "init": null
                            }
                        ],
                        "kind": "var"
                    },
                    {
                        "type": "ExpressionStatement",
                        "start": 8578,
                        "end": 8624,
                        "expression": {
                            "type": "AssignmentExpression",
                            "start": 8578,
                            "end": 8623,
                            "operator": "=",
                            "left": {
                                "type": "Identifier",
                                "start": 8578,
                                "end": 8588,
                                "name": "mySettings"
                            },
                            "right": {
                                "type": "CallExpression",
                                "start": 8591,
                                "end": 8623,
                                "callee": {
                                    "type": "MemberExpression",
                                    "start": 8591,
                                    "end": 8613,
                                    "object": {
                                        "type": "ThisExpression",
                                        "start": 8591,
                                        "end": 8595
                                    },
                                    "property": {
                                        "type": "Identifier",
                                        "start": 8596,
                                        "end": 8613,
                                        "name": "normalizeSettings"
                                    },
                                    "computed": false
                                },
                                "arguments": [
                                    {
                                        "type": "Identifier",
                                        "start": 8614,
                                        "end": 8622,
                                        "name": "settings"
                                    }
                                ]
                            }
                        }
                    },
                    {
                        "type": "IfStatement",
                        "start": 8629,
                        "end": 8730,
                        "test": {
                            "type": "UnaryExpression",
                            "start": 8633,
                            "end": 8667,
                            "operator": "!",
                            "prefix": true,
                            "argument": {
                                "type": "CallExpression",
                                "start": 8634,
                                "end": 8667,
                                "callee": {
                                    "type": "MemberExpression",
                                    "start": 8634,
                                    "end": 8655,
                                    "object": {
                                        "type": "ThisExpression",
                                        "start": 8634,
                                        "end": 8638
                                    },
                                    "property": {
                                        "type": "Identifier",
                                        "start": 8639,
                                        "end": 8655,
                                        "name": "validateSettings"
                                    },
                                    "computed": false
                                },
                                "arguments": [
                                    {
                                        "type": "Identifier",
                                        "start": 8656,
                                        "end": 8666,
                                        "name": "mySettings"
                                    }
                                ]
                            }
                        },
                        "consequent": {
                            "type": "BlockStatement",
                            "start": 8669,
                            "end": 8730,
                            "body": [
                                {
                                    "type": "ThrowStatement",
                                    "start": 8675,
                                    "end": 8725,
                                    "argument": {
                                        "type": "NewExpression",
                                        "start": 8681,
                                        "end": 8724,
                                        "callee": {
                                            "type": "Identifier",
                                            "start": 8685,
                                            "end": 8690,
                                            "name": "Error"
                                        },
                                        "arguments": [
                                            {
                                                "type": "Literal",
                                                "start": 8691,
                                                "end": 8723,
                                                "value": "Invalid settings were supplied",
                                                "raw": "\"Invalid settings were supplied\""
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "alternate": null
                    },
                    {
                        "type": "ExpressionStatement",
                        "start": 8735,
                        "end": 8765,
                        "expression": {
                            "type": "AssignmentExpression",
                            "start": 8735,
                            "end": 8764,
                            "operator": "=",
                            "left": {
                                "type": "Identifier",
                                "start": 8735,
                                "end": 8738,
                                "name": "key"
                            },
                            "right": {
                                "type": "CallExpression",
                                "start": 8741,
                                "end": 8764,
                                "callee": {
                                    "type": "MemberExpression",
                                    "start": 8741,
                                    "end": 8752,
                                    "object": {
                                        "type": "ThisExpression",
                                        "start": 8741,
                                        "end": 8745
                                    },
                                    "property": {
                                        "type": "Identifier",
                                        "start": 8746,
                                        "end": 8752,
                                        "name": "genKey"
                                    },
                                    "computed": false
                                },
                                "arguments": [
                                    {
                                        "type": "Identifier",
                                        "start": 8753,
                                        "end": 8763,
                                        "name": "mySettings"
                                    }
                                ]
                            }
                        }
                    },
                    {
                        "type": "ExpressionStatement",
                        "start": 8769,
                        "end": 8805,
                        "expression": {
                            "type": "AssignmentExpression",
                            "start": 8769,
                            "end": 8804,
                            "operator": "=",
                            "left": {
                                "type": "Identifier",
                                "start": 8769,
                                "end": 8782,
                                "name": "cachedRequest"
                            },
                            "right": {
                                "type": "CallExpression",
                                "start": 8785,
                                "end": 8804,
                                "callee": {
                                    "type": "MemberExpression",
                                    "start": 8785,
                                    "end": 8799,
                                    "object": {
                                        "type": "MemberExpression",
                                        "start": 8785,
                                        "end": 8795,
                                        "object": {
                                            "type": "ThisExpression",
                                            "start": 8785,
                                            "end": 8789
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 8790,
                                            "end": 8795,
                                            "name": "cache"
                                        },
                                        "computed": false
                                    },
                                    "property": {
                                        "type": "Identifier",
                                        "start": 8796,
                                        "end": 8799,
                                        "name": "get"
                                    },
                                    "computed": false
                                },
                                "arguments": [
                                    {
                                        "type": "Identifier",
                                        "start": 8800,
                                        "end": 8803,
                                        "name": "key"
                                    }
                                ]
                            }
                        }
                    },
                    {
                        "type": "IfStatement",
                        "start": 8810,
                        "end": 9110,
                        "test": {
                            "type": "CallExpression",
                            "start": 8814,
                            "end": 8859,
                            "callee": {
                                "type": "MemberExpression",
                                "start": 8814,
                                "end": 8844,
                                "object": {
                                    "type": "MemberExpression",
                                    "start": 8814,
                                    "end": 8836,
                                    "object": {
                                        "type": "MemberExpression",
                                        "start": 8814,
                                        "end": 8832,
                                        "object": {
                                            "type": "Identifier",
                                            "start": 8814,
                                            "end": 8827,
                                            "name": "testFramework"
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 8828,
                                            "end": 8832,
                                            "name": "type"
                                        },
                                        "computed": false
                                    },
                                    "property": {
                                        "type": "Identifier",
                                        "start": 8833,
                                        "end": 8836,
                                        "name": "not"
                                    },
                                    "computed": false
                                },
                                "property": {
                                    "type": "Identifier",
                                    "start": 8837,
                                    "end": 8844,
                                    "name": "defined"
                                },
                                "computed": false
                            },
                            "arguments": [
                                {
                                    "type": "Identifier",
                                    "start": 8845,
                                    "end": 8858,
                                    "name": "cachedRequest"
                                }
                            ]
                        },
                        "consequent": {
                            "type": "BlockStatement",
                            "start": 8861,
                            "end": 9110,
                            "body": [
                                {
                                    "type": "ExpressionStatement",
                                    "start": 8867,
                                    "end": 8879,
                                    "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 8867,
                                        "end": 8878,
                                        "operator": "=",
                                        "left": {
                                            "type": "Identifier",
                                            "start": 8867,
                                            "end": 8871,
                                            "name": "self"
                                        },
                                        "right": {
                                            "type": "ThisExpression",
                                            "start": 8874,
                                            "end": 8878
                                        }
                                    }
                                },
                                {
                                    "type": "ExpressionStatement",
                                    "start": 8884,
                                    "end": 8933,
                                    "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 8884,
                                        "end": 8932,
                                        "operator": "=",
                                        "left": {
                                            "type": "Identifier",
                                            "start": 8884,
                                            "end": 8897,
                                            "name": "cachedRequest"
                                        },
                                        "right": {
                                            "type": "CallExpression",
                                            "start": 8900,
                                            "end": 8932,
                                            "callee": {
                                                "type": "MemberExpression",
                                                "start": 8900,
                                                "end": 8922,
                                                "object": {
                                                    "type": "ThisExpression",
                                                    "start": 8900,
                                                    "end": 8904
                                                },
                                                "property": {
                                                    "type": "Identifier",
                                                    "start": 8905,
                                                    "end": 8922,
                                                    "name": "performApiRequest"
                                                },
                                                "computed": false
                                            },
                                            "arguments": [
                                                {
                                                    "type": "Identifier",
                                                    "start": 8923,
                                                    "end": 8931,
                                                    "name": "settings"
                                                }
                                            ]
                                        }
                                    }
                                },
                                {
                                    "type": "ExpressionStatement",
                                    "start": 8938,
                                    "end": 8973,
                                    "expression": {
                                        "type": "CallExpression",
                                        "start": 8938,
                                        "end": 8972,
                                        "callee": {
                                            "type": "MemberExpression",
                                            "start": 8938,
                                            "end": 8952,
                                            "object": {
                                                "type": "MemberExpression",
                                                "start": 8938,
                                                "end": 8948,
                                                "object": {
                                                    "type": "ThisExpression",
                                                    "start": 8938,
                                                    "end": 8942
                                                },
                                                "property": {
                                                    "type": "Identifier",
                                                    "start": 8943,
                                                    "end": 8948,
                                                    "name": "cache"
                                                },
                                                "computed": false
                                            },
                                            "property": {
                                                "type": "Identifier",
                                                "start": 8949,
                                                "end": 8952,
                                                "name": "set"
                                            },
                                            "computed": false
                                        },
                                        "arguments": [
                                            {
                                                "type": "Identifier",
                                                "start": 8953,
                                                "end": 8956,
                                                "name": "key"
                                            },
                                            {
                                                "type": "Identifier",
                                                "start": 8958,
                                                "end": 8971,
                                                "name": "cachedRequest"
                                            }
                                        ]
                                    }
                                },
                                {
                                    "type": "ExpressionStatement",
                                    "start": 8979,
                                    "end": 9105,
                                    "expression": {
                                        "type": "CallExpression",
                                        "start": 8979,
                                        "end": 9104,
                                        "callee": {
                                            "type": "MemberExpression",
                                            "start": 8979,
                                            "end": 9054,
                                            "object": {
                                                "type": "CallExpression",
                                                "start": 8979,
                                                "end": 9049,
                                                "callee": {
                                                    "type": "MemberExpression",
                                                    "start": 8979,
                                                    "end": 8997,
                                                    "object": {
                                                        "type": "Identifier",
                                                        "start": 8979,
                                                        "end": 8992,
                                                        "name": "cachedRequest"
                                                    },
                                                    "property": {
                                                        "type": "Identifier",
                                                        "start": 8993,
                                                        "end": 8997,
                                                        "name": "then"
                                                    },
                                                    "computed": false
                                                },
                                                "arguments": [
                                                    {
                                                        "type": "FunctionExpression",
                                                        "start": 8998,
                                                        "end": 9048,
                                                        "id": null,
                                                        "generator": false,
                                                        "expression": false,
                                                        "params": [],
                                                        "body": {
                                                            "type": "BlockStatement",
                                                            "start": 9010,
                                                            "end": 9048,
                                                            "body": [
                                                                {
                                                                    "type": "ExpressionStatement",
                                                                    "start": 9017,
                                                                    "end": 9042,
                                                                    "expression": {
                                                                        "type": "CallExpression",
                                                                        "start": 9017,
                                                                        "end": 9041,
                                                                        "callee": {
                                                                            "type": "MemberExpression",
                                                                            "start": 9017,
                                                                            "end": 9036,
                                                                            "object": {
                                                                                "type": "MemberExpression",
                                                                                "start": 9017,
                                                                                "end": 9027,
                                                                                "object": {
                                                                                    "type": "Identifier",
                                                                                    "start": 9017,
                                                                                    "end": 9021,
                                                                                    "name": "self"
                                                                                },
                                                                                "property": {
                                                                                    "type": "Identifier",
                                                                                    "start": 9022,
                                                                                    "end": 9027,
                                                                                    "name": "cache"
                                                                                },
                                                                                "computed": false
                                                                            },
                                                                            "property": {
                                                                                "type": "Identifier",
                                                                                "start": 9028,
                                                                                "end": 9036,
                                                                                "name": "touchKey"
                                                                            },
                                                                            "computed": false
                                                                        },
                                                                        "arguments": [
                                                                            {
                                                                                "type": "Identifier",
                                                                                "start": 9037,
                                                                                "end": 9040,
                                                                                "name": "key"
                                                                            }
                                                                        ]
                                                                    }
                                                                }
                                                            ]
                                                        }
                                                    }
                                                ]
                                            },
                                            "property": {
                                                "type": "Identifier",
                                                "start": 9050,
                                                "end": 9054,
                                                "name": "fail"
                                            },
                                            "computed": false
                                        },
                                        "arguments": [
                                            {
                                                "type": "FunctionExpression",
                                                "start": 9055,
                                                "end": 9103,
                                                "id": null,
                                                "generator": false,
                                                "expression": false,
                                                "params": [],
                                                "body": {
                                                    "type": "BlockStatement",
                                                    "start": 9067,
                                                    "end": 9103,
                                                    "body": [
                                                        {
                                                            "type": "ExpressionStatement",
                                                            "start": 9074,
                                                            "end": 9097,
                                                            "expression": {
                                                                "type": "CallExpression",
                                                                "start": 9074,
                                                                "end": 9096,
                                                                "callee": {
                                                                    "type": "MemberExpression",
                                                                    "start": 9074,
                                                                    "end": 9091,
                                                                    "object": {
                                                                        "type": "MemberExpression",
                                                                        "start": 9074,
                                                                        "end": 9084,
                                                                        "object": {
                                                                            "type": "Identifier",
                                                                            "start": 9074,
                                                                            "end": 9078,
                                                                            "name": "self"
                                                                        },
                                                                        "property": {
                                                                            "type": "Identifier",
                                                                            "start": 9079,
                                                                            "end": 9084,
                                                                            "name": "cache"
                                                                        },
                                                                        "computed": false
                                                                    },
                                                                    "property": {
                                                                        "type": "Identifier",
                                                                        "start": 9085,
                                                                        "end": 9091,
                                                                        "name": "remove"
                                                                    },
                                                                    "computed": false
                                                                },
                                                                "arguments": [
                                                                    {
                                                                        "type": "Identifier",
                                                                        "start": 9092,
                                                                        "end": 9095,
                                                                        "name": "key"
                                                                    }
                                                                ]
                                                            }
                                                        }
                                                    ]
                                                }
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "alternate": null
                    },
                    {
                        "type": "ReturnStatement",
                        "start": 9115,
                        "end": 9146,
                        "argument": {
                            "type": "CallExpression",
                            "start": 9122,
                            "end": 9145,
                            "callee": {
                                "type": "MemberExpression",
                                "start": 9122,
                                "end": 9143,
                                "object": {
                                    "type": "Identifier",
                                    "start": 9122,
                                    "end": 9135,
                                    "name": "cachedRequest"
                                },
                                "property": {
                                    "type": "Identifier",
                                    "start": 9136,
                                    "end": 9143,
                                    "name": "promise"
                                },
                                "computed": false
                            },
                            "arguments": []
                        }
                    }
                ]
            }
        },
        "kind": "init"
    },
    {
        "type": "Property",
        "start": 9320,
        "end": 9613,
        "method": false,
        "shorthand": false,
        "computed": false,
        "key": {
            "type": "Literal",
            "start": 9320,
            "end": 9338,
            "value": "validateSettings",
            "raw": "\"validateSettings\""
        },
        "value": {
            "type": "FunctionExpression",
            "start": 9340,
            "end": 9613,
            "id": null,
            "generator": false,
            "expression": false,
            "params": [
                {
                    "type": "Identifier",
                    "start": 9350,
                    "end": 9358,
                    "name": "settings"
                }
            ],
            "body": {
                "type": "BlockStatement",
                "start": 9360,
                "end": 9613,
                "body": [
                    {
                        "type": "VariableDeclaration",
                        "start": 9365,
                        "end": 9382,
                        "declarations": [
                            {
                                "type": "VariableDeclarator",
                                "start": 9369,
                                "end": 9381,
                                "id": {
                                    "type": "Identifier",
                                    "start": 9369,
                                    "end": 9374,
                                    "name": "valid"
                                },
                                "init": {
                                    "type": "Literal",
                                    "start": 9377,
                                    "end": 9381,
                                    "value": true,
                                    "raw": "true"
                                }
                            }
                        ],
                        "kind": "var"
                    },
                    {
                        "type": "ExpressionStatement",
                        "start": 9387,
                        "end": 9591,
                        "expression": {
                            "type": "AssignmentExpression",
                            "start": 9387,
                            "end": 9590,
                            "operator": "=",
                            "left": {
                                "type": "Identifier",
                                "start": 9387,
                                "end": 9392,
                                "name": "valid"
                            },
                            "right": {
                                "type": "LogicalExpression",
                                "start": 9396,
                                "end": 9585,
                                "left": {
                                    "type": "LogicalExpression",
                                    "start": 9396,
                                    "end": 9517,
                                    "left": {
                                        "type": "LogicalExpression",
                                        "start": 9396,
                                        "end": 9444,
                                        "left": {
                                            "type": "Identifier",
                                            "start": 9396,
                                            "end": 9401,
                                            "name": "valid"
                                        },
                                        "operator": "&&",
                                        "right": {
                                            "type": "CallExpression",
                                            "start": 9409,
                                            "end": 9444,
                                            "callee": {
                                                "type": "MemberExpression",
                                                "start": 9409,
                                                "end": 9434,
                                                "object": {
                                                    "type": "MemberExpression",
                                                    "start": 9409,
                                                    "end": 9427,
                                                    "object": {
                                                        "type": "Identifier",
                                                        "start": 9409,
                                                        "end": 9422,
                                                        "name": "testFramework"
                                                    },
                                                    "property": {
                                                        "type": "Identifier",
                                                        "start": 9423,
                                                        "end": 9427,
                                                        "name": "type"
                                                    },
                                                    "computed": false
                                                },
                                                "property": {
                                                    "type": "Identifier",
                                                    "start": 9428,
                                                    "end": 9434,
                                                    "name": "object"
                                                },
                                                "computed": false
                                            },
                                            "arguments": [
                                                {
                                                    "type": "Identifier",
                                                    "start": 9435,
                                                    "end": 9443,
                                                    "name": "settings"
                                                }
                                            ]
                                        }
                                    },
                                    "operator": "&&",
                                    "right": {
                                        "type": "CallExpression",
                                        "start": 9452,
                                        "end": 9517,
                                        "callee": {
                                            "type": "MemberExpression",
                                            "start": 9452,
                                            "end": 9484,
                                            "object": {
                                                "type": "MemberExpression",
                                                "start": 9452,
                                                "end": 9472,
                                                "object": {
                                                    "type": "Identifier",
                                                    "start": 9452,
                                                    "end": 9465,
                                                    "name": "testFramework"
                                                },
                                                "property": {
                                                    "type": "Identifier",
                                                    "start": 9466,
                                                    "end": 9472,
                                                    "name": "object"
                                                },
                                                "computed": false
                                            },
                                            "property": {
                                                "type": "Identifier",
                                                "start": 9473,
                                                "end": 9484,
                                                "name": "containsKey"
                                            },
                                            "computed": false
                                        },
                                        "arguments": [
                                            {
                                                "type": "Identifier",
                                                "start": 9485,
                                                "end": 9493,
                                                "name": "settings"
                                            },
                                            {
                                                "type": "Literal",
                                                "start": 9495,
                                                "end": 9509,
                                                "value": "departmentId",
                                                "raw": "\"departmentId\""
                                            },
                                            {
                                                "type": "Literal",
                                                "start": 9511,
                                                "end": 9516,
                                                "value": false,
                                                "raw": "false"
                                            }
                                        ]
                                    }
                                },
                                "operator": "&&",
                                "right": {
                                    "type": "CallExpression",
                                    "start": 9525,
                                    "end": 9585,
                                    "callee": {
                                        "type": "MemberExpression",
                                        "start": 9525,
                                        "end": 9555,
                                        "object": {
                                            "type": "MemberExpression",
                                            "start": 9525,
                                            "end": 9549,
                                            "object": {
                                                "type": "MemberExpression",
                                                "start": 9525,
                                                "end": 9545,
                                                "object": {
                                                    "type": "Identifier",
                                                    "start": 9525,
                                                    "end": 9538,
                                                    "name": "testFramework"
                                                },
                                                "property": {
                                                    "type": "Identifier",
                                                    "start": 9539,
                                                    "end": 9545,
                                                    "name": "string"
                                                },
                                                "computed": false
                                            },
                                            "property": {
                                                "type": "Identifier",
                                                "start": 9546,
                                                "end": 9549,
                                                "name": "not"
                                            },
                                            "computed": false
                                        },
                                        "property": {
                                            "type": "Identifier",
                                            "start": 9550,
                                            "end": 9555,
                                            "name": "empty"
                                        },
                                        "computed": false
                                    },
                                    "arguments": [
                                        {
                                            "type": "MemberExpression",
                                            "start": 9556,
                                            "end": 9577,
                                            "object": {
                                                "type": "Identifier",
                                                "start": 9556,
                                                "end": 9564,
                                                "name": "settings"
                                            },
                                            "property": {
                                                "type": "Identifier",
                                                "start": 9565,
                                                "end": 9577,
                                                "name": "departmentId"
                                            },
                                            "computed": false
                                        },
                                        {
                                            "type": "Literal",
                                            "start": 9579,
                                            "end": 9584,
                                            "value": false,
                                            "raw": "false"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    {
                        "type": "ReturnStatement",
                        "start": 9596,
                        "end": 9609,
                        "argument": {
                            "type": "Identifier",
                            "start": 9603,
                            "end": 9608,
                            "name": "valid"
                        }
                    }
                ]
            }
        },
        "kind": "init"
    }
]
