{
  "type": "Program",
  "body": [
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "local": {
            "type": "Identifier",
            "name": "Cookie",
            "range": [
              8,
              14
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 7
              },
              "end": {
                "line": 2,
                "column": 13
              }
            }
          },
          "range": [
            8,
            14
          ],
          "loc": {
            "start": {
              "line": 2,
              "column": 7
            },
            "end": {
              "line": 2,
              "column": 13
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../cookie",
        "raw": "'../cookie'",
        "range": [
          20,
          31
        ],
        "loc": {
          "start": {
            "line": 2,
            "column": 19
          },
          "end": {
            "line": 2,
            "column": 30
          }
        }
      },
      "range": [
        1,
        32
      ],
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 31
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "root",
            "range": [
              41,
              45
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 8
              },
              "end": {
                "line": 3,
                "column": 12
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "root",
            "range": [
              41,
              45
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 8
              },
              "end": {
                "line": 3,
                "column": 12
              }
            }
          },
          "range": [
            41,
            45
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 8
            },
            "end": {
              "line": 3,
              "column": 12
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../root",
        "raw": "'../root'",
        "range": [
          52,
          61
        ],
        "loc": {
          "start": {
            "line": 3,
            "column": 19
          },
          "end": {
            "line": 3,
            "column": 28
          }
        }
      },
      "range": [
        33,
        62
      ],
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 29
        }
      }
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "JSON",
            "range": [
              70,
              74
            ],
            "loc": {
              "start": {
                "line": 5,
                "column": 6
              },
              "end": {
                "line": 5,
                "column": 10
              }
            }
          },
          "init": {
            "type": "MemberExpression",
            "computed": false,
            "object": {
              "type": "Identifier",
              "name": "root",
              "range": [
                77,
                81
              ],
              "loc": {
                "start": {
                  "line": 5,
                  "column": 13
                },
                "end": {
                  "line": 5,
                  "column": 17
                }
              }
            },
            "property": {
              "type": "Identifier",
              "name": "JSON",
              "range": [
                82,
                86
              ],
              "loc": {
                "start": {
                  "line": 5,
                  "column": 18
                },
                "end": {
                  "line": 5,
                  "column": 22
                }
              }
            },
            "range": [
              77,
              86
            ],
            "loc": {
              "start": {
                "line": 5,
                "column": 13
              },
              "end": {
                "line": 5,
                "column": 22
              }
            }
          },
          "range": [
            70,
            86
          ],
          "loc": {
            "start": {
              "line": 5,
              "column": 6
            },
            "end": {
              "line": 5,
              "column": 22
            }
          }
        }
      ],
      "kind": "const",
      "range": [
        64,
        87
      ],
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 23
        }
      }
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "localStorage",
            "range": [
              94,
              106
            ],
            "loc": {
              "start": {
                "line": 6,
                "column": 6
              },
              "end": {
                "line": 6,
                "column": 18
              }
            }
          },
          "init": {
            "type": "MemberExpression",
            "computed": false,
            "object": {
              "type": "Identifier",
              "name": "root",
              "range": [
                109,
                113
              ],
              "loc": {
                "start": {
                  "line": 6,
                  "column": 21
                },
                "end": {
                  "line": 6,
                  "column": 25
                }
              }
            },
            "property": {
              "type": "Identifier",
              "name": "localStorage",
              "range": [
                114,
                126
              ],
              "loc": {
                "start": {
                  "line": 6,
                  "column": 26
                },
                "end": {
                  "line": 6,
                  "column": 38
                }
              }
            },
            "range": [
              109,
              126
            ],
            "loc": {
              "start": {
                "line": 6,
                "column": 21
              },
              "end": {
                "line": 6,
                "column": 38
              }
            }
          },
          "range": [
            94,
            126
          ],
          "loc": {
            "start": {
              "line": 6,
              "column": 6
            },
            "end": {
              "line": 6,
              "column": 38
            }
          }
        }
      ],
      "kind": "const",
      "range": [
        88,
        127
      ],
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 39
        }
      }
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "location",
            "range": [
              134,
              142
            ],
            "loc": {
              "start": {
                "line": 7,
                "column": 6
              },
              "end": {
                "line": 7,
                "column": 14
              }
            }
          },
          "init": {
            "type": "MemberExpression",
            "computed": false,
            "object": {
              "type": "Identifier",
              "name": "root",
              "range": [
                145,
                149
              ],
              "loc": {
                "start": {
                  "line": 7,
                  "column": 17
                },
                "end": {
                  "line": 7,
                  "column": 21
                }
              }
            },
            "property": {
              "type": "Identifier",
              "name": "location",
              "range": [
                150,
                158
              ],
              "loc": {
                "start": {
                  "line": 7,
                  "column": 22
                },
                "end": {
                  "line": 7,
                  "column": 30
                }
              }
            },
            "range": [
              145,
              158
            ],
            "loc": {
              "start": {
                "line": 7,
                "column": 17
              },
              "end": {
                "line": 7,
                "column": 30
              }
            }
          },
          "range": [
            134,
            158
          ],
          "loc": {
            "start": {
              "line": 7,
              "column": 6
            },
            "end": {
              "line": 7,
              "column": 30
            }
          }
        }
      ],
      "kind": "const",
      "range": [
        128,
        159
      ],
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 31
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * Checks if browser has Storage feature\n ",
          "range": [
            161,
            209
          ],
          "loc": {
            "start": {
              "line": 9,
              "column": 0
            },
            "end": {
              "line": 11,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "VariableDeclaration",
        "declarations": [
          {
            "type": "VariableDeclarator",
            "id": {
              "type": "Identifier",
              "name": "hasStorage",
              "range": [
                223,
                233
              ],
              "loc": {
                "start": {
                  "line": 12,
                  "column": 13
                },
                "end": {
                  "line": 12,
                  "column": 23
                }
              }
            },
            "init": {
              "type": "ArrowFunctionExpression",
              "id": null,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "BinaryExpression",
                      "operator": "in",
                      "left": {
                        "type": "Literal",
                        "value": "Storage",
                        "raw": "'Storage'",
                        "range": [
                          255,
                          264
                        ],
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 11
                          },
                          "end": {
                            "line": 13,
                            "column": 20
                          }
                        }
                      },
                      "right": {
                        "type": "Identifier",
                        "name": "root",
                        "range": [
                          268,
                          272
                        ],
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 24
                          },
                          "end": {
                            "line": 13,
                            "column": 28
                          }
                        }
                      },
                      "range": [
                        255,
                        272
                      ],
                      "loc": {
                        "start": {
                          "line": 13,
                          "column": 11
                        },
                        "end": {
                          "line": 13,
                          "column": 28
                        }
                      }
                    },
                    "range": [
                      248,
                      273
                    ],
                    "loc": {
                      "start": {
                        "line": 13,
                        "column": 4
                      },
                      "end": {
                        "line": 13,
                        "column": 29
                      }
                    }
                  }
                ],
                "range": [
                  242,
                  275
                ],
                "loc": {
                  "start": {
                    "line": 12,
                    "column": 32
                  },
                  "end": {
                    "line": 14,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                236,
                275
              ],
              "loc": {
                "start": {
                  "line": 12,
                  "column": 26
                },
                "end": {
                  "line": 14,
                  "column": 1
                }
              }
            },
            "range": [
              223,
              275
            ],
            "loc": {
              "start": {
                "line": 12,
                "column": 13
              },
              "end": {
                "line": 14,
                "column": 1
              }
            }
          }
        ],
        "kind": "const",
        "range": [
          217,
          276
        ],
        "loc": {
          "start": {
            "line": 12,
            "column": 7
          },
          "end": {
            "line": 14,
            "column": 2
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * Checks if browser has Storage feature\n ",
            "range": [
              161,
              209
            ],
            "loc": {
              "start": {
                "line": 9,
                "column": 0
              },
              "end": {
                "line": 11,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "Block",
            "value": "*\n * Stores the features state in browser's local storage or cookie\n *\n * @export\n * @class Storage\n ",
            "range": [
              278,
              383
            ],
            "loc": {
              "start": {
                "line": 16,
                "column": 0
              },
              "end": {
                "line": 21,
                "column": 3
              }
            }
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "range": [
        210,
        276
      ],
      "loc": {
        "start": {
          "line": 12,
          "column": 0
        },
        "end": {
          "line": 14,
          "column": 2
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * Checks if browser has Storage feature\n ",
          "range": [
            161,
            209
          ],
          "loc": {
            "start": {
              "line": 9,
              "column": 0
            },
            "end": {
              "line": 11,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * Stores the features state in browser's local storage or cookie\n *\n * @export\n * @class Storage\n ",
          "range": [
            278,
            383
          ],
          "loc": {
            "start": {
              "line": 16,
              "column": 0
            },
            "end": {
              "line": 21,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "ClassDeclaration",
        "id": {
          "type": "Identifier",
          "name": "Storage",
          "range": [
            397,
            404
          ],
          "loc": {
            "start": {
              "line": 22,
              "column": 13
            },
            "end": {
              "line": 22,
              "column": 20
            }
          }
        },
        "superClass": null,
        "body": {
          "type": "ClassBody",
          "body": [
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "constructor",
                "range": [
                  519,
                  530
                ],
                "loc": {
                  "start": {
                    "line": 29,
                    "column": 4
                  },
                  "end": {
                    "line": 29,
                    "column": 15
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "state",
                    "range": [
                      531,
                      536
                    ],
                    "loc": {
                      "start": {
                        "line": 29,
                        "column": 16
                      },
                      "end": {
                        "line": 29,
                        "column": 21
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              642,
                              646
                            ],
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 8
                              },
                              "end": {
                                "line": 36,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "state",
                            "range": [
                              647,
                              652
                            ],
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 13
                              },
                              "end": {
                                "line": 36,
                                "column": 18
                              }
                            }
                          },
                          "range": [
                            642,
                            652
                          ],
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 8
                            },
                            "end": {
                              "line": 36,
                              "column": 18
                            }
                          }
                        },
                        "right": {
                          "type": "Identifier",
                          "name": "state",
                          "range": [
                            655,
                            660
                          ],
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 21
                            },
                            "end": {
                              "line": 36,
                              "column": 26
                            }
                          }
                        },
                        "range": [
                          642,
                          660
                        ],
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 8
                          },
                          "end": {
                            "line": 36,
                            "column": 26
                          }
                        }
                      },
                      "range": [
                        642,
                        661
                      ],
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 8
                        },
                        "end": {
                          "line": 36,
                          "column": 27
                        }
                      },
                      "leadingComments": [
                        {
                          "type": "Block",
                          "value": "*\n         * State object\n         * @type {State}\n         * @private\n         ",
                          "range": [
                            549,
                            633
                          ],
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 8
                            },
                            "end": {
                              "line": 35,
                              "column": 11
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "Block",
                          "value": "*\n         * TableFilter object\n         * @type {TableFilter}\n         * @private\n         ",
                          "range": [
                            671,
                            767
                          ],
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 8
                            },
                            "end": {
                              "line": 42,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              776,
                              780
                            ],
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 8
                              },
                              "end": {
                                "line": 43,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "tf",
                            "range": [
                              781,
                              783
                            ],
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 13
                              },
                              "end": {
                                "line": 43,
                                "column": 15
                              }
                            }
                          },
                          "range": [
                            776,
                            783
                          ],
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 8
                            },
                            "end": {
                              "line": 43,
                              "column": 15
                            }
                          }
                        },
                        "right": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "state",
                            "range": [
                              786,
                              791
                            ],
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 18
                              },
                              "end": {
                                "line": 43,
                                "column": 23
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "tf",
                            "range": [
                              792,
                              794
                            ],
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 24
                              },
                              "end": {
                                "line": 43,
                                "column": 26
                              }
                            }
                          },
                          "range": [
                            786,
                            794
                          ],
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 18
                            },
                            "end": {
                              "line": 43,
                              "column": 26
                            }
                          }
                        },
                        "range": [
                          776,
                          794
                        ],
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 8
                          },
                          "end": {
                            "line": 43,
                            "column": 26
                          }
                        }
                      },
                      "range": [
                        776,
                        795
                      ],
                      "loc": {
                        "start": {
                          "line": 43,
                          "column": 8
                        },
                        "end": {
                          "line": 43,
                          "column": 27
                        }
                      },
                      "leadingComments": [
                        {
                          "type": "Block",
                          "value": "*\n         * TableFilter object\n         * @type {TableFilter}\n         * @private\n         ",
                          "range": [
                            671,
                            767
                          ],
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 8
                            },
                            "end": {
                              "line": 42,
                              "column": 11
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "Block",
                          "value": "*\n         * Persist with local storage\n         * @type {Boolean}\n         * @private\n         ",
                          "range": [
                            805,
                            905
                          ],
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 8
                            },
                            "end": {
                              "line": 49,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              914,
                              918
                            ],
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 8
                              },
                              "end": {
                                "line": 50,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "enableLocalStorage",
                            "range": [
                              919,
                              937
                            ],
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 13
                              },
                              "end": {
                                "line": 50,
                                "column": 31
                              }
                            }
                          },
                          "range": [
                            914,
                            937
                          ],
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 8
                            },
                            "end": {
                              "line": 50,
                              "column": 31
                            }
                          }
                        },
                        "right": {
                          "type": "LogicalExpression",
                          "operator": "&&",
                          "left": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "state",
                              "range": [
                                940,
                                945
                              ],
                              "loc": {
                                "start": {
                                  "line": 50,
                                  "column": 34
                                },
                                "end": {
                                  "line": 50,
                                  "column": 39
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "enableLocalStorage",
                              "range": [
                                946,
                                964
                              ],
                              "loc": {
                                "start": {
                                  "line": 50,
                                  "column": 40
                                },
                                "end": {
                                  "line": 50,
                                  "column": 58
                                }
                              }
                            },
                            "range": [
                              940,
                              964
                            ],
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 34
                              },
                              "end": {
                                "line": 50,
                                "column": 58
                              }
                            }
                          },
                          "right": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "Identifier",
                              "name": "hasStorage",
                              "range": [
                                968,
                                978
                              ],
                              "loc": {
                                "start": {
                                  "line": 50,
                                  "column": 62
                                },
                                "end": {
                                  "line": 50,
                                  "column": 72
                                }
                              }
                            },
                            "arguments": [],
                            "range": [
                              968,
                              980
                            ],
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 62
                              },
                              "end": {
                                "line": 50,
                                "column": 74
                              }
                            }
                          },
                          "range": [
                            940,
                            980
                          ],
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 34
                            },
                            "end": {
                              "line": 50,
                              "column": 74
                            }
                          }
                        },
                        "range": [
                          914,
                          980
                        ],
                        "loc": {
                          "start": {
                            "line": 50,
                            "column": 8
                          },
                          "end": {
                            "line": 50,
                            "column": 74
                          }
                        }
                      },
                      "range": [
                        914,
                        981
                      ],
                      "loc": {
                        "start": {
                          "line": 50,
                          "column": 8
                        },
                        "end": {
                          "line": 50,
                          "column": 75
                        }
                      },
                      "leadingComments": [
                        {
                          "type": "Block",
                          "value": "*\n         * Persist with local storage\n         * @type {Boolean}\n         * @private\n         ",
                          "range": [
                            805,
                            905
                          ],
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 8
                            },
                            "end": {
                              "line": 49,
                              "column": 11
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "Block",
                          "value": "*\n         * Persist with cookie\n         * @type {Boolean}\n         * @private\n         ",
                          "range": [
                            991,
                            1084
                          ],
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 8
                            },
                            "end": {
                              "line": 56,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              1093,
                              1097
                            ],
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 8
                              },
                              "end": {
                                "line": 57,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "enableCookie",
                            "range": [
                              1098,
                              1110
                            ],
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 13
                              },
                              "end": {
                                "line": 57,
                                "column": 25
                              }
                            }
                          },
                          "range": [
                            1093,
                            1110
                          ],
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 8
                            },
                            "end": {
                              "line": 57,
                              "column": 25
                            }
                          }
                        },
                        "right": {
                          "type": "LogicalExpression",
                          "operator": "&&",
                          "left": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "state",
                              "range": [
                                1113,
                                1118
                              ],
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 28
                                },
                                "end": {
                                  "line": 57,
                                  "column": 33
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "enableCookie",
                              "range": [
                                1119,
                                1131
                              ],
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 34
                                },
                                "end": {
                                  "line": 57,
                                  "column": 46
                                }
                              }
                            },
                            "range": [
                              1113,
                              1131
                            ],
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 28
                              },
                              "end": {
                                "line": 57,
                                "column": 46
                              }
                            }
                          },
                          "right": {
                            "type": "UnaryExpression",
                            "operator": "!",
                            "argument": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1136,
                                  1140
                                ],
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 51
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 55
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "enableLocalStorage",
                                "range": [
                                  1141,
                                  1159
                                ],
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 56
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 74
                                  }
                                }
                              },
                              "range": [
                                1136,
                                1159
                              ],
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 51
                                },
                                "end": {
                                  "line": 57,
                                  "column": 74
                                }
                              }
                            },
                            "prefix": true,
                            "range": [
                              1135,
                              1159
                            ],
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 50
                              },
                              "end": {
                                "line": 57,
                                "column": 74
                              }
                            }
                          },
                          "range": [
                            1113,
                            1159
                          ],
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 28
                            },
                            "end": {
                              "line": 57,
                              "column": 74
                            }
                          }
                        },
                        "range": [
                          1093,
                          1159
                        ],
                        "loc": {
                          "start": {
                            "line": 57,
                            "column": 8
                          },
                          "end": {
                            "line": 57,
                            "column": 74
                          }
                        }
                      },
                      "range": [
                        1093,
                        1160
                      ],
                      "loc": {
                        "start": {
                          "line": 57,
                          "column": 8
                        },
                        "end": {
                          "line": 57,
                          "column": 75
                        }
                      },
                      "leadingComments": [
                        {
                          "type": "Block",
                          "value": "*\n         * Persist with cookie\n         * @type {Boolean}\n         * @private\n         ",
                          "range": [
                            991,
                            1084
                          ],
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 8
                            },
                            "end": {
                              "line": 56,
                              "column": 11
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "Block",
                          "value": "*\n         * Emitter object\n         * @type {Emitter}\n         * @private\n         ",
                          "range": [
                            1170,
                            1258
                          ],
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 8
                            },
                            "end": {
                              "line": 63,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              1267,
                              1271
                            ],
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 8
                              },
                              "end": {
                                "line": 64,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "emitter",
                            "range": [
                              1272,
                              1279
                            ],
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 13
                              },
                              "end": {
                                "line": 64,
                                "column": 20
                              }
                            }
                          },
                          "range": [
                            1267,
                            1279
                          ],
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 8
                            },
                            "end": {
                              "line": 64,
                              "column": 20
                            }
                          }
                        },
                        "right": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "state",
                            "range": [
                              1282,
                              1287
                            ],
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 23
                              },
                              "end": {
                                "line": 64,
                                "column": 28
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "emitter",
                            "range": [
                              1288,
                              1295
                            ],
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 29
                              },
                              "end": {
                                "line": 64,
                                "column": 36
                              }
                            }
                          },
                          "range": [
                            1282,
                            1295
                          ],
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 23
                            },
                            "end": {
                              "line": 64,
                              "column": 36
                            }
                          }
                        },
                        "range": [
                          1267,
                          1295
                        ],
                        "loc": {
                          "start": {
                            "line": 64,
                            "column": 8
                          },
                          "end": {
                            "line": 64,
                            "column": 36
                          }
                        }
                      },
                      "range": [
                        1267,
                        1296
                      ],
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 8
                        },
                        "end": {
                          "line": 64,
                          "column": 37
                        }
                      },
                      "leadingComments": [
                        {
                          "type": "Block",
                          "value": "*\n         * Emitter object\n         * @type {Emitter}\n         * @private\n         ",
                          "range": [
                            1170,
                            1258
                          ],
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 8
                            },
                            "end": {
                              "line": 63,
                              "column": 11
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "Block",
                          "value": "*\n         * Cookie duration in hours from state object\n         * @type {Number}\n         * @private\n         ",
                          "range": [
                            1306,
                            1421
                          ],
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 8
                            },
                            "end": {
                              "line": 70,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              1430,
                              1434
                            ],
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 8
                              },
                              "end": {
                                "line": 71,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "duration",
                            "range": [
                              1435,
                              1443
                            ],
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 13
                              },
                              "end": {
                                "line": 71,
                                "column": 21
                              }
                            }
                          },
                          "range": [
                            1430,
                            1443
                          ],
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 8
                            },
                            "end": {
                              "line": 71,
                              "column": 21
                            }
                          }
                        },
                        "right": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "state",
                            "range": [
                              1446,
                              1451
                            ],
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 24
                              },
                              "end": {
                                "line": 71,
                                "column": 29
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "cookieDuration",
                            "range": [
                              1452,
                              1466
                            ],
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 30
                              },
                              "end": {
                                "line": 71,
                                "column": 44
                              }
                            }
                          },
                          "range": [
                            1446,
                            1466
                          ],
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 24
                            },
                            "end": {
                              "line": 71,
                              "column": 44
                            }
                          }
                        },
                        "range": [
                          1430,
                          1466
                        ],
                        "loc": {
                          "start": {
                            "line": 71,
                            "column": 8
                          },
                          "end": {
                            "line": 71,
                            "column": 44
                          }
                        }
                      },
                      "range": [
                        1430,
                        1467
                      ],
                      "loc": {
                        "start": {
                          "line": 71,
                          "column": 8
                        },
                        "end": {
                          "line": 71,
                          "column": 45
                        }
                      },
                      "leadingComments": [
                        {
                          "type": "Block",
                          "value": "*\n         * Cookie duration in hours from state object\n         * @type {Number}\n         * @private\n         ",
                          "range": [
                            1306,
                            1421
                          ],
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 8
                            },
                            "end": {
                              "line": 70,
                              "column": 11
                            }
                          }
                        }
                      ]
                    }
                  ],
                  "range": [
                    538,
                    1473
                  ],
                  "loc": {
                    "start": {
                      "line": 29,
                      "column": 23
                    },
                    "end": {
                      "line": 72,
                      "column": 5
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  530,
                  1473
                ],
                "loc": {
                  "start": {
                    "line": 29,
                    "column": 15
                  },
                  "end": {
                    "line": 72,
                    "column": 5
                  }
                }
              },
              "kind": "constructor",
              "computed": false,
              "range": [
                519,
                1473
              ],
              "loc": {
                "start": {
                  "line": 29,
                  "column": 4
                },
                "end": {
                  "line": 72,
                  "column": 5
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Creates an instance of Storage\n     *\n     * @param {State} state Instance of State\n     ",
                  "range": [
                    412,
                    514
                  ],
                  "loc": {
                    "start": {
                      "line": 24,
                      "column": 4
                    },
                    "end": {
                      "line": 28,
                      "column": 7
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Initializes the Storage object\n     ",
                  "range": [
                    1480,
                    1529
                  ],
                  "loc": {
                    "start": {
                      "line": 75,
                      "column": 4
                    },
                    "end": {
                      "line": 77,
                      "column": 7
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "init",
                "range": [
                  1534,
                  1538
                ],
                "loc": {
                  "start": {
                    "line": 78,
                    "column": 4
                  },
                  "end": {
                    "line": 78,
                    "column": 8
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "ThisExpression",
                              "range": [
                                1551,
                                1555
                              ],
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 8
                                },
                                "end": {
                                  "line": 79,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "emitter",
                              "range": [
                                1556,
                                1563
                              ],
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 13
                                },
                                "end": {
                                  "line": 79,
                                  "column": 20
                                }
                              }
                            },
                            "range": [
                              1551,
                              1563
                            ],
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 8
                              },
                              "end": {
                                "line": 79,
                                "column": 20
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "on",
                            "range": [
                              1564,
                              1566
                            ],
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 21
                              },
                              "end": {
                                "line": 79,
                                "column": 23
                              }
                            }
                          },
                          "range": [
                            1551,
                            1566
                          ],
                          "loc": {
                            "start": {
                              "line": 79,
                              "column": 8
                            },
                            "end": {
                              "line": 79,
                              "column": 23
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "ArrayExpression",
                            "elements": [
                              {
                                "type": "Literal",
                                "value": "state-changed",
                                "raw": "'state-changed'",
                                "range": [
                                  1568,
                                  1583
                                ],
                                "loc": {
                                  "start": {
                                    "line": 79,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 79,
                                    "column": 40
                                  }
                                }
                              }
                            ],
                            "range": [
                              1567,
                              1584
                            ],
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 24
                              },
                              "end": {
                                "line": 79,
                                "column": 41
                              }
                            }
                          },
                          {
                            "type": "ArrowFunctionExpression",
                            "id": null,
                            "params": [
                              {
                                "type": "Identifier",
                                "name": "tf",
                                "range": [
                                  1587,
                                  1589
                                ],
                                "loc": {
                                  "start": {
                                    "line": 79,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 79,
                                    "column": 46
                                  }
                                }
                              },
                              {
                                "type": "Identifier",
                                "name": "state",
                                "range": [
                                  1591,
                                  1596
                                ],
                                "loc": {
                                  "start": {
                                    "line": 79,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 79,
                                    "column": 53
                                  }
                                }
                              }
                            ],
                            "body": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    1601,
                                    1605
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 58
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 62
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "save",
                                  "range": [
                                    1606,
                                    1610
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 63
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 67
                                    }
                                  }
                                },
                                "range": [
                                  1601,
                                  1610
                                ],
                                "loc": {
                                  "start": {
                                    "line": 79,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 79,
                                    "column": 67
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "name": "state",
                                  "range": [
                                    1611,
                                    1616
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 68
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 73
                                    }
                                  }
                                }
                              ],
                              "range": [
                                1601,
                                1617
                              ],
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 58
                                },
                                "end": {
                                  "line": 79,
                                  "column": 74
                                }
                              }
                            },
                            "generator": false,
                            "expression": true,
                            "range": [
                              1586,
                              1617
                            ],
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 43
                              },
                              "end": {
                                "line": 79,
                                "column": 74
                              }
                            }
                          }
                        ],
                        "range": [
                          1551,
                          1618
                        ],
                        "loc": {
                          "start": {
                            "line": 79,
                            "column": 8
                          },
                          "end": {
                            "line": 79,
                            "column": 75
                          }
                        }
                      },
                      "range": [
                        1551,
                        1619
                      ],
                      "loc": {
                        "start": {
                          "line": 79,
                          "column": 8
                        },
                        "end": {
                          "line": 79,
                          "column": 76
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "ThisExpression",
                              "range": [
                                1628,
                                1632
                              ],
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 8
                                },
                                "end": {
                                  "line": 80,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "emitter",
                              "range": [
                                1633,
                                1640
                              ],
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 13
                                },
                                "end": {
                                  "line": 80,
                                  "column": 20
                                }
                              }
                            },
                            "range": [
                              1628,
                              1640
                            ],
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 8
                              },
                              "end": {
                                "line": 80,
                                "column": 20
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "on",
                            "range": [
                              1641,
                              1643
                            ],
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 21
                              },
                              "end": {
                                "line": 80,
                                "column": 23
                              }
                            }
                          },
                          "range": [
                            1628,
                            1643
                          ],
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 8
                            },
                            "end": {
                              "line": 80,
                              "column": 23
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "ArrayExpression",
                            "elements": [
                              {
                                "type": "Literal",
                                "value": "initialized",
                                "raw": "'initialized'",
                                "range": [
                                  1645,
                                  1658
                                ],
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 38
                                  }
                                }
                              }
                            ],
                            "range": [
                              1644,
                              1659
                            ],
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 24
                              },
                              "end": {
                                "line": 80,
                                "column": 39
                              }
                            }
                          },
                          {
                            "type": "ArrowFunctionExpression",
                            "id": null,
                            "params": [],
                            "body": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    1667,
                                    1671
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 80,
                                      "column": 47
                                    },
                                    "end": {
                                      "line": 80,
                                      "column": 51
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "sync",
                                  "range": [
                                    1672,
                                    1676
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 80,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 80,
                                      "column": 56
                                    }
                                  }
                                },
                                "range": [
                                  1667,
                                  1676
                                ],
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 47
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 56
                                  }
                                }
                              },
                              "arguments": [],
                              "range": [
                                1667,
                                1678
                              ],
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 47
                                },
                                "end": {
                                  "line": 80,
                                  "column": 58
                                }
                              }
                            },
                            "generator": false,
                            "expression": true,
                            "range": [
                              1661,
                              1678
                            ],
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 41
                              },
                              "end": {
                                "line": 80,
                                "column": 58
                              }
                            }
                          }
                        ],
                        "range": [
                          1628,
                          1679
                        ],
                        "loc": {
                          "start": {
                            "line": 80,
                            "column": 8
                          },
                          "end": {
                            "line": 80,
                            "column": 59
                          }
                        }
                      },
                      "range": [
                        1628,
                        1680
                      ],
                      "loc": {
                        "start": {
                          "line": 80,
                          "column": 8
                        },
                        "end": {
                          "line": 80,
                          "column": 60
                        }
                      }
                    }
                  ],
                  "range": [
                    1541,
                    1686
                  ],
                  "loc": {
                    "start": {
                      "line": 78,
                      "column": 11
                    },
                    "end": {
                      "line": 81,
                      "column": 5
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  1538,
                  1686
                ],
                "loc": {
                  "start": {
                    "line": 78,
                    "column": 8
                  },
                  "end": {
                    "line": 81,
                    "column": 5
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                1534,
                1686
              ],
              "loc": {
                "start": {
                  "line": 78,
                  "column": 4
                },
                "end": {
                  "line": 81,
                  "column": 5
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Initializes the Storage object\n     ",
                  "range": [
                    1480,
                    1529
                  ],
                  "loc": {
                    "start": {
                      "line": 75,
                      "column": 4
                    },
                    "end": {
                      "line": 77,
                      "column": 7
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Persists the features state on state changes\n     *\n     * @param {State} state Instance of State\n     ",
                  "range": [
                    1692,
                    1808
                  ],
                  "loc": {
                    "start": {
                      "line": 83,
                      "column": 4
                    },
                    "end": {
                      "line": 87,
                      "column": 7
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "save",
                "range": [
                  1813,
                  1817
                ],
                "loc": {
                  "start": {
                    "line": 88,
                    "column": 4
                  },
                  "end": {
                    "line": 88,
                    "column": 8
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "state",
                    "range": [
                      1818,
                      1823
                    ],
                    "loc": {
                      "start": {
                        "line": 88,
                        "column": 9
                      },
                      "end": {
                        "line": 88,
                        "column": 14
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "ThisExpression",
                          "range": [
                            1839,
                            1843
                          ],
                          "loc": {
                            "start": {
                              "line": 89,
                              "column": 12
                            },
                            "end": {
                              "line": 89,
                              "column": 16
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "enableLocalStorage",
                          "range": [
                            1844,
                            1862
                          ],
                          "loc": {
                            "start": {
                              "line": 89,
                              "column": 17
                            },
                            "end": {
                              "line": 89,
                              "column": 35
                            }
                          }
                        },
                        "range": [
                          1839,
                          1862
                        ],
                        "loc": {
                          "start": {
                            "line": 89,
                            "column": 12
                          },
                          "end": {
                            "line": 89,
                            "column": 35
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": true,
                                "object": {
                                  "type": "Identifier",
                                  "name": "localStorage",
                                  "range": [
                                    1878,
                                    1890
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 90,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 90,
                                      "column": 24
                                    }
                                  }
                                },
                                "property": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        1891,
                                        1895
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 90,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 29
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "getKey",
                                      "range": [
                                        1896,
                                        1902
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 90,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 36
                                        }
                                      }
                                    },
                                    "range": [
                                      1891,
                                      1902
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 90,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 90,
                                        "column": 36
                                      }
                                    }
                                  },
                                  "arguments": [],
                                  "range": [
                                    1891,
                                    1904
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 90,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 90,
                                      "column": 38
                                    }
                                  }
                                },
                                "range": [
                                  1878,
                                  1905
                                ],
                                "loc": {
                                  "start": {
                                    "line": 90,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 90,
                                    "column": 39
                                  }
                                }
                              },
                              "right": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "JSON",
                                    "range": [
                                      1908,
                                      1912
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 90,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 90,
                                        "column": 46
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "stringify",
                                    "range": [
                                      1913,
                                      1922
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 90,
                                        "column": 47
                                      },
                                      "end": {
                                        "line": 90,
                                        "column": 56
                                      }
                                    }
                                  },
                                  "range": [
                                    1908,
                                    1922
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 90,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 90,
                                      "column": 56
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "name": "state",
                                    "range": [
                                      1923,
                                      1928
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 90,
                                        "column": 57
                                      },
                                      "end": {
                                        "line": 90,
                                        "column": 62
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  1908,
                                  1929
                                ],
                                "loc": {
                                  "start": {
                                    "line": 90,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 90,
                                    "column": 63
                                  }
                                }
                              },
                              "range": [
                                1878,
                                1929
                              ],
                              "loc": {
                                "start": {
                                  "line": 90,
                                  "column": 12
                                },
                                "end": {
                                  "line": 90,
                                  "column": 63
                                }
                              }
                            },
                            "range": [
                              1878,
                              1930
                            ],
                            "loc": {
                              "start": {
                                "line": 90,
                                "column": 12
                              },
                              "end": {
                                "line": 90,
                                "column": 64
                              }
                            }
                          }
                        ],
                        "range": [
                          1864,
                          1940
                        ],
                        "loc": {
                          "start": {
                            "line": 89,
                            "column": 37
                          },
                          "end": {
                            "line": 91,
                            "column": 9
                          }
                        }
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "Cookie",
                                  "range": [
                                    1960,
                                    1966
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 92,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 92,
                                      "column": 18
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "write",
                                  "range": [
                                    1967,
                                    1972
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 92,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 92,
                                      "column": 24
                                    }
                                  }
                                },
                                "range": [
                                  1960,
                                  1972
                                ],
                                "loc": {
                                  "start": {
                                    "line": 92,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 92,
                                    "column": 24
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        1973,
                                        1977
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 92,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 92,
                                          "column": 29
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "getKey",
                                      "range": [
                                        1978,
                                        1984
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 92,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 92,
                                          "column": 36
                                        }
                                      }
                                    },
                                    "range": [
                                      1973,
                                      1984
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 92,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 92,
                                        "column": 36
                                      }
                                    }
                                  },
                                  "arguments": [],
                                  "range": [
                                    1973,
                                    1986
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 92,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 92,
                                      "column": 38
                                    }
                                  }
                                },
                                {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "JSON",
                                      "range": [
                                        1988,
                                        1992
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 92,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 92,
                                          "column": 44
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "stringify",
                                      "range": [
                                        1993,
                                        2002
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 92,
                                          "column": 45
                                        },
                                        "end": {
                                          "line": 92,
                                          "column": 54
                                        }
                                      }
                                    },
                                    "range": [
                                      1988,
                                      2002
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 92,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 92,
                                        "column": 54
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "name": "state",
                                      "range": [
                                        2003,
                                        2008
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 92,
                                          "column": 55
                                        },
                                        "end": {
                                          "line": 92,
                                          "column": 60
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    1988,
                                    2009
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 92,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 92,
                                      "column": 61
                                    }
                                  }
                                },
                                {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      2011,
                                      2015
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 92,
                                        "column": 63
                                      },
                                      "end": {
                                        "line": 92,
                                        "column": 67
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "duration",
                                    "range": [
                                      2016,
                                      2024
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 92,
                                        "column": 68
                                      },
                                      "end": {
                                        "line": 92,
                                        "column": 76
                                      }
                                    }
                                  },
                                  "range": [
                                    2011,
                                    2024
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 92,
                                      "column": 63
                                    },
                                    "end": {
                                      "line": 92,
                                      "column": 76
                                    }
                                  }
                                }
                              ],
                              "range": [
                                1960,
                                2025
                              ],
                              "loc": {
                                "start": {
                                  "line": 92,
                                  "column": 12
                                },
                                "end": {
                                  "line": 92,
                                  "column": 77
                                }
                              }
                            },
                            "range": [
                              1960,
                              2026
                            ],
                            "loc": {
                              "start": {
                                "line": 92,
                                "column": 12
                              },
                              "end": {
                                "line": 92,
                                "column": 78
                              }
                            }
                          }
                        ],
                        "range": [
                          1946,
                          2036
                        ],
                        "loc": {
                          "start": {
                            "line": 91,
                            "column": 15
                          },
                          "end": {
                            "line": 93,
                            "column": 9
                          }
                        }
                      },
                      "range": [
                        1835,
                        2036
                      ],
                      "loc": {
                        "start": {
                          "line": 89,
                          "column": 8
                        },
                        "end": {
                          "line": 93,
                          "column": 9
                        }
                      }
                    }
                  ],
                  "range": [
                    1825,
                    2042
                  ],
                  "loc": {
                    "start": {
                      "line": 88,
                      "column": 16
                    },
                    "end": {
                      "line": 94,
                      "column": 5
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  1817,
                  2042
                ],
                "loc": {
                  "start": {
                    "line": 88,
                    "column": 8
                  },
                  "end": {
                    "line": 94,
                    "column": 5
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                1813,
                2042
              ],
              "loc": {
                "start": {
                  "line": 88,
                  "column": 4
                },
                "end": {
                  "line": 94,
                  "column": 5
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Persists the features state on state changes\n     *\n     * @param {State} state Instance of State\n     ",
                  "range": [
                    1692,
                    1808
                  ],
                  "loc": {
                    "start": {
                      "line": 83,
                      "column": 4
                    },
                    "end": {
                      "line": 87,
                      "column": 7
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Turns stored string into a State JSON object\n     *\n     *  @returns {Object} JSON object\n     ",
                  "range": [
                    2048,
                    2156
                  ],
                  "loc": {
                    "start": {
                      "line": 96,
                      "column": 4
                    },
                    "end": {
                      "line": 100,
                      "column": 7
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "retrieve",
                "range": [
                  2161,
                  2169
                ],
                "loc": {
                  "start": {
                    "line": 101,
                    "column": 4
                  },
                  "end": {
                    "line": 101,
                    "column": 12
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "id": {
                            "type": "Identifier",
                            "name": "state",
                            "range": [
                              2186,
                              2191
                            ],
                            "loc": {
                              "start": {
                                "line": 102,
                                "column": 12
                              },
                              "end": {
                                "line": 102,
                                "column": 17
                              }
                            }
                          },
                          "init": {
                            "type": "Literal",
                            "value": null,
                            "raw": "null",
                            "range": [
                              2194,
                              2198
                            ],
                            "loc": {
                              "start": {
                                "line": 102,
                                "column": 20
                              },
                              "end": {
                                "line": 102,
                                "column": 24
                              }
                            }
                          },
                          "range": [
                            2186,
                            2198
                          ],
                          "loc": {
                            "start": {
                              "line": 102,
                              "column": 12
                            },
                            "end": {
                              "line": 102,
                              "column": 24
                            }
                          }
                        }
                      ],
                      "kind": "let",
                      "range": [
                        2182,
                        2199
                      ],
                      "loc": {
                        "start": {
                          "line": 102,
                          "column": 8
                        },
                        "end": {
                          "line": 102,
                          "column": 25
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "ThisExpression",
                          "range": [
                            2212,
                            2216
                          ],
                          "loc": {
                            "start": {
                              "line": 103,
                              "column": 12
                            },
                            "end": {
                              "line": 103,
                              "column": 16
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "enableLocalStorage",
                          "range": [
                            2217,
                            2235
                          ],
                          "loc": {
                            "start": {
                              "line": 103,
                              "column": 17
                            },
                            "end": {
                              "line": 103,
                              "column": 35
                            }
                          }
                        },
                        "range": [
                          2212,
                          2235
                        ],
                        "loc": {
                          "start": {
                            "line": 103,
                            "column": 12
                          },
                          "end": {
                            "line": 103,
                            "column": 35
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "name": "state",
                                "range": [
                                  2251,
                                  2256
                                ],
                                "loc": {
                                  "start": {
                                    "line": 104,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 104,
                                    "column": 17
                                  }
                                }
                              },
                              "right": {
                                "type": "MemberExpression",
                                "computed": true,
                                "object": {
                                  "type": "Identifier",
                                  "name": "localStorage",
                                  "range": [
                                    2259,
                                    2271
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 104,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 104,
                                      "column": 32
                                    }
                                  }
                                },
                                "property": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        2272,
                                        2276
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 104,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 104,
                                          "column": 37
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "getKey",
                                      "range": [
                                        2277,
                                        2283
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 104,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 104,
                                          "column": 44
                                        }
                                      }
                                    },
                                    "range": [
                                      2272,
                                      2283
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 104,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 104,
                                        "column": 44
                                      }
                                    }
                                  },
                                  "arguments": [],
                                  "range": [
                                    2272,
                                    2285
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 104,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 104,
                                      "column": 46
                                    }
                                  }
                                },
                                "range": [
                                  2259,
                                  2286
                                ],
                                "loc": {
                                  "start": {
                                    "line": 104,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 104,
                                    "column": 47
                                  }
                                }
                              },
                              "range": [
                                2251,
                                2286
                              ],
                              "loc": {
                                "start": {
                                  "line": 104,
                                  "column": 12
                                },
                                "end": {
                                  "line": 104,
                                  "column": 47
                                }
                              }
                            },
                            "range": [
                              2251,
                              2287
                            ],
                            "loc": {
                              "start": {
                                "line": 104,
                                "column": 12
                              },
                              "end": {
                                "line": 104,
                                "column": 48
                              }
                            }
                          }
                        ],
                        "range": [
                          2237,
                          2297
                        ],
                        "loc": {
                          "start": {
                            "line": 103,
                            "column": 37
                          },
                          "end": {
                            "line": 105,
                            "column": 9
                          }
                        }
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "name": "state",
                                "range": [
                                  2317,
                                  2322
                                ],
                                "loc": {
                                  "start": {
                                    "line": 106,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 106,
                                    "column": 17
                                  }
                                }
                              },
                              "right": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "Cookie",
                                    "range": [
                                      2325,
                                      2331
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 106,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 106,
                                        "column": 26
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "read",
                                    "range": [
                                      2332,
                                      2336
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 106,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 106,
                                        "column": 31
                                      }
                                    }
                                  },
                                  "range": [
                                    2325,
                                    2336
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 106,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 106,
                                      "column": 31
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "CallExpression",
                                    "callee": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          2337,
                                          2341
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 106,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 106,
                                            "column": 36
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "getKey",
                                        "range": [
                                          2342,
                                          2348
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 106,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 106,
                                            "column": 43
                                          }
                                        }
                                      },
                                      "range": [
                                        2337,
                                        2348
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 106,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 106,
                                          "column": 43
                                        }
                                      }
                                    },
                                    "arguments": [],
                                    "range": [
                                      2337,
                                      2350
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 106,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 106,
                                        "column": 45
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  2325,
                                  2351
                                ],
                                "loc": {
                                  "start": {
                                    "line": 106,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 106,
                                    "column": 46
                                  }
                                }
                              },
                              "range": [
                                2317,
                                2351
                              ],
                              "loc": {
                                "start": {
                                  "line": 106,
                                  "column": 12
                                },
                                "end": {
                                  "line": 106,
                                  "column": 46
                                }
                              }
                            },
                            "range": [
                              2317,
                              2352
                            ],
                            "loc": {
                              "start": {
                                "line": 106,
                                "column": 12
                              },
                              "end": {
                                "line": 106,
                                "column": 47
                              }
                            }
                          }
                        ],
                        "range": [
                          2303,
                          2362
                        ],
                        "loc": {
                          "start": {
                            "line": 105,
                            "column": 15
                          },
                          "end": {
                            "line": 107,
                            "column": 9
                          }
                        }
                      },
                      "range": [
                        2208,
                        2362
                      ],
                      "loc": {
                        "start": {
                          "line": 103,
                          "column": 8
                        },
                        "end": {
                          "line": 107,
                          "column": 9
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "UnaryExpression",
                        "operator": "!",
                        "argument": {
                          "type": "Identifier",
                          "name": "state",
                          "range": [
                            2377,
                            2382
                          ],
                          "loc": {
                            "start": {
                              "line": 109,
                              "column": 13
                            },
                            "end": {
                              "line": 109,
                              "column": 18
                            }
                          }
                        },
                        "prefix": true,
                        "range": [
                          2376,
                          2382
                        ],
                        "loc": {
                          "start": {
                            "line": 109,
                            "column": 12
                          },
                          "end": {
                            "line": 109,
                            "column": 18
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ReturnStatement",
                            "argument": {
                              "type": "Literal",
                              "value": null,
                              "raw": "null",
                              "range": [
                                2405,
                                2409
                              ],
                              "loc": {
                                "start": {
                                  "line": 110,
                                  "column": 19
                                },
                                "end": {
                                  "line": 110,
                                  "column": 23
                                }
                              }
                            },
                            "range": [
                              2398,
                              2410
                            ],
                            "loc": {
                              "start": {
                                "line": 110,
                                "column": 12
                              },
                              "end": {
                                "line": 110,
                                "column": 24
                              }
                            }
                          }
                        ],
                        "range": [
                          2384,
                          2420
                        ],
                        "loc": {
                          "start": {
                            "line": 109,
                            "column": 20
                          },
                          "end": {
                            "line": 111,
                            "column": 9
                          }
                        }
                      },
                      "alternate": null,
                      "range": [
                        2372,
                        2420
                      ],
                      "loc": {
                        "start": {
                          "line": 109,
                          "column": 8
                        },
                        "end": {
                          "line": 111,
                          "column": 9
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "argument": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "JSON",
                            "range": [
                              2436,
                              2440
                            ],
                            "loc": {
                              "start": {
                                "line": 112,
                                "column": 15
                              },
                              "end": {
                                "line": 112,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "parse",
                            "range": [
                              2441,
                              2446
                            ],
                            "loc": {
                              "start": {
                                "line": 112,
                                "column": 20
                              },
                              "end": {
                                "line": 112,
                                "column": 25
                              }
                            }
                          },
                          "range": [
                            2436,
                            2446
                          ],
                          "loc": {
                            "start": {
                              "line": 112,
                              "column": 15
                            },
                            "end": {
                              "line": 112,
                              "column": 25
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "name": "state",
                            "range": [
                              2447,
                              2452
                            ],
                            "loc": {
                              "start": {
                                "line": 112,
                                "column": 26
                              },
                              "end": {
                                "line": 112,
                                "column": 31
                              }
                            }
                          }
                        ],
                        "range": [
                          2436,
                          2453
                        ],
                        "loc": {
                          "start": {
                            "line": 112,
                            "column": 15
                          },
                          "end": {
                            "line": 112,
                            "column": 32
                          }
                        }
                      },
                      "range": [
                        2429,
                        2454
                      ],
                      "loc": {
                        "start": {
                          "line": 112,
                          "column": 8
                        },
                        "end": {
                          "line": 112,
                          "column": 33
                        }
                      }
                    }
                  ],
                  "range": [
                    2172,
                    2460
                  ],
                  "loc": {
                    "start": {
                      "line": 101,
                      "column": 15
                    },
                    "end": {
                      "line": 113,
                      "column": 5
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  2169,
                  2460
                ],
                "loc": {
                  "start": {
                    "line": 101,
                    "column": 12
                  },
                  "end": {
                    "line": 113,
                    "column": 5
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                2161,
                2460
              ],
              "loc": {
                "start": {
                  "line": 101,
                  "column": 4
                },
                "end": {
                  "line": 113,
                  "column": 5
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Turns stored string into a State JSON object\n     *\n     *  @returns {Object} JSON object\n     ",
                  "range": [
                    2048,
                    2156
                  ],
                  "loc": {
                    "start": {
                      "line": 96,
                      "column": 4
                    },
                    "end": {
                      "line": 100,
                      "column": 7
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Removes persisted state from storage\n     ",
                  "range": [
                    2466,
                    2521
                  ],
                  "loc": {
                    "start": {
                      "line": 115,
                      "column": 4
                    },
                    "end": {
                      "line": 117,
                      "column": 7
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "remove",
                "range": [
                  2526,
                  2532
                ],
                "loc": {
                  "start": {
                    "line": 118,
                    "column": 4
                  },
                  "end": {
                    "line": 118,
                    "column": 10
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "ThisExpression",
                          "range": [
                            2549,
                            2553
                          ],
                          "loc": {
                            "start": {
                              "line": 119,
                              "column": 12
                            },
                            "end": {
                              "line": 119,
                              "column": 16
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "enableLocalStorage",
                          "range": [
                            2554,
                            2572
                          ],
                          "loc": {
                            "start": {
                              "line": 119,
                              "column": 17
                            },
                            "end": {
                              "line": 119,
                              "column": 35
                            }
                          }
                        },
                        "range": [
                          2549,
                          2572
                        ],
                        "loc": {
                          "start": {
                            "line": 119,
                            "column": 12
                          },
                          "end": {
                            "line": 119,
                            "column": 35
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "localStorage",
                                  "range": [
                                    2588,
                                    2600
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 24
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "removeItem",
                                  "range": [
                                    2601,
                                    2611
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 35
                                    }
                                  }
                                },
                                "range": [
                                  2588,
                                  2611
                                ],
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 35
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        2612,
                                        2616
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 120,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 120,
                                          "column": 40
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "getKey",
                                      "range": [
                                        2617,
                                        2623
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 120,
                                          "column": 41
                                        },
                                        "end": {
                                          "line": 120,
                                          "column": 47
                                        }
                                      }
                                    },
                                    "range": [
                                      2612,
                                      2623
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 47
                                      }
                                    }
                                  },
                                  "arguments": [],
                                  "range": [
                                    2612,
                                    2625
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 49
                                    }
                                  }
                                }
                              ],
                              "range": [
                                2588,
                                2626
                              ],
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 12
                                },
                                "end": {
                                  "line": 120,
                                  "column": 50
                                }
                              }
                            },
                            "range": [
                              2588,
                              2627
                            ],
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 12
                              },
                              "end": {
                                "line": 120,
                                "column": 51
                              }
                            }
                          }
                        ],
                        "range": [
                          2574,
                          2637
                        ],
                        "loc": {
                          "start": {
                            "line": 119,
                            "column": 37
                          },
                          "end": {
                            "line": 121,
                            "column": 9
                          }
                        }
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "Cookie",
                                  "range": [
                                    2657,
                                    2663
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 122,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 122,
                                      "column": 18
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "remove",
                                  "range": [
                                    2664,
                                    2670
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 122,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 122,
                                      "column": 25
                                    }
                                  }
                                },
                                "range": [
                                  2657,
                                  2670
                                ],
                                "loc": {
                                  "start": {
                                    "line": 122,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 122,
                                    "column": 25
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        2671,
                                        2675
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 122,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 122,
                                          "column": 30
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "getKey",
                                      "range": [
                                        2676,
                                        2682
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 122,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 122,
                                          "column": 37
                                        }
                                      }
                                    },
                                    "range": [
                                      2671,
                                      2682
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 122,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 122,
                                        "column": 37
                                      }
                                    }
                                  },
                                  "arguments": [],
                                  "range": [
                                    2671,
                                    2684
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 122,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 122,
                                      "column": 39
                                    }
                                  }
                                }
                              ],
                              "range": [
                                2657,
                                2685
                              ],
                              "loc": {
                                "start": {
                                  "line": 122,
                                  "column": 12
                                },
                                "end": {
                                  "line": 122,
                                  "column": 40
                                }
                              }
                            },
                            "range": [
                              2657,
                              2686
                            ],
                            "loc": {
                              "start": {
                                "line": 122,
                                "column": 12
                              },
                              "end": {
                                "line": 122,
                                "column": 41
                              }
                            }
                          }
                        ],
                        "range": [
                          2643,
                          2696
                        ],
                        "loc": {
                          "start": {
                            "line": 121,
                            "column": 15
                          },
                          "end": {
                            "line": 123,
                            "column": 9
                          }
                        }
                      },
                      "range": [
                        2545,
                        2696
                      ],
                      "loc": {
                        "start": {
                          "line": 119,
                          "column": 8
                        },
                        "end": {
                          "line": 123,
                          "column": 9
                        }
                      }
                    }
                  ],
                  "range": [
                    2535,
                    2702
                  ],
                  "loc": {
                    "start": {
                      "line": 118,
                      "column": 13
                    },
                    "end": {
                      "line": 124,
                      "column": 5
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  2532,
                  2702
                ],
                "loc": {
                  "start": {
                    "line": 118,
                    "column": 10
                  },
                  "end": {
                    "line": 124,
                    "column": 5
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                2526,
                2702
              ],
              "loc": {
                "start": {
                  "line": 118,
                  "column": 4
                },
                "end": {
                  "line": 124,
                  "column": 5
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Removes persisted state from storage\n     ",
                  "range": [
                    2466,
                    2521
                  ],
                  "loc": {
                    "start": {
                      "line": 115,
                      "column": 4
                    },
                    "end": {
                      "line": 117,
                      "column": 7
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Applies persisted state to features\n     ",
                  "range": [
                    2708,
                    2762
                  ],
                  "loc": {
                    "start": {
                      "line": 126,
                      "column": 4
                    },
                    "end": {
                      "line": 128,
                      "column": 7
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "sync",
                "range": [
                  2767,
                  2771
                ],
                "loc": {
                  "start": {
                    "line": 129,
                    "column": 4
                  },
                  "end": {
                    "line": 129,
                    "column": 8
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "id": {
                            "type": "Identifier",
                            "name": "state",
                            "range": [
                              2788,
                              2793
                            ],
                            "loc": {
                              "start": {
                                "line": 130,
                                "column": 12
                              },
                              "end": {
                                "line": 130,
                                "column": 17
                              }
                            }
                          },
                          "init": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  2796,
                                  2800
                                ],
                                "loc": {
                                  "start": {
                                    "line": 130,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 130,
                                    "column": 24
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "retrieve",
                                "range": [
                                  2801,
                                  2809
                                ],
                                "loc": {
                                  "start": {
                                    "line": 130,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 130,
                                    "column": 33
                                  }
                                }
                              },
                              "range": [
                                2796,
                                2809
                              ],
                              "loc": {
                                "start": {
                                  "line": 130,
                                  "column": 20
                                },
                                "end": {
                                  "line": 130,
                                  "column": 33
                                }
                              }
                            },
                            "arguments": [],
                            "range": [
                              2796,
                              2811
                            ],
                            "loc": {
                              "start": {
                                "line": 130,
                                "column": 20
                              },
                              "end": {
                                "line": 130,
                                "column": 35
                              }
                            }
                          },
                          "range": [
                            2788,
                            2811
                          ],
                          "loc": {
                            "start": {
                              "line": 130,
                              "column": 12
                            },
                            "end": {
                              "line": 130,
                              "column": 35
                            }
                          }
                        }
                      ],
                      "kind": "let",
                      "range": [
                        2784,
                        2812
                      ],
                      "loc": {
                        "start": {
                          "line": 130,
                          "column": 8
                        },
                        "end": {
                          "line": 130,
                          "column": 36
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "UnaryExpression",
                        "operator": "!",
                        "argument": {
                          "type": "Identifier",
                          "name": "state",
                          "range": [
                            2826,
                            2831
                          ],
                          "loc": {
                            "start": {
                              "line": 131,
                              "column": 13
                            },
                            "end": {
                              "line": 131,
                              "column": 18
                            }
                          }
                        },
                        "prefix": true,
                        "range": [
                          2825,
                          2831
                        ],
                        "loc": {
                          "start": {
                            "line": 131,
                            "column": 12
                          },
                          "end": {
                            "line": 131,
                            "column": 18
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ReturnStatement",
                            "argument": null,
                            "range": [
                              2847,
                              2854
                            ],
                            "loc": {
                              "start": {
                                "line": 132,
                                "column": 12
                              },
                              "end": {
                                "line": 132,
                                "column": 19
                              }
                            }
                          }
                        ],
                        "range": [
                          2833,
                          2864
                        ],
                        "loc": {
                          "start": {
                            "line": 131,
                            "column": 20
                          },
                          "end": {
                            "line": 133,
                            "column": 9
                          }
                        }
                      },
                      "alternate": null,
                      "range": [
                        2821,
                        2864
                      ],
                      "loc": {
                        "start": {
                          "line": 131,
                          "column": 8
                        },
                        "end": {
                          "line": 133,
                          "column": 9
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "Line",
                          "value": " override current state with persisted one and sync features",
                          "range": [
                            2873,
                            2935
                          ],
                          "loc": {
                            "start": {
                              "line": 134,
                              "column": 8
                            },
                            "end": {
                              "line": 134,
                              "column": 70
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "ThisExpression",
                              "range": [
                                2944,
                                2948
                              ],
                              "loc": {
                                "start": {
                                  "line": 135,
                                  "column": 8
                                },
                                "end": {
                                  "line": 135,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "state",
                              "range": [
                                2949,
                                2954
                              ],
                              "loc": {
                                "start": {
                                  "line": 135,
                                  "column": 13
                                },
                                "end": {
                                  "line": 135,
                                  "column": 18
                                }
                              }
                            },
                            "range": [
                              2944,
                              2954
                            ],
                            "loc": {
                              "start": {
                                "line": 135,
                                "column": 8
                              },
                              "end": {
                                "line": 135,
                                "column": 18
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "overrideAndSync",
                            "range": [
                              2955,
                              2970
                            ],
                            "loc": {
                              "start": {
                                "line": 135,
                                "column": 19
                              },
                              "end": {
                                "line": 135,
                                "column": 34
                              }
                            }
                          },
                          "range": [
                            2944,
                            2970
                          ],
                          "loc": {
                            "start": {
                              "line": 135,
                              "column": 8
                            },
                            "end": {
                              "line": 135,
                              "column": 34
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "name": "state",
                            "range": [
                              2971,
                              2976
                            ],
                            "loc": {
                              "start": {
                                "line": 135,
                                "column": 35
                              },
                              "end": {
                                "line": 135,
                                "column": 40
                              }
                            }
                          }
                        ],
                        "range": [
                          2944,
                          2977
                        ],
                        "loc": {
                          "start": {
                            "line": 135,
                            "column": 8
                          },
                          "end": {
                            "line": 135,
                            "column": 41
                          }
                        }
                      },
                      "range": [
                        2944,
                        2978
                      ],
                      "loc": {
                        "start": {
                          "line": 135,
                          "column": 8
                        },
                        "end": {
                          "line": 135,
                          "column": 42
                        }
                      },
                      "leadingComments": [
                        {
                          "type": "Line",
                          "value": " override current state with persisted one and sync features",
                          "range": [
                            2873,
                            2935
                          ],
                          "loc": {
                            "start": {
                              "line": 134,
                              "column": 8
                            },
                            "end": {
                              "line": 134,
                              "column": 70
                            }
                          }
                        }
                      ]
                    }
                  ],
                  "range": [
                    2774,
                    2984
                  ],
                  "loc": {
                    "start": {
                      "line": 129,
                      "column": 11
                    },
                    "end": {
                      "line": 136,
                      "column": 5
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  2771,
                  2984
                ],
                "loc": {
                  "start": {
                    "line": 129,
                    "column": 8
                  },
                  "end": {
                    "line": 136,
                    "column": 5
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                2767,
                2984
              ],
              "loc": {
                "start": {
                  "line": 129,
                  "column": 4
                },
                "end": {
                  "line": 136,
                  "column": 5
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Applies persisted state to features\n     ",
                  "range": [
                    2708,
                    2762
                  ],
                  "loc": {
                    "start": {
                      "line": 126,
                      "column": 4
                    },
                    "end": {
                      "line": 128,
                      "column": 7
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Returns the storage key\n     *\n     * @returns {String} Key\n     ",
                  "range": [
                    2990,
                    3068
                  ],
                  "loc": {
                    "start": {
                      "line": 138,
                      "column": 4
                    },
                    "end": {
                      "line": 142,
                      "column": 7
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "getKey",
                "range": [
                  3073,
                  3079
                ],
                "loc": {
                  "start": {
                    "line": 143,
                    "column": 4
                  },
                  "end": {
                    "line": 143,
                    "column": 10
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "argument": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "JSON",
                            "range": [
                              3099,
                              3103
                            ],
                            "loc": {
                              "start": {
                                "line": 144,
                                "column": 15
                              },
                              "end": {
                                "line": 144,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "stringify",
                            "range": [
                              3104,
                              3113
                            ],
                            "loc": {
                              "start": {
                                "line": 144,
                                "column": 20
                              },
                              "end": {
                                "line": 144,
                                "column": 29
                              }
                            }
                          },
                          "range": [
                            3099,
                            3113
                          ],
                          "loc": {
                            "start": {
                              "line": 144,
                              "column": 15
                            },
                            "end": {
                              "line": 144,
                              "column": 29
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "ObjectExpression",
                            "properties": [
                              {
                                "type": "Property",
                                "key": {
                                  "type": "Identifier",
                                  "name": "key",
                                  "range": [
                                    3128,
                                    3131
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 145,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 145,
                                      "column": 15
                                    }
                                  }
                                },
                                "value": {
                                  "type": "TemplateLiteral",
                                  "quasis": [
                                    {
                                      "type": "TemplateElement",
                                      "value": {
                                        "raw": "",
                                        "cooked": ""
                                      },
                                      "tail": false,
                                      "range": [
                                        3133,
                                        3136
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 145,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 145,
                                          "column": 20
                                        }
                                      }
                                    },
                                    {
                                      "type": "TemplateElement",
                                      "value": {
                                        "raw": "_",
                                        "cooked": "_"
                                      },
                                      "tail": false,
                                      "range": [
                                        3150,
                                        3154
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 145,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 145,
                                          "column": 38
                                        }
                                      }
                                    },
                                    {
                                      "type": "TemplateElement",
                                      "value": {
                                        "raw": "",
                                        "cooked": ""
                                      },
                                      "tail": true,
                                      "range": [
                                        3164,
                                        3166
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 145,
                                          "column": 48
                                        },
                                        "end": {
                                          "line": 145,
                                          "column": 50
                                        }
                                      }
                                    }
                                  ],
                                  "expressions": [
                                    {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            3136,
                                            3140
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 145,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 145,
                                              "column": 24
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "tf",
                                          "range": [
                                            3141,
                                            3143
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 145,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 145,
                                              "column": 27
                                            }
                                          }
                                        },
                                        "range": [
                                          3136,
                                          3143
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 145,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 145,
                                            "column": 27
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "prfxTf",
                                        "range": [
                                          3144,
                                          3150
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 145,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 145,
                                            "column": 34
                                          }
                                        }
                                      },
                                      "range": [
                                        3136,
                                        3150
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 145,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 145,
                                          "column": 34
                                        }
                                      }
                                    },
                                    {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            3154,
                                            3158
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 145,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 145,
                                              "column": 42
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "tf",
                                          "range": [
                                            3159,
                                            3161
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 145,
                                              "column": 43
                                            },
                                            "end": {
                                              "line": 145,
                                              "column": 45
                                            }
                                          }
                                        },
                                        "range": [
                                          3154,
                                          3161
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 145,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 145,
                                            "column": 45
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "id",
                                        "range": [
                                          3162,
                                          3164
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 145,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 145,
                                            "column": 48
                                          }
                                        }
                                      },
                                      "range": [
                                        3154,
                                        3164
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 145,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 145,
                                          "column": 48
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    3133,
                                    3166
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 145,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 145,
                                      "column": 50
                                    }
                                  }
                                },
                                "kind": "init",
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "range": [
                                  3128,
                                  3166
                                ],
                                "loc": {
                                  "start": {
                                    "line": 145,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 145,
                                    "column": 50
                                  }
                                }
                              },
                              {
                                "type": "Property",
                                "key": {
                                  "type": "Identifier",
                                  "name": "path",
                                  "range": [
                                    3180,
                                    3184
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 146,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 146,
                                      "column": 16
                                    }
                                  }
                                },
                                "value": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "location",
                                    "range": [
                                      3186,
                                      3194
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 146,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 146,
                                        "column": 26
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "pathname",
                                    "range": [
                                      3195,
                                      3203
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 146,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 146,
                                        "column": 35
                                      }
                                    }
                                  },
                                  "range": [
                                    3186,
                                    3203
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 146,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 146,
                                      "column": 35
                                    }
                                  }
                                },
                                "kind": "init",
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "range": [
                                  3180,
                                  3203
                                ],
                                "loc": {
                                  "start": {
                                    "line": 146,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 146,
                                    "column": 35
                                  }
                                }
                              }
                            ],
                            "range": [
                              3114,
                              3213
                            ],
                            "loc": {
                              "start": {
                                "line": 144,
                                "column": 30
                              },
                              "end": {
                                "line": 147,
                                "column": 9
                              }
                            }
                          }
                        ],
                        "range": [
                          3099,
                          3214
                        ],
                        "loc": {
                          "start": {
                            "line": 144,
                            "column": 15
                          },
                          "end": {
                            "line": 147,
                            "column": 10
                          }
                        }
                      },
                      "range": [
                        3092,
                        3215
                      ],
                      "loc": {
                        "start": {
                          "line": 144,
                          "column": 8
                        },
                        "end": {
                          "line": 147,
                          "column": 11
                        }
                      }
                    }
                  ],
                  "range": [
                    3082,
                    3221
                  ],
                  "loc": {
                    "start": {
                      "line": 143,
                      "column": 13
                    },
                    "end": {
                      "line": 148,
                      "column": 5
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  3079,
                  3221
                ],
                "loc": {
                  "start": {
                    "line": 143,
                    "column": 10
                  },
                  "end": {
                    "line": 148,
                    "column": 5
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                3073,
                3221
              ],
              "loc": {
                "start": {
                  "line": 143,
                  "column": 4
                },
                "end": {
                  "line": 148,
                  "column": 5
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Returns the storage key\n     *\n     * @returns {String} Key\n     ",
                  "range": [
                    2990,
                    3068
                  ],
                  "loc": {
                    "start": {
                      "line": 138,
                      "column": 4
                    },
                    "end": {
                      "line": 142,
                      "column": 7
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Release Storage event subscriptions and clear fields\n     ",
                  "range": [
                    3227,
                    3298
                  ],
                  "loc": {
                    "start": {
                      "line": 150,
                      "column": 4
                    },
                    "end": {
                      "line": 152,
                      "column": 7
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "destroy",
                "range": [
                  3303,
                  3310
                ],
                "loc": {
                  "start": {
                    "line": 153,
                    "column": 4
                  },
                  "end": {
                    "line": 153,
                    "column": 11
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "ThisExpression",
                              "range": [
                                3323,
                                3327
                              ],
                              "loc": {
                                "start": {
                                  "line": 154,
                                  "column": 8
                                },
                                "end": {
                                  "line": 154,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "emitter",
                              "range": [
                                3328,
                                3335
                              ],
                              "loc": {
                                "start": {
                                  "line": 154,
                                  "column": 13
                                },
                                "end": {
                                  "line": 154,
                                  "column": 20
                                }
                              }
                            },
                            "range": [
                              3323,
                              3335
                            ],
                            "loc": {
                              "start": {
                                "line": 154,
                                "column": 8
                              },
                              "end": {
                                "line": 154,
                                "column": 20
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "off",
                            "range": [
                              3336,
                              3339
                            ],
                            "loc": {
                              "start": {
                                "line": 154,
                                "column": 21
                              },
                              "end": {
                                "line": 154,
                                "column": 24
                              }
                            }
                          },
                          "range": [
                            3323,
                            3339
                          ],
                          "loc": {
                            "start": {
                              "line": 154,
                              "column": 8
                            },
                            "end": {
                              "line": 154,
                              "column": 24
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "ArrayExpression",
                            "elements": [
                              {
                                "type": "Literal",
                                "value": "state-changed",
                                "raw": "'state-changed'",
                                "range": [
                                  3341,
                                  3356
                                ],
                                "loc": {
                                  "start": {
                                    "line": 154,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 154,
                                    "column": 41
                                  }
                                }
                              }
                            ],
                            "range": [
                              3340,
                              3357
                            ],
                            "loc": {
                              "start": {
                                "line": 154,
                                "column": 25
                              },
                              "end": {
                                "line": 154,
                                "column": 42
                              }
                            }
                          },
                          {
                            "type": "ArrowFunctionExpression",
                            "id": null,
                            "params": [
                              {
                                "type": "Identifier",
                                "name": "tf",
                                "range": [
                                  3360,
                                  3362
                                ],
                                "loc": {
                                  "start": {
                                    "line": 154,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 154,
                                    "column": 47
                                  }
                                }
                              },
                              {
                                "type": "Identifier",
                                "name": "state",
                                "range": [
                                  3364,
                                  3369
                                ],
                                "loc": {
                                  "start": {
                                    "line": 154,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 154,
                                    "column": 54
                                  }
                                }
                              }
                            ],
                            "body": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    3374,
                                    3378
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 154,
                                      "column": 59
                                    },
                                    "end": {
                                      "line": 154,
                                      "column": 63
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "save",
                                  "range": [
                                    3379,
                                    3383
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 154,
                                      "column": 64
                                    },
                                    "end": {
                                      "line": 154,
                                      "column": 68
                                    }
                                  }
                                },
                                "range": [
                                  3374,
                                  3383
                                ],
                                "loc": {
                                  "start": {
                                    "line": 154,
                                    "column": 59
                                  },
                                  "end": {
                                    "line": 154,
                                    "column": 68
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "name": "state",
                                  "range": [
                                    3384,
                                    3389
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 154,
                                      "column": 69
                                    },
                                    "end": {
                                      "line": 154,
                                      "column": 74
                                    }
                                  }
                                }
                              ],
                              "range": [
                                3374,
                                3390
                              ],
                              "loc": {
                                "start": {
                                  "line": 154,
                                  "column": 59
                                },
                                "end": {
                                  "line": 154,
                                  "column": 75
                                }
                              }
                            },
                            "generator": false,
                            "expression": true,
                            "range": [
                              3359,
                              3390
                            ],
                            "loc": {
                              "start": {
                                "line": 154,
                                "column": 44
                              },
                              "end": {
                                "line": 154,
                                "column": 75
                              }
                            }
                          }
                        ],
                        "range": [
                          3323,
                          3391
                        ],
                        "loc": {
                          "start": {
                            "line": 154,
                            "column": 8
                          },
                          "end": {
                            "line": 154,
                            "column": 76
                          }
                        }
                      },
                      "range": [
                        3323,
                        3392
                      ],
                      "loc": {
                        "start": {
                          "line": 154,
                          "column": 8
                        },
                        "end": {
                          "line": 154,
                          "column": 77
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "ThisExpression",
                              "range": [
                                3401,
                                3405
                              ],
                              "loc": {
                                "start": {
                                  "line": 155,
                                  "column": 8
                                },
                                "end": {
                                  "line": 155,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "emitter",
                              "range": [
                                3406,
                                3413
                              ],
                              "loc": {
                                "start": {
                                  "line": 155,
                                  "column": 13
                                },
                                "end": {
                                  "line": 155,
                                  "column": 20
                                }
                              }
                            },
                            "range": [
                              3401,
                              3413
                            ],
                            "loc": {
                              "start": {
                                "line": 155,
                                "column": 8
                              },
                              "end": {
                                "line": 155,
                                "column": 20
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "off",
                            "range": [
                              3414,
                              3417
                            ],
                            "loc": {
                              "start": {
                                "line": 155,
                                "column": 21
                              },
                              "end": {
                                "line": 155,
                                "column": 24
                              }
                            }
                          },
                          "range": [
                            3401,
                            3417
                          ],
                          "loc": {
                            "start": {
                              "line": 155,
                              "column": 8
                            },
                            "end": {
                              "line": 155,
                              "column": 24
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "ArrayExpression",
                            "elements": [
                              {
                                "type": "Literal",
                                "value": "initialized",
                                "raw": "'initialized'",
                                "range": [
                                  3419,
                                  3432
                                ],
                                "loc": {
                                  "start": {
                                    "line": 155,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 155,
                                    "column": 39
                                  }
                                }
                              }
                            ],
                            "range": [
                              3418,
                              3433
                            ],
                            "loc": {
                              "start": {
                                "line": 155,
                                "column": 25
                              },
                              "end": {
                                "line": 155,
                                "column": 40
                              }
                            }
                          },
                          {
                            "type": "ArrowFunctionExpression",
                            "id": null,
                            "params": [],
                            "body": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    3441,
                                    3445
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 155,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 155,
                                      "column": 52
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "sync",
                                  "range": [
                                    3446,
                                    3450
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 155,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 155,
                                      "column": 57
                                    }
                                  }
                                },
                                "range": [
                                  3441,
                                  3450
                                ],
                                "loc": {
                                  "start": {
                                    "line": 155,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 155,
                                    "column": 57
                                  }
                                }
                              },
                              "arguments": [],
                              "range": [
                                3441,
                                3452
                              ],
                              "loc": {
                                "start": {
                                  "line": 155,
                                  "column": 48
                                },
                                "end": {
                                  "line": 155,
                                  "column": 59
                                }
                              }
                            },
                            "generator": false,
                            "expression": true,
                            "range": [
                              3435,
                              3452
                            ],
                            "loc": {
                              "start": {
                                "line": 155,
                                "column": 42
                              },
                              "end": {
                                "line": 155,
                                "column": 59
                              }
                            }
                          }
                        ],
                        "range": [
                          3401,
                          3453
                        ],
                        "loc": {
                          "start": {
                            "line": 155,
                            "column": 8
                          },
                          "end": {
                            "line": 155,
                            "column": 60
                          }
                        }
                      },
                      "range": [
                        3401,
                        3454
                      ],
                      "loc": {
                        "start": {
                          "line": 155,
                          "column": 8
                        },
                        "end": {
                          "line": 155,
                          "column": 61
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              3464,
                              3468
                            ],
                            "loc": {
                              "start": {
                                "line": 157,
                                "column": 8
                              },
                              "end": {
                                "line": 157,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "remove",
                            "range": [
                              3469,
                              3475
                            ],
                            "loc": {
                              "start": {
                                "line": 157,
                                "column": 13
                              },
                              "end": {
                                "line": 157,
                                "column": 19
                              }
                            }
                          },
                          "range": [
                            3464,
                            3475
                          ],
                          "loc": {
                            "start": {
                              "line": 157,
                              "column": 8
                            },
                            "end": {
                              "line": 157,
                              "column": 19
                            }
                          }
                        },
                        "arguments": [],
                        "range": [
                          3464,
                          3477
                        ],
                        "loc": {
                          "start": {
                            "line": 157,
                            "column": 8
                          },
                          "end": {
                            "line": 157,
                            "column": 21
                          }
                        }
                      },
                      "range": [
                        3464,
                        3478
                      ],
                      "loc": {
                        "start": {
                          "line": 157,
                          "column": 8
                        },
                        "end": {
                          "line": 157,
                          "column": 22
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              3488,
                              3492
                            ],
                            "loc": {
                              "start": {
                                "line": 159,
                                "column": 8
                              },
                              "end": {
                                "line": 159,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "state",
                            "range": [
                              3493,
                              3498
                            ],
                            "loc": {
                              "start": {
                                "line": 159,
                                "column": 13
                              },
                              "end": {
                                "line": 159,
                                "column": 18
                              }
                            }
                          },
                          "range": [
                            3488,
                            3498
                          ],
                          "loc": {
                            "start": {
                              "line": 159,
                              "column": 8
                            },
                            "end": {
                              "line": 159,
                              "column": 18
                            }
                          }
                        },
                        "right": {
                          "type": "Literal",
                          "value": null,
                          "raw": "null",
                          "range": [
                            3501,
                            3505
                          ],
                          "loc": {
                            "start": {
                              "line": 159,
                              "column": 21
                            },
                            "end": {
                              "line": 159,
                              "column": 25
                            }
                          }
                        },
                        "range": [
                          3488,
                          3505
                        ],
                        "loc": {
                          "start": {
                            "line": 159,
                            "column": 8
                          },
                          "end": {
                            "line": 159,
                            "column": 25
                          }
                        }
                      },
                      "range": [
                        3488,
                        3506
                      ],
                      "loc": {
                        "start": {
                          "line": 159,
                          "column": 8
                        },
                        "end": {
                          "line": 159,
                          "column": 26
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              3515,
                              3519
                            ],
                            "loc": {
                              "start": {
                                "line": 160,
                                "column": 8
                              },
                              "end": {
                                "line": 160,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "emitter",
                            "range": [
                              3520,
                              3527
                            ],
                            "loc": {
                              "start": {
                                "line": 160,
                                "column": 13
                              },
                              "end": {
                                "line": 160,
                                "column": 20
                              }
                            }
                          },
                          "range": [
                            3515,
                            3527
                          ],
                          "loc": {
                            "start": {
                              "line": 160,
                              "column": 8
                            },
                            "end": {
                              "line": 160,
                              "column": 20
                            }
                          }
                        },
                        "right": {
                          "type": "Literal",
                          "value": null,
                          "raw": "null",
                          "range": [
                            3530,
                            3534
                          ],
                          "loc": {
                            "start": {
                              "line": 160,
                              "column": 23
                            },
                            "end": {
                              "line": 160,
                              "column": 27
                            }
                          }
                        },
                        "range": [
                          3515,
                          3534
                        ],
                        "loc": {
                          "start": {
                            "line": 160,
                            "column": 8
                          },
                          "end": {
                            "line": 160,
                            "column": 27
                          }
                        }
                      },
                      "range": [
                        3515,
                        3535
                      ],
                      "loc": {
                        "start": {
                          "line": 160,
                          "column": 8
                        },
                        "end": {
                          "line": 160,
                          "column": 28
                        }
                      }
                    }
                  ],
                  "range": [
                    3313,
                    3541
                  ],
                  "loc": {
                    "start": {
                      "line": 153,
                      "column": 14
                    },
                    "end": {
                      "line": 161,
                      "column": 5
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  3310,
                  3541
                ],
                "loc": {
                  "start": {
                    "line": 153,
                    "column": 11
                  },
                  "end": {
                    "line": 161,
                    "column": 5
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                3303,
                3541
              ],
              "loc": {
                "start": {
                  "line": 153,
                  "column": 4
                },
                "end": {
                  "line": 161,
                  "column": 5
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Release Storage event subscriptions and clear fields\n     ",
                  "range": [
                    3227,
                    3298
                  ],
                  "loc": {
                    "start": {
                      "line": 150,
                      "column": 4
                    },
                    "end": {
                      "line": 152,
                      "column": 7
                    }
                  }
                }
              ],
              "static": false
            }
          ],
          "range": [
            405,
            3543
          ],
          "loc": {
            "start": {
              "line": 22,
              "column": 21
            },
            "end": {
              "line": 162,
              "column": 1
            }
          }
        },
        "range": [
          391,
          3543
        ],
        "loc": {
          "start": {
            "line": 22,
            "column": 7
          },
          "end": {
            "line": 162,
            "column": 1
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * Stores the features state in browser's local storage or cookie\n *\n * @export\n * @class Storage\n ",
            "range": [
              278,
              383
            ],
            "loc": {
              "start": {
                "line": 16,
                "column": 0
              },
              "end": {
                "line": 21,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "range": [
        384,
        3543
      ],
      "loc": {
        "start": {
          "line": 22,
          "column": 0
        },
        "end": {
          "line": 162,
          "column": 1
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * Stores the features state in browser's local storage or cookie\n *\n * @export\n * @class Storage\n ",
          "range": [
            278,
            383
          ],
          "loc": {
            "start": {
              "line": 16,
              "column": 0
            },
            "end": {
              "line": 21,
              "column": 3
            }
          }
        }
      ]
    }
  ],
  "sourceType": "module",
  "range": [
    1,
    3543
  ],
  "loc": {
    "start": {
      "line": 2,
      "column": 0
    },
    "end": {
      "line": 162,
      "column": 1
    }
  },
  "comments": [
    {
      "type": "Block",
      "value": "*\n * Checks if browser has Storage feature\n ",
      "range": [
        161,
        209
      ],
      "loc": {
        "start": {
          "line": 9,
          "column": 0
        },
        "end": {
          "line": 11,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n * Stores the features state in browser's local storage or cookie\n *\n * @export\n * @class Storage\n ",
      "range": [
        278,
        383
      ],
      "loc": {
        "start": {
          "line": 16,
          "column": 0
        },
        "end": {
          "line": 21,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n     * Creates an instance of Storage\n     *\n     * @param {State} state Instance of State\n     ",
      "range": [
        412,
        514
      ],
      "loc": {
        "start": {
          "line": 24,
          "column": 4
        },
        "end": {
          "line": 28,
          "column": 7
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n         * State object\n         * @type {State}\n         * @private\n         ",
      "range": [
        549,
        633
      ],
      "loc": {
        "start": {
          "line": 31,
          "column": 8
        },
        "end": {
          "line": 35,
          "column": 11
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n         * TableFilter object\n         * @type {TableFilter}\n         * @private\n         ",
      "range": [
        671,
        767
      ],
      "loc": {
        "start": {
          "line": 38,
          "column": 8
        },
        "end": {
          "line": 42,
          "column": 11
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n         * Persist with local storage\n         * @type {Boolean}\n         * @private\n         ",
      "range": [
        805,
        905
      ],
      "loc": {
        "start": {
          "line": 45,
          "column": 8
        },
        "end": {
          "line": 49,
          "column": 11
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n         * Persist with cookie\n         * @type {Boolean}\n         * @private\n         ",
      "range": [
        991,
        1084
      ],
      "loc": {
        "start": {
          "line": 52,
          "column": 8
        },
        "end": {
          "line": 56,
          "column": 11
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n         * Emitter object\n         * @type {Emitter}\n         * @private\n         ",
      "range": [
        1170,
        1258
      ],
      "loc": {
        "start": {
          "line": 59,
          "column": 8
        },
        "end": {
          "line": 63,
          "column": 11
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n         * Cookie duration in hours from state object\n         * @type {Number}\n         * @private\n         ",
      "range": [
        1306,
        1421
      ],
      "loc": {
        "start": {
          "line": 66,
          "column": 8
        },
        "end": {
          "line": 70,
          "column": 11
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n     * Initializes the Storage object\n     ",
      "range": [
        1480,
        1529
      ],
      "loc": {
        "start": {
          "line": 75,
          "column": 4
        },
        "end": {
          "line": 77,
          "column": 7
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n     * Persists the features state on state changes\n     *\n     * @param {State} state Instance of State\n     ",
      "range": [
        1692,
        1808
      ],
      "loc": {
        "start": {
          "line": 83,
          "column": 4
        },
        "end": {
          "line": 87,
          "column": 7
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n     * Turns stored string into a State JSON object\n     *\n     *  @returns {Object} JSON object\n     ",
      "range": [
        2048,
        2156
      ],
      "loc": {
        "start": {
          "line": 96,
          "column": 4
        },
        "end": {
          "line": 100,
          "column": 7
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n     * Removes persisted state from storage\n     ",
      "range": [
        2466,
        2521
      ],
      "loc": {
        "start": {
          "line": 115,
          "column": 4
        },
        "end": {
          "line": 117,
          "column": 7
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n     * Applies persisted state to features\n     ",
      "range": [
        2708,
        2762
      ],
      "loc": {
        "start": {
          "line": 126,
          "column": 4
        },
        "end": {
          "line": 128,
          "column": 7
        }
      }
    },
    {
      "type": "Line",
      "value": " override current state with persisted one and sync features",
      "range": [
        2873,
        2935
      ],
      "loc": {
        "start": {
          "line": 134,
          "column": 8
        },
        "end": {
          "line": 134,
          "column": 70
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n     * Returns the storage key\n     *\n     * @returns {String} Key\n     ",
      "range": [
        2990,
        3068
      ],
      "loc": {
        "start": {
          "line": 138,
          "column": 4
        },
        "end": {
          "line": 142,
          "column": 7
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n     * Release Storage event subscriptions and clear fields\n     ",
      "range": [
        3227,
        3298
      ],
      "loc": {
        "start": {
          "line": 150,
          "column": 4
        },
        "end": {
          "line": 152,
          "column": 7
        }
      }
    }
  ]
}