{
  "type": "File",
  "start": 0,
  "end": 9588,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 254,
      "column": 33
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 9588,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 254,
        "column": 33
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "ExpressionStatement",
        "start": 14,
        "end": 76,
        "loc": {
          "start": {
            "line": 2,
            "column": 0
          },
          "end": {
            "line": 2,
            "column": 62
          }
        },
        "expression": {
          "type": "CallExpression",
          "start": 14,
          "end": 75,
          "loc": {
            "start": {
              "line": 2,
              "column": 0
            },
            "end": {
              "line": 2,
              "column": 61
            }
          },
          "callee": {
            "type": "MemberExpression",
            "start": 14,
            "end": 35,
            "loc": {
              "start": {
                "line": 2,
                "column": 0
              },
              "end": {
                "line": 2,
                "column": 21
              }
            },
            "object": {
              "type": "Identifier",
              "start": 14,
              "end": 20,
              "loc": {
                "start": {
                  "line": 2,
                  "column": 0
                },
                "end": {
                  "line": 2,
                  "column": 6
                },
                "identifierName": "Object"
              },
              "name": "Object"
            },
            "property": {
              "type": "Identifier",
              "start": 21,
              "end": 35,
              "loc": {
                "start": {
                  "line": 2,
                  "column": 7
                },
                "end": {
                  "line": 2,
                  "column": 21
                },
                "identifierName": "defineProperty"
              },
              "name": "defineProperty"
            },
            "computed": false
          },
          "arguments": [
            {
              "type": "Identifier",
              "start": 36,
              "end": 43,
              "loc": {
                "start": {
                  "line": 2,
                  "column": 22
                },
                "end": {
                  "line": 2,
                  "column": 29
                },
                "identifierName": "exports"
              },
              "name": "exports"
            },
            {
              "type": "StringLiteral",
              "start": 45,
              "end": 57,
              "loc": {
                "start": {
                  "line": 2,
                  "column": 31
                },
                "end": {
                  "line": 2,
                  "column": 43
                }
              },
              "extra": {
                "rawValue": "__esModule",
                "raw": "\"__esModule\""
              },
              "value": "__esModule"
            },
            {
              "type": "ObjectExpression",
              "start": 59,
              "end": 74,
              "loc": {
                "start": {
                  "line": 2,
                  "column": 45
                },
                "end": {
                  "line": 2,
                  "column": 60
                }
              },
              "properties": [
                {
                  "type": "ObjectProperty",
                  "start": 61,
                  "end": 72,
                  "loc": {
                    "start": {
                      "line": 2,
                      "column": 47
                    },
                    "end": {
                      "line": 2,
                      "column": 58
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 61,
                    "end": 66,
                    "loc": {
                      "start": {
                        "line": 2,
                        "column": 47
                      },
                      "end": {
                        "line": 2,
                        "column": 52
                      },
                      "identifierName": "value"
                    },
                    "name": "value"
                  },
                  "value": {
                    "type": "BooleanLiteral",
                    "start": 68,
                    "end": 72,
                    "loc": {
                      "start": {
                        "line": 2,
                        "column": 54
                      },
                      "end": {
                        "line": 2,
                        "column": 58
                      }
                    },
                    "value": true
                  }
                }
              ]
            }
          ]
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 77,
        "end": 100,
        "loc": {
          "start": {
            "line": 3,
            "column": 0
          },
          "end": {
            "line": 3,
            "column": 23
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 77,
          "end": 99,
          "loc": {
            "start": {
              "line": 3,
              "column": 0
            },
            "end": {
              "line": 3,
              "column": 22
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 77,
            "end": 90,
            "loc": {
              "start": {
                "line": 3,
                "column": 0
              },
              "end": {
                "line": 3,
                "column": 13
              }
            },
            "object": {
              "type": "Identifier",
              "start": 77,
              "end": 84,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 0
                },
                "end": {
                  "line": 3,
                  "column": 7
                },
                "identifierName": "exports"
              },
              "name": "exports"
            },
            "property": {
              "type": "Identifier",
              "start": 85,
              "end": 90,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 8
                },
                "end": {
                  "line": 3,
                  "column": 13
                },
                "identifierName": "Store"
              },
              "name": "Store"
            },
            "computed": false
          },
          "right": {
            "type": "UnaryExpression",
            "start": 93,
            "end": 99,
            "loc": {
              "start": {
                "line": 3,
                "column": 16
              },
              "end": {
                "line": 3,
                "column": 22
              }
            },
            "operator": "void",
            "prefix": true,
            "argument": {
              "type": "NumericLiteral",
              "start": 98,
              "end": 99,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 21
                },
                "end": {
                  "line": 3,
                  "column": 22
                }
              },
              "extra": {
                "rawValue": 0,
                "raw": "0"
              },
              "value": 0
            },
            "extra": {
              "parenthesizedArgument": false
            }
          }
        },
        "trailingComments": [
          {
            "type": "CommentBlock",
            "value": "*\n * Created by sam_g on 2/7/2017.\n ",
            "start": 101,
            "end": 141,
            "loc": {
              "start": {
                "line": 4,
                "column": 0
              },
              "end": {
                "line": 6,
                "column": 3
              }
            }
          }
        ]
      },
      {
        "type": "VariableDeclaration",
        "start": 142,
        "end": 168,
        "loc": {
          "start": {
            "line": 7,
            "column": 0
          },
          "end": {
            "line": 7,
            "column": 26
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 146,
            "end": 167,
            "loc": {
              "start": {
                "line": 7,
                "column": 4
              },
              "end": {
                "line": 7,
                "column": 25
              }
            },
            "id": {
              "type": "Identifier",
              "start": 146,
              "end": 147,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 4
                },
                "end": {
                  "line": 7,
                  "column": 5
                },
                "identifierName": "_"
              },
              "name": "_",
              "leadingComments": null
            },
            "init": {
              "type": "CallExpression",
              "start": 150,
              "end": 167,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 8
                },
                "end": {
                  "line": 7,
                  "column": 25
                }
              },
              "callee": {
                "type": "Identifier",
                "start": 150,
                "end": 157,
                "loc": {
                  "start": {
                    "line": 7,
                    "column": 8
                  },
                  "end": {
                    "line": 7,
                    "column": 15
                  },
                  "identifierName": "require"
                },
                "name": "require"
              },
              "arguments": [
                {
                  "type": "StringLiteral",
                  "start": 158,
                  "end": 166,
                  "loc": {
                    "start": {
                      "line": 7,
                      "column": 16
                    },
                    "end": {
                      "line": 7,
                      "column": 24
                    }
                  },
                  "extra": {
                    "rawValue": "lodash",
                    "raw": "\"lodash\""
                  },
                  "value": "lodash"
                }
              ]
            },
            "leadingComments": null
          }
        ],
        "kind": "var",
        "leadingComments": [
          {
            "type": "CommentBlock",
            "value": "*\n * Created by sam_g on 2/7/2017.\n ",
            "start": 101,
            "end": 141,
            "loc": {
              "start": {
                "line": 4,
                "column": 0
              },
              "end": {
                "line": 6,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "CommentLine",
            "value": " import * as areEqual from 'fbjs/lib/areEqual';s",
            "start": 169,
            "end": 219,
            "loc": {
              "start": {
                "line": 8,
                "column": 0
              },
              "end": {
                "line": 8,
                "column": 50
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "* Simple data store with history recording and on change callbacks ",
            "start": 220,
            "end": 291,
            "loc": {
              "start": {
                "line": 9,
                "column": 0
              },
              "end": {
                "line": 9,
                "column": 71
              }
            }
          }
        ]
      },
      {
        "type": "VariableDeclaration",
        "start": 292,
        "end": 9506,
        "loc": {
          "start": {
            "line": 10,
            "column": 0
          },
          "end": {
            "line": 251,
            "column": 5
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 296,
            "end": 9505,
            "loc": {
              "start": {
                "line": 10,
                "column": 4
              },
              "end": {
                "line": 251,
                "column": 4
              }
            },
            "id": {
              "type": "Identifier",
              "start": 296,
              "end": 301,
              "loc": {
                "start": {
                  "line": 10,
                  "column": 4
                },
                "end": {
                  "line": 10,
                  "column": 9
                },
                "identifierName": "Store"
              },
              "name": "Store",
              "leadingComments": null
            },
            "init": {
              "type": "CallExpression",
              "start": 319,
              "end": 9504,
              "loc": {
                "start": {
                  "line": 10,
                  "column": 27
                },
                "end": {
                  "line": 251,
                  "column": 3
                }
              },
              "callee": {
                "type": "FunctionExpression",
                "start": 319,
                "end": 9502,
                "loc": {
                  "start": {
                    "line": 10,
                    "column": 27
                  },
                  "end": {
                    "line": 251,
                    "column": 1
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 331,
                  "end": 9502,
                  "loc": {
                    "start": {
                      "line": 10,
                      "column": 39
                    },
                    "end": {
                      "line": 251,
                      "column": 1
                    }
                  },
                  "body": [
                    {
                      "type": "FunctionDeclaration",
                      "start": 456,
                      "end": 1104,
                      "loc": {
                        "start": {
                          "line": 15,
                          "column": 4
                        },
                        "end": {
                          "line": 34,
                          "column": 5
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 465,
                        "end": 470,
                        "loc": {
                          "start": {
                            "line": 15,
                            "column": 13
                          },
                          "end": {
                            "line": 15,
                            "column": 18
                          },
                          "identifierName": "Store"
                        },
                        "name": "Store",
                        "leadingComments": null
                      },
                      "generator": false,
                      "expression": false,
                      "async": false,
                      "params": [
                        {
                          "type": "Identifier",
                          "start": 471,
                          "end": 476,
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 19
                            },
                            "end": {
                              "line": 15,
                              "column": 24
                            },
                            "identifierName": "state"
                          },
                          "name": "state"
                        }
                      ],
                      "body": {
                        "type": "BlockStatement",
                        "start": 478,
                        "end": 1104,
                        "loc": {
                          "start": {
                            "line": 15,
                            "column": 26
                          },
                          "end": {
                            "line": 34,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 588,
                            "end": 611,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 8
                              },
                              "end": {
                                "line": 22,
                                "column": 31
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 588,
                              "end": 610,
                              "loc": {
                                "start": {
                                  "line": 22,
                                  "column": 8
                                },
                                "end": {
                                  "line": 22,
                                  "column": 30
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 588,
                                "end": 605,
                                "loc": {
                                  "start": {
                                    "line": 22,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 22,
                                    "column": 25
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 588,
                                  "end": 592,
                                  "loc": {
                                    "start": {
                                      "line": 22,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 22,
                                      "column": 12
                                    }
                                  },
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 593,
                                  "end": 605,
                                  "loc": {
                                    "start": {
                                      "line": 22,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 22,
                                      "column": 25
                                    },
                                    "identifierName": "_boundStates"
                                  },
                                  "name": "_boundStates"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "right": {
                                "type": "ArrayExpression",
                                "start": 608,
                                "end": 610,
                                "loc": {
                                  "start": {
                                    "line": 22,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 22,
                                    "column": 30
                                  }
                                },
                                "elements": []
                              },
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentBlock",
                                "value": "**\n         *\n         * @ignore\n         * @type {any[]}\n         * @private\n         ",
                                "start": 488,
                                "end": 579,
                                "loc": {
                                  "start": {
                                    "line": 16,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 21,
                                    "column": 11
                                  }
                                }
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 620,
                            "end": 647,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 8
                              },
                              "end": {
                                "line": 23,
                                "column": 35
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 620,
                              "end": 646,
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 8
                                },
                                "end": {
                                  "line": 23,
                                  "column": 34
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 620,
                                "end": 641,
                                "loc": {
                                  "start": {
                                    "line": 23,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 23,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 620,
                                  "end": 624,
                                  "loc": {
                                    "start": {
                                      "line": 23,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 23,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 625,
                                  "end": 641,
                                  "loc": {
                                    "start": {
                                      "line": 23,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 23,
                                      "column": 29
                                    },
                                    "identifierName": "maxHistoryLength"
                                  },
                                  "name": "maxHistoryLength"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "NumericLiteral",
                                "start": 644,
                                "end": 646,
                                "loc": {
                                  "start": {
                                    "line": 23,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 23,
                                    "column": 34
                                  }
                                },
                                "extra": {
                                  "rawValue": 32,
                                  "raw": "32"
                                },
                                "value": 32
                              }
                            },
                            "trailingComments": [
                              {
                                "type": "CommentBlock",
                                "value": "* @private {function[]} ",
                                "start": 656,
                                "end": 684,
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 36
                                  }
                                }
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 693,
                            "end": 758,
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 8
                              },
                              "end": {
                                "line": 27,
                                "column": 10
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 693,
                              "end": 757,
                              "loc": {
                                "start": {
                                  "line": 25,
                                  "column": 8
                                },
                                "end": {
                                  "line": 27,
                                  "column": 9
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 693,
                                "end": 715,
                                "loc": {
                                  "start": {
                                    "line": 25,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 25,
                                    "column": 30
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 693,
                                  "end": 697,
                                  "loc": {
                                    "start": {
                                      "line": 25,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 25,
                                      "column": 12
                                    }
                                  },
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 698,
                                  "end": 715,
                                  "loc": {
                                    "start": {
                                      "line": 25,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 25,
                                      "column": 30
                                    },
                                    "identifierName": "onChangeCallbacks"
                                  },
                                  "name": "onChangeCallbacks"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "right": {
                                "type": "ObjectExpression",
                                "start": 718,
                                "end": 757,
                                "loc": {
                                  "start": {
                                    "line": 25,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 27,
                                    "column": 9
                                  }
                                },
                                "properties": [
                                  {
                                    "type": "ObjectProperty",
                                    "start": 732,
                                    "end": 747,
                                    "loc": {
                                      "start": {
                                        "line": 26,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 26,
                                        "column": 27
                                      }
                                    },
                                    "method": false,
                                    "shorthand": false,
                                    "computed": false,
                                    "key": {
                                      "type": "Identifier",
                                      "start": 732,
                                      "end": 743,
                                      "loc": {
                                        "start": {
                                          "line": 26,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 26,
                                          "column": 23
                                        },
                                        "identifierName": "__anyChange"
                                      },
                                      "name": "__anyChange"
                                    },
                                    "value": {
                                      "type": "ArrayExpression",
                                      "start": 745,
                                      "end": 747,
                                      "loc": {
                                        "start": {
                                          "line": 26,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 26,
                                          "column": 27
                                        }
                                      },
                                      "elements": []
                                    }
                                  }
                                ]
                              },
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentBlock",
                                "value": "* @private {function[]} ",
                                "start": 656,
                                "end": 684,
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 36
                                  }
                                }
                              }
                            ],
                            "trailingComments": [
                              {
                                "type": "CommentBlock",
                                "value": "* @property {object} [state={}] state - An object that represents the present state ",
                                "start": 767,
                                "end": 855,
                                "loc": {
                                  "start": {
                                    "line": 28,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 28,
                                    "column": 96
                                  }
                                }
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 864,
                            "end": 889,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 8
                              },
                              "end": {
                                "line": 29,
                                "column": 33
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 864,
                              "end": 888,
                              "loc": {
                                "start": {
                                  "line": 29,
                                  "column": 8
                                },
                                "end": {
                                  "line": 29,
                                  "column": 32
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 864,
                                "end": 874,
                                "loc": {
                                  "start": {
                                    "line": 29,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 29,
                                    "column": 18
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 864,
                                  "end": 868,
                                  "loc": {
                                    "start": {
                                      "line": 29,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 29,
                                      "column": 12
                                    }
                                  },
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 869,
                                  "end": 874,
                                  "loc": {
                                    "start": {
                                      "line": 29,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 29,
                                      "column": 18
                                    },
                                    "identifierName": "state"
                                  },
                                  "name": "state"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "right": {
                                "type": "LogicalExpression",
                                "start": 877,
                                "end": 888,
                                "loc": {
                                  "start": {
                                    "line": 29,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 29,
                                    "column": 32
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 877,
                                  "end": 882,
                                  "loc": {
                                    "start": {
                                      "line": 29,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 29,
                                      "column": 26
                                    },
                                    "identifierName": "state"
                                  },
                                  "name": "state"
                                },
                                "operator": "||",
                                "right": {
                                  "type": "ObjectExpression",
                                  "start": 886,
                                  "end": 888,
                                  "loc": {
                                    "start": {
                                      "line": 29,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 29,
                                      "column": 32
                                    }
                                  },
                                  "properties": []
                                }
                              },
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentBlock",
                                "value": "* @property {object} [state={}] state - An object that represents the present state ",
                                "start": 767,
                                "end": 855,
                                "loc": {
                                  "start": {
                                    "line": 28,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 28,
                                    "column": 96
                                  }
                                }
                              }
                            ],
                            "trailingComments": [
                              {
                                "type": "CommentBlock",
                                "value": "* @private ",
                                "start": 898,
                                "end": 913,
                                "loc": {
                                  "start": {
                                    "line": 30,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 30,
                                    "column": 23
                                  }
                                }
                              },
                              {
                                "type": "CommentLine",
                                "value": " @ts-ignore",
                                "start": 914,
                                "end": 927,
                                "loc": {
                                  "start": {
                                    "line": 30,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 30,
                                    "column": 37
                                  }
                                }
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 936,
                            "end": 967,
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 8
                              },
                              "end": {
                                "line": 31,
                                "column": 39
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 936,
                              "end": 966,
                              "loc": {
                                "start": {
                                  "line": 31,
                                  "column": 8
                                },
                                "end": {
                                  "line": 31,
                                  "column": 38
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 936,
                                "end": 953,
                                "loc": {
                                  "start": {
                                    "line": 31,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 31,
                                    "column": 25
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 936,
                                  "end": 946,
                                  "loc": {
                                    "start": {
                                      "line": 31,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 31,
                                      "column": 18
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 936,
                                    "end": 940,
                                    "loc": {
                                      "start": {
                                        "line": 31,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 31,
                                        "column": 12
                                      }
                                    },
                                    "leadingComments": null
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 941,
                                    "end": 946,
                                    "loc": {
                                      "start": {
                                        "line": 31,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 31,
                                        "column": 18
                                      },
                                      "identifierName": "state"
                                    },
                                    "name": "state"
                                  },
                                  "computed": false,
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 947,
                                  "end": 953,
                                  "loc": {
                                    "start": {
                                      "line": 31,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 31,
                                      "column": 25
                                    },
                                    "identifierName": "__time"
                                  },
                                  "name": "__time"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 956,
                                "end": 966,
                                "loc": {
                                  "start": {
                                    "line": 31,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 31,
                                    "column": 38
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 956,
                                  "end": 964,
                                  "loc": {
                                    "start": {
                                      "line": 31,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 31,
                                      "column": 36
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 956,
                                    "end": 960,
                                    "loc": {
                                      "start": {
                                        "line": 31,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 31,
                                        "column": 32
                                      },
                                      "identifierName": "Date"
                                    },
                                    "name": "Date"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 961,
                                    "end": 964,
                                    "loc": {
                                      "start": {
                                        "line": 31,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 31,
                                        "column": 36
                                      },
                                      "identifierName": "now"
                                    },
                                    "name": "now"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentBlock",
                                "value": "* @private ",
                                "start": 898,
                                "end": 913,
                                "loc": {
                                  "start": {
                                    "line": 30,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 30,
                                    "column": 23
                                  }
                                }
                              },
                              {
                                "type": "CommentLine",
                                "value": " @ts-ignore",
                                "start": 914,
                                "end": 927,
                                "loc": {
                                  "start": {
                                    "line": 30,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 30,
                                    "column": 37
                                  }
                                }
                              }
                            ],
                            "trailingComments": [
                              {
                                "type": "CommentBlock",
                                "value": "* @private An array of states from the first to the last, excluding the present state ",
                                "start": 976,
                                "end": 1066,
                                "loc": {
                                  "start": {
                                    "line": 32,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 32,
                                    "column": 98
                                  }
                                }
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 1075,
                            "end": 1098,
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 8
                              },
                              "end": {
                                "line": 33,
                                "column": 31
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 1075,
                              "end": 1097,
                              "loc": {
                                "start": {
                                  "line": 33,
                                  "column": 8
                                },
                                "end": {
                                  "line": 33,
                                  "column": 30
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 1075,
                                "end": 1092,
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 25
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 1075,
                                  "end": 1079,
                                  "loc": {
                                    "start": {
                                      "line": 33,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 33,
                                      "column": 12
                                    }
                                  },
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1080,
                                  "end": 1092,
                                  "loc": {
                                    "start": {
                                      "line": 33,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 33,
                                      "column": 25
                                    },
                                    "identifierName": "stateHistory"
                                  },
                                  "name": "stateHistory"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "right": {
                                "type": "ArrayExpression",
                                "start": 1095,
                                "end": 1097,
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 30
                                  }
                                },
                                "elements": []
                              },
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentBlock",
                                "value": "* @private An array of states from the first to the last, excluding the present state ",
                                "start": 976,
                                "end": 1066,
                                "loc": {
                                  "start": {
                                    "line": 32,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 32,
                                    "column": 98
                                  }
                                }
                              }
                            ]
                          }
                        ],
                        "directives": [],
                        "trailingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "**\n     * Creates a store and sets its initial state to the optional value passed in\n     * @param state\n     ",
                          "start": 337,
                          "end": 451,
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 4
                            },
                            "end": {
                              "line": 14,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * Get an array of states from the first to the last\n     * @return {object[]} An array of states\n     ",
                          "start": 1109,
                          "end": 1222,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 4
                            },
                            "end": {
                              "line": 38,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1227,
                      "end": 1338,
                      "loc": {
                        "start": {
                          "line": 39,
                          "column": 4
                        },
                        "end": {
                          "line": 41,
                          "column": 6
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1227,
                        "end": 1337,
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 4
                          },
                          "end": {
                            "line": 41,
                            "column": 5
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1227,
                          "end": 1257,
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 4
                            },
                            "end": {
                              "line": 39,
                              "column": 34
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1227,
                            "end": 1242,
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 4
                              },
                              "end": {
                                "line": 39,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1227,
                              "end": 1232,
                              "loc": {
                                "start": {
                                  "line": 39,
                                  "column": 4
                                },
                                "end": {
                                  "line": 39,
                                  "column": 9
                                },
                                "identifierName": "Store"
                              },
                              "name": "Store",
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1233,
                              "end": 1242,
                              "loc": {
                                "start": {
                                  "line": 39,
                                  "column": 10
                                },
                                "end": {
                                  "line": 39,
                                  "column": 19
                                },
                                "identifierName": "prototype"
                              },
                              "name": "prototype"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1243,
                            "end": 1257,
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 20
                              },
                              "end": {
                                "line": 39,
                                "column": 34
                              },
                              "identifierName": "getFullHistory"
                            },
                            "name": "getFullHistory"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "start": 1260,
                          "end": 1337,
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 37
                            },
                            "end": {
                              "line": 41,
                              "column": 5
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": false,
                          "async": false,
                          "params": [],
                          "body": {
                            "type": "BlockStatement",
                            "start": 1272,
                            "end": 1337,
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 49
                              },
                              "end": {
                                "line": 41,
                                "column": 5
                              }
                            },
                            "body": [
                              {
                                "type": "ReturnStatement",
                                "start": 1282,
                                "end": 1331,
                                "loc": {
                                  "start": {
                                    "line": 40,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 40,
                                    "column": 57
                                  }
                                },
                                "argument": {
                                  "type": "CallExpression",
                                  "start": 1289,
                                  "end": 1330,
                                  "loc": {
                                    "start": {
                                      "line": 40,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 40,
                                      "column": 56
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 1289,
                                    "end": 1297,
                                    "loc": {
                                      "start": {
                                        "line": 40,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 40,
                                        "column": 23
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 1289,
                                      "end": 1290,
                                      "loc": {
                                        "start": {
                                          "line": 40,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 40,
                                          "column": 16
                                        },
                                        "identifierName": "_"
                                      },
                                      "name": "_"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1291,
                                      "end": 1297,
                                      "loc": {
                                        "start": {
                                          "line": 40,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 40,
                                          "column": 23
                                        },
                                        "identifierName": "concat"
                                      },
                                      "name": "concat"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "MemberExpression",
                                      "start": 1298,
                                      "end": 1315,
                                      "loc": {
                                        "start": {
                                          "line": 40,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 40,
                                          "column": 41
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 1298,
                                        "end": 1302,
                                        "loc": {
                                          "start": {
                                            "line": 40,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 40,
                                            "column": 28
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1303,
                                        "end": 1315,
                                        "loc": {
                                          "start": {
                                            "line": 40,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 40,
                                            "column": 41
                                          },
                                          "identifierName": "stateHistory"
                                        },
                                        "name": "stateHistory"
                                      },
                                      "computed": false
                                    },
                                    {
                                      "type": "ArrayExpression",
                                      "start": 1317,
                                      "end": 1329,
                                      "loc": {
                                        "start": {
                                          "line": 40,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 40,
                                          "column": 55
                                        }
                                      },
                                      "elements": [
                                        {
                                          "type": "MemberExpression",
                                          "start": 1318,
                                          "end": 1328,
                                          "loc": {
                                            "start": {
                                              "line": 40,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 40,
                                              "column": 54
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 1318,
                                            "end": 1322,
                                            "loc": {
                                              "start": {
                                                "line": 40,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 40,
                                                "column": 48
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 1323,
                                            "end": 1328,
                                            "loc": {
                                              "start": {
                                                "line": 40,
                                                "column": 49
                                              },
                                              "end": {
                                                "line": 40,
                                                "column": 54
                                              },
                                              "identifierName": "state"
                                            },
                                            "name": "state"
                                          },
                                          "computed": false
                                        }
                                      ]
                                    }
                                  ]
                                }
                              }
                            ],
                            "directives": []
                          }
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * Get an array of states from the first to the last\n     * @return {object[]} An array of states\n     ",
                          "start": 1109,
                          "end": 1222,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 4
                            },
                            "end": {
                              "line": 38,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * Trims the history down to the last 'x' number of entries\n     * @param {number} length - max number of state history entries\n     ",
                          "start": 1343,
                          "end": 1486,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 4
                            },
                            "end": {
                              "line": 45,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1491,
                      "end": 1657,
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 4
                        },
                        "end": {
                          "line": 49,
                          "column": 6
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1491,
                        "end": 1656,
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 4
                          },
                          "end": {
                            "line": 49,
                            "column": 5
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1491,
                          "end": 1518,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 4
                            },
                            "end": {
                              "line": 46,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1491,
                            "end": 1506,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 4
                              },
                              "end": {
                                "line": 46,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1491,
                              "end": 1496,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 4
                                },
                                "end": {
                                  "line": 46,
                                  "column": 9
                                },
                                "identifierName": "Store"
                              },
                              "name": "Store",
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1497,
                              "end": 1506,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 10
                                },
                                "end": {
                                  "line": 46,
                                  "column": 19
                                },
                                "identifierName": "prototype"
                              },
                              "name": "prototype"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1507,
                            "end": 1518,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 20
                              },
                              "end": {
                                "line": 46,
                                "column": 31
                              },
                              "identifierName": "trimHistory"
                            },
                            "name": "trimHistory"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "start": 1521,
                          "end": 1656,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 34
                            },
                            "end": {
                              "line": 49,
                              "column": 5
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": false,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 1531,
                              "end": 1537,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 44
                                },
                                "end": {
                                  "line": 46,
                                  "column": 50
                                },
                                "identifierName": "length"
                              },
                              "name": "length"
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "start": 1539,
                            "end": 1656,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 52
                              },
                              "end": {
                                "line": 49,
                                "column": 5
                              }
                            },
                            "body": [
                              {
                                "type": "IfStatement",
                                "start": 1549,
                                "end": 1588,
                                "loc": {
                                  "start": {
                                    "line": 47,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 47,
                                    "column": 47
                                  }
                                },
                                "test": {
                                  "type": "BinaryExpression",
                                  "start": 1553,
                                  "end": 1570,
                                  "loc": {
                                    "start": {
                                      "line": 47,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 47,
                                      "column": 29
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 1553,
                                    "end": 1559,
                                    "loc": {
                                      "start": {
                                        "line": 47,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 47,
                                        "column": 18
                                      },
                                      "identifierName": "length"
                                    },
                                    "name": "length"
                                  },
                                  "operator": "===",
                                  "right": {
                                    "type": "UnaryExpression",
                                    "start": 1564,
                                    "end": 1570,
                                    "loc": {
                                      "start": {
                                        "line": 47,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 47,
                                        "column": 29
                                      }
                                    },
                                    "operator": "void",
                                    "prefix": true,
                                    "argument": {
                                      "type": "NumericLiteral",
                                      "start": 1569,
                                      "end": 1570,
                                      "loc": {
                                        "start": {
                                          "line": 47,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 47,
                                          "column": 29
                                        }
                                      },
                                      "extra": {
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      "value": 0
                                    },
                                    "extra": {
                                      "parenthesizedArgument": false
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "start": 1572,
                                  "end": 1588,
                                  "loc": {
                                    "start": {
                                      "line": 47,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 47,
                                      "column": 47
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 1574,
                                      "end": 1586,
                                      "loc": {
                                        "start": {
                                          "line": 47,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 47,
                                          "column": 45
                                        }
                                      },
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 1574,
                                        "end": 1585,
                                        "loc": {
                                          "start": {
                                            "line": 47,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 47,
                                            "column": 44
                                          }
                                        },
                                        "operator": "=",
                                        "left": {
                                          "type": "Identifier",
                                          "start": 1574,
                                          "end": 1580,
                                          "loc": {
                                            "start": {
                                              "line": 47,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 47,
                                              "column": 39
                                            },
                                            "identifierName": "length"
                                          },
                                          "name": "length"
                                        },
                                        "right": {
                                          "type": "NumericLiteral",
                                          "start": 1583,
                                          "end": 1585,
                                          "loc": {
                                            "start": {
                                              "line": 47,
                                              "column": 42
                                            },
                                            "end": {
                                              "line": 47,
                                              "column": 44
                                            }
                                          },
                                          "extra": {
                                            "rawValue": 32,
                                            "raw": "32"
                                          },
                                          "value": 32
                                        }
                                      }
                                    }
                                  ],
                                  "directives": []
                                },
                                "alternate": null
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 1597,
                                "end": 1650,
                                "loc": {
                                  "start": {
                                    "line": 48,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 48,
                                    "column": 61
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 1597,
                                  "end": 1649,
                                  "loc": {
                                    "start": {
                                      "line": 48,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 48,
                                      "column": 60
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 1597,
                                    "end": 1614,
                                    "loc": {
                                      "start": {
                                        "line": 48,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 48,
                                        "column": 25
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 1597,
                                      "end": 1601,
                                      "loc": {
                                        "start": {
                                          "line": 48,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 48,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1602,
                                      "end": 1614,
                                      "loc": {
                                        "start": {
                                          "line": 48,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 48,
                                          "column": 25
                                        },
                                        "identifierName": "stateHistory"
                                      },
                                      "name": "stateHistory"
                                    },
                                    "computed": false
                                  },
                                  "right": {
                                    "type": "CallExpression",
                                    "start": 1617,
                                    "end": 1649,
                                    "loc": {
                                      "start": {
                                        "line": 48,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 48,
                                        "column": 60
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 1617,
                                      "end": 1640,
                                      "loc": {
                                        "start": {
                                          "line": 48,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 48,
                                          "column": 51
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 1617,
                                        "end": 1634,
                                        "loc": {
                                          "start": {
                                            "line": 48,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 48,
                                            "column": 45
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 1617,
                                          "end": 1621,
                                          "loc": {
                                            "start": {
                                              "line": 48,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 48,
                                              "column": 32
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 1622,
                                          "end": 1634,
                                          "loc": {
                                            "start": {
                                              "line": 48,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 48,
                                              "column": 45
                                            },
                                            "identifierName": "stateHistory"
                                          },
                                          "name": "stateHistory"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1635,
                                        "end": 1640,
                                        "loc": {
                                          "start": {
                                            "line": 48,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 48,
                                            "column": 51
                                          },
                                          "identifierName": "slice"
                                        },
                                        "name": "slice"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "UnaryExpression",
                                        "start": 1641,
                                        "end": 1648,
                                        "loc": {
                                          "start": {
                                            "line": 48,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 48,
                                            "column": 59
                                          }
                                        },
                                        "operator": "-",
                                        "prefix": true,
                                        "argument": {
                                          "type": "Identifier",
                                          "start": 1642,
                                          "end": 1648,
                                          "loc": {
                                            "start": {
                                              "line": 48,
                                              "column": 53
                                            },
                                            "end": {
                                              "line": 48,
                                              "column": 59
                                            },
                                            "identifierName": "length"
                                          },
                                          "name": "length"
                                        },
                                        "extra": {
                                          "parenthesizedArgument": false
                                        }
                                      }
                                    ]
                                  }
                                }
                              }
                            ],
                            "directives": []
                          }
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * Trims the history down to the last 'x' number of entries\n     * @param {number} length - max number of state history entries\n     ",
                          "start": 1343,
                          "end": 1486,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 4
                            },
                            "end": {
                              "line": 45,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "**\n     * Automaticly updates the state of stateParent\n     * @example <caption>Binding to a React component</caption>\n     * componentDidMount(){\n     *     // Don't forget to unbind on unmount\n     *     mainStore.bindState(this);\n     * }\n     * @param stateParent\n     * @param {function} mapping - (string)=>string\n     * @param {boolean} forward\n     ",
                          "start": 1662,
                          "end": 2023,
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 4
                            },
                            "end": {
                              "line": 60,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2028,
                      "end": 2300,
                      "loc": {
                        "start": {
                          "line": 61,
                          "column": 4
                        },
                        "end": {
                          "line": 66,
                          "column": 6
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2028,
                        "end": 2299,
                        "loc": {
                          "start": {
                            "line": 61,
                            "column": 4
                          },
                          "end": {
                            "line": 66,
                            "column": 5
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2028,
                          "end": 2053,
                          "loc": {
                            "start": {
                              "line": 61,
                              "column": 4
                            },
                            "end": {
                              "line": 61,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2028,
                            "end": 2043,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 4
                              },
                              "end": {
                                "line": 61,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2028,
                              "end": 2033,
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 4
                                },
                                "end": {
                                  "line": 61,
                                  "column": 9
                                },
                                "identifierName": "Store"
                              },
                              "name": "Store",
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2034,
                              "end": 2043,
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 10
                                },
                                "end": {
                                  "line": 61,
                                  "column": 19
                                },
                                "identifierName": "prototype"
                              },
                              "name": "prototype"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2044,
                            "end": 2053,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 20
                              },
                              "end": {
                                "line": 61,
                                "column": 29
                              },
                              "identifierName": "bindState"
                            },
                            "name": "bindState"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "start": 2056,
                          "end": 2299,
                          "loc": {
                            "start": {
                              "line": 61,
                              "column": 32
                            },
                            "end": {
                              "line": 66,
                              "column": 5
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": false,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 2066,
                              "end": 2077,
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 42
                                },
                                "end": {
                                  "line": 61,
                                  "column": 53
                                },
                                "identifierName": "stateParent"
                              },
                              "name": "stateParent"
                            },
                            {
                              "type": "Identifier",
                              "start": 2079,
                              "end": 2086,
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 55
                                },
                                "end": {
                                  "line": 61,
                                  "column": 62
                                },
                                "identifierName": "mapping"
                              },
                              "name": "mapping"
                            },
                            {
                              "type": "Identifier",
                              "start": 2088,
                              "end": 2095,
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 64
                                },
                                "end": {
                                  "line": 61,
                                  "column": 71
                                },
                                "identifierName": "forward"
                              },
                              "name": "forward"
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "start": 2097,
                            "end": 2299,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 73
                              },
                              "end": {
                                "line": 66,
                                "column": 5
                              }
                            },
                            "body": [
                              {
                                "type": "IfStatement",
                                "start": 2107,
                                "end": 2150,
                                "loc": {
                                  "start": {
                                    "line": 62,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 62,
                                    "column": 51
                                  }
                                },
                                "test": {
                                  "type": "BinaryExpression",
                                  "start": 2111,
                                  "end": 2129,
                                  "loc": {
                                    "start": {
                                      "line": 62,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 62,
                                      "column": 30
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 2111,
                                    "end": 2118,
                                    "loc": {
                                      "start": {
                                        "line": 62,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 62,
                                        "column": 19
                                      },
                                      "identifierName": "forward"
                                    },
                                    "name": "forward"
                                  },
                                  "operator": "===",
                                  "right": {
                                    "type": "UnaryExpression",
                                    "start": 2123,
                                    "end": 2129,
                                    "loc": {
                                      "start": {
                                        "line": 62,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 62,
                                        "column": 30
                                      }
                                    },
                                    "operator": "void",
                                    "prefix": true,
                                    "argument": {
                                      "type": "NumericLiteral",
                                      "start": 2128,
                                      "end": 2129,
                                      "loc": {
                                        "start": {
                                          "line": 62,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 62,
                                          "column": 30
                                        }
                                      },
                                      "extra": {
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      "value": 0
                                    },
                                    "extra": {
                                      "parenthesizedArgument": false
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "start": 2131,
                                  "end": 2150,
                                  "loc": {
                                    "start": {
                                      "line": 62,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 62,
                                      "column": 51
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 2133,
                                      "end": 2148,
                                      "loc": {
                                        "start": {
                                          "line": 62,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 62,
                                          "column": 49
                                        }
                                      },
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 2133,
                                        "end": 2147,
                                        "loc": {
                                          "start": {
                                            "line": 62,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 62,
                                            "column": 48
                                          }
                                        },
                                        "operator": "=",
                                        "left": {
                                          "type": "Identifier",
                                          "start": 2133,
                                          "end": 2140,
                                          "loc": {
                                            "start": {
                                              "line": 62,
                                              "column": 34
                                            },
                                            "end": {
                                              "line": 62,
                                              "column": 41
                                            },
                                            "identifierName": "forward"
                                          },
                                          "name": "forward"
                                        },
                                        "right": {
                                          "type": "BooleanLiteral",
                                          "start": 2143,
                                          "end": 2147,
                                          "loc": {
                                            "start": {
                                              "line": 62,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 62,
                                              "column": 48
                                            }
                                          },
                                          "value": true
                                        }
                                      }
                                    }
                                  ],
                                  "directives": []
                                },
                                "alternate": null
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 2159,
                                "end": 2228,
                                "loc": {
                                  "start": {
                                    "line": 63,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 63,
                                    "column": 77
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 2159,
                                  "end": 2227,
                                  "loc": {
                                    "start": {
                                      "line": 63,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 63,
                                      "column": 76
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 2159,
                                    "end": 2181,
                                    "loc": {
                                      "start": {
                                        "line": 63,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 63,
                                        "column": 30
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 2159,
                                      "end": 2176,
                                      "loc": {
                                        "start": {
                                          "line": 63,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 63,
                                          "column": 25
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 2159,
                                        "end": 2163,
                                        "loc": {
                                          "start": {
                                            "line": 63,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 63,
                                            "column": 12
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2164,
                                        "end": 2176,
                                        "loc": {
                                          "start": {
                                            "line": 63,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 63,
                                            "column": 25
                                          },
                                          "identifierName": "_boundStates"
                                        },
                                        "name": "_boundStates"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 2177,
                                      "end": 2181,
                                      "loc": {
                                        "start": {
                                          "line": 63,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 63,
                                          "column": 30
                                        },
                                        "identifierName": "push"
                                      },
                                      "name": "push"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "ObjectExpression",
                                      "start": 2182,
                                      "end": 2226,
                                      "loc": {
                                        "start": {
                                          "line": 63,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 63,
                                          "column": 75
                                        }
                                      },
                                      "properties": [
                                        {
                                          "type": "ObjectProperty",
                                          "start": 2184,
                                          "end": 2207,
                                          "loc": {
                                            "start": {
                                              "line": 63,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 63,
                                              "column": 56
                                            }
                                          },
                                          "method": false,
                                          "shorthand": false,
                                          "computed": false,
                                          "key": {
                                            "type": "Identifier",
                                            "start": 2184,
                                            "end": 2194,
                                            "loc": {
                                              "start": {
                                                "line": 63,
                                                "column": 33
                                              },
                                              "end": {
                                                "line": 63,
                                                "column": 43
                                              },
                                              "identifierName": "boundState"
                                            },
                                            "name": "boundState"
                                          },
                                          "value": {
                                            "type": "Identifier",
                                            "start": 2196,
                                            "end": 2207,
                                            "loc": {
                                              "start": {
                                                "line": 63,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 63,
                                                "column": 56
                                              },
                                              "identifierName": "stateParent"
                                            },
                                            "name": "stateParent"
                                          }
                                        },
                                        {
                                          "type": "ObjectProperty",
                                          "start": 2209,
                                          "end": 2224,
                                          "loc": {
                                            "start": {
                                              "line": 63,
                                              "column": 58
                                            },
                                            "end": {
                                              "line": 63,
                                              "column": 73
                                            }
                                          },
                                          "method": false,
                                          "shorthand": false,
                                          "computed": false,
                                          "key": {
                                            "type": "Identifier",
                                            "start": 2209,
                                            "end": 2215,
                                            "loc": {
                                              "start": {
                                                "line": 63,
                                                "column": 58
                                              },
                                              "end": {
                                                "line": 63,
                                                "column": 64
                                              },
                                              "identifierName": "mapper"
                                            },
                                            "name": "mapper"
                                          },
                                          "value": {
                                            "type": "Identifier",
                                            "start": 2217,
                                            "end": 2224,
                                            "loc": {
                                              "start": {
                                                "line": 63,
                                                "column": 66
                                              },
                                              "end": {
                                                "line": 63,
                                                "column": 73
                                              },
                                              "identifierName": "mapping"
                                            },
                                            "name": "mapping"
                                          }
                                        }
                                      ]
                                    }
                                  ]
                                }
                              },
                              {
                                "type": "IfStatement",
                                "start": 2237,
                                "end": 2293,
                                "loc": {
                                  "start": {
                                    "line": 64,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 65,
                                    "column": 43
                                  }
                                },
                                "test": {
                                  "type": "Identifier",
                                  "start": 2241,
                                  "end": 2248,
                                  "loc": {
                                    "start": {
                                      "line": 64,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 64,
                                      "column": 19
                                    },
                                    "identifierName": "forward"
                                  },
                                  "name": "forward"
                                },
                                "consequent": {
                                  "type": "ExpressionStatement",
                                  "start": 2262,
                                  "end": 2293,
                                  "loc": {
                                    "start": {
                                      "line": 65,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 65,
                                      "column": 43
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 2262,
                                    "end": 2292,
                                    "loc": {
                                      "start": {
                                        "line": 65,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 65,
                                        "column": 42
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 2262,
                                      "end": 2279,
                                      "loc": {
                                        "start": {
                                          "line": 65,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 65,
                                          "column": 29
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 2262,
                                        "end": 2266,
                                        "loc": {
                                          "start": {
                                            "line": 65,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 65,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2267,
                                        "end": 2279,
                                        "loc": {
                                          "start": {
                                            "line": 65,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 65,
                                            "column": 29
                                          },
                                          "identifierName": "forwardState"
                                        },
                                        "name": "forwardState"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 2280,
                                        "end": 2291,
                                        "loc": {
                                          "start": {
                                            "line": 65,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 65,
                                            "column": 41
                                          },
                                          "identifierName": "stateParent"
                                        },
                                        "name": "stateParent"
                                      }
                                    ]
                                  }
                                },
                                "alternate": null
                              }
                            ],
                            "directives": []
                          }
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "**\n     * Automaticly updates the state of stateParent\n     * @example <caption>Binding to a React component</caption>\n     * componentDidMount(){\n     *     // Don't forget to unbind on unmount\n     *     mainStore.bindState(this);\n     * }\n     * @param stateParent\n     * @param {function} mapping - (string)=>string\n     * @param {boolean} forward\n     ",
                          "start": 1662,
                          "end": 2023,
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 4
                            },
                            "end": {
                              "line": 60,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "**\n     * Unbinds the state of stateParent\n     * @example <caption>Unbinding to a React component</caption>\n     * componentWillUnmount(){\n     *     mainStore.unbindState(this);\n     * }\n     * @param stateParent\n     ",
                          "start": 2305,
                          "end": 2529,
                          "loc": {
                            "start": {
                              "line": 67,
                              "column": 4
                            },
                            "end": {
                              "line": 74,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2534,
                      "end": 2893,
                      "loc": {
                        "start": {
                          "line": 75,
                          "column": 4
                        },
                        "end": {
                          "line": 85,
                          "column": 6
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2534,
                        "end": 2892,
                        "loc": {
                          "start": {
                            "line": 75,
                            "column": 4
                          },
                          "end": {
                            "line": 85,
                            "column": 5
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2534,
                          "end": 2561,
                          "loc": {
                            "start": {
                              "line": 75,
                              "column": 4
                            },
                            "end": {
                              "line": 75,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2534,
                            "end": 2549,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 4
                              },
                              "end": {
                                "line": 75,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2534,
                              "end": 2539,
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 4
                                },
                                "end": {
                                  "line": 75,
                                  "column": 9
                                },
                                "identifierName": "Store"
                              },
                              "name": "Store",
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2540,
                              "end": 2549,
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 10
                                },
                                "end": {
                                  "line": 75,
                                  "column": 19
                                },
                                "identifierName": "prototype"
                              },
                              "name": "prototype"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2550,
                            "end": 2561,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 20
                              },
                              "end": {
                                "line": 75,
                                "column": 31
                              },
                              "identifierName": "unbindState"
                            },
                            "name": "unbindState"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "start": 2564,
                          "end": 2892,
                          "loc": {
                            "start": {
                              "line": 75,
                              "column": 34
                            },
                            "end": {
                              "line": 85,
                              "column": 5
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": false,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 2574,
                              "end": 2585,
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 44
                                },
                                "end": {
                                  "line": 75,
                                  "column": 55
                                },
                                "identifierName": "stateParent"
                              },
                              "name": "stateParent"
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "start": 2587,
                            "end": 2892,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 57
                              },
                              "end": {
                                "line": 85,
                                "column": 5
                              }
                            },
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "start": 2597,
                                "end": 2612,
                                "loc": {
                                  "start": {
                                    "line": 76,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 76,
                                    "column": 23
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 2601,
                                    "end": 2611,
                                    "loc": {
                                      "start": {
                                        "line": 76,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 76,
                                        "column": 22
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 2601,
                                      "end": 2606,
                                      "loc": {
                                        "start": {
                                          "line": 76,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 76,
                                          "column": 17
                                        },
                                        "identifierName": "index"
                                      },
                                      "name": "index"
                                    },
                                    "init": {
                                      "type": "UnaryExpression",
                                      "start": 2609,
                                      "end": 2611,
                                      "loc": {
                                        "start": {
                                          "line": 76,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 76,
                                          "column": 22
                                        }
                                      },
                                      "operator": "-",
                                      "prefix": true,
                                      "argument": {
                                        "type": "NumericLiteral",
                                        "start": 2610,
                                        "end": 2611,
                                        "loc": {
                                          "start": {
                                            "line": 76,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 76,
                                            "column": 22
                                          }
                                        },
                                        "extra": {
                                          "rawValue": 1,
                                          "raw": "1"
                                        },
                                        "value": 1
                                      },
                                      "extra": {
                                        "parenthesizedArgument": false
                                      }
                                    }
                                  }
                                ],
                                "kind": "var"
                              },
                              {
                                "type": "VariableDeclaration",
                                "start": 2621,
                                "end": 2657,
                                "loc": {
                                  "start": {
                                    "line": 77,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 77,
                                    "column": 44
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 2625,
                                    "end": 2656,
                                    "loc": {
                                      "start": {
                                        "line": 77,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 77,
                                        "column": 43
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 2625,
                                      "end": 2636,
                                      "loc": {
                                        "start": {
                                          "line": 77,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 77,
                                          "column": 23
                                        },
                                        "identifierName": "boundStates"
                                      },
                                      "name": "boundStates"
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "start": 2639,
                                      "end": 2656,
                                      "loc": {
                                        "start": {
                                          "line": 77,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 77,
                                          "column": 43
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 2639,
                                        "end": 2643,
                                        "loc": {
                                          "start": {
                                            "line": 77,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 77,
                                            "column": 30
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2644,
                                        "end": 2656,
                                        "loc": {
                                          "start": {
                                            "line": 77,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 77,
                                            "column": 43
                                          },
                                          "identifierName": "_boundStates"
                                        },
                                        "name": "_boundStates"
                                      },
                                      "computed": false
                                    }
                                  }
                                ],
                                "kind": "var"
                              },
                              {
                                "type": "ForStatement",
                                "start": 2666,
                                "end": 2808,
                                "loc": {
                                  "start": {
                                    "line": 78,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 81,
                                    "column": 9
                                  }
                                },
                                "init": {
                                  "type": "VariableDeclaration",
                                  "start": 2671,
                                  "end": 2680,
                                  "loc": {
                                    "start": {
                                      "line": 78,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 78,
                                      "column": 22
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 2675,
                                      "end": 2680,
                                      "loc": {
                                        "start": {
                                          "line": 78,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 78,
                                          "column": 22
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 2675,
                                        "end": 2676,
                                        "loc": {
                                          "start": {
                                            "line": 78,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 78,
                                            "column": 18
                                          },
                                          "identifierName": "i"
                                        },
                                        "name": "i"
                                      },
                                      "init": {
                                        "type": "NumericLiteral",
                                        "start": 2679,
                                        "end": 2680,
                                        "loc": {
                                          "start": {
                                            "line": 78,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 78,
                                            "column": 22
                                          }
                                        },
                                        "extra": {
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        "value": 0
                                      }
                                    }
                                  ],
                                  "kind": "var"
                                },
                                "test": {
                                  "type": "BinaryExpression",
                                  "start": 2682,
                                  "end": 2704,
                                  "loc": {
                                    "start": {
                                      "line": 78,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 78,
                                      "column": 46
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 2682,
                                    "end": 2683,
                                    "loc": {
                                      "start": {
                                        "line": 78,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 78,
                                        "column": 25
                                      },
                                      "identifierName": "i"
                                    },
                                    "name": "i"
                                  },
                                  "operator": "<",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 2686,
                                    "end": 2704,
                                    "loc": {
                                      "start": {
                                        "line": 78,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 78,
                                        "column": 46
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 2686,
                                      "end": 2697,
                                      "loc": {
                                        "start": {
                                          "line": 78,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 78,
                                          "column": 39
                                        },
                                        "identifierName": "boundStates"
                                      },
                                      "name": "boundStates"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 2698,
                                      "end": 2704,
                                      "loc": {
                                        "start": {
                                          "line": 78,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 78,
                                          "column": 46
                                        },
                                        "identifierName": "length"
                                      },
                                      "name": "length"
                                    },
                                    "computed": false
                                  }
                                },
                                "update": {
                                  "type": "UpdateExpression",
                                  "start": 2706,
                                  "end": 2709,
                                  "loc": {
                                    "start": {
                                      "line": 78,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 78,
                                      "column": 51
                                    }
                                  },
                                  "operator": "++",
                                  "prefix": false,
                                  "argument": {
                                    "type": "Identifier",
                                    "start": 2706,
                                    "end": 2707,
                                    "loc": {
                                      "start": {
                                        "line": 78,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 78,
                                        "column": 49
                                      },
                                      "identifierName": "i"
                                    },
                                    "name": "i"
                                  }
                                },
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 2711,
                                  "end": 2808,
                                  "loc": {
                                    "start": {
                                      "line": 78,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 81,
                                      "column": 9
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "IfStatement",
                                      "start": 2725,
                                      "end": 2798,
                                      "loc": {
                                        "start": {
                                          "line": 79,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 80,
                                          "column": 26
                                        }
                                      },
                                      "test": {
                                        "type": "BinaryExpression",
                                        "start": 2729,
                                        "end": 2770,
                                        "loc": {
                                          "start": {
                                            "line": 79,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 79,
                                            "column": 57
                                          }
                                        },
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 2729,
                                          "end": 2754,
                                          "loc": {
                                            "start": {
                                              "line": 79,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 79,
                                              "column": 41
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 2729,
                                            "end": 2743,
                                            "loc": {
                                              "start": {
                                                "line": 79,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 79,
                                                "column": 30
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 2729,
                                              "end": 2740,
                                              "loc": {
                                                "start": {
                                                  "line": 79,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 79,
                                                  "column": 27
                                                },
                                                "identifierName": "boundStates"
                                              },
                                              "name": "boundStates"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2741,
                                              "end": 2742,
                                              "loc": {
                                                "start": {
                                                  "line": 79,
                                                  "column": 28
                                                },
                                                "end": {
                                                  "line": 79,
                                                  "column": 29
                                                },
                                                "identifierName": "i"
                                              },
                                              "name": "i"
                                            },
                                            "computed": true
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2744,
                                            "end": 2754,
                                            "loc": {
                                              "start": {
                                                "line": 79,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 79,
                                                "column": 41
                                              },
                                              "identifierName": "boundState"
                                            },
                                            "name": "boundState"
                                          },
                                          "computed": false
                                        },
                                        "operator": "===",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 2759,
                                          "end": 2770,
                                          "loc": {
                                            "start": {
                                              "line": 79,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 79,
                                              "column": 57
                                            },
                                            "identifierName": "stateParent"
                                          },
                                          "name": "stateParent"
                                        }
                                      },
                                      "consequent": {
                                        "type": "ExpressionStatement",
                                        "start": 2788,
                                        "end": 2798,
                                        "loc": {
                                          "start": {
                                            "line": 80,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 80,
                                            "column": 26
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 2788,
                                          "end": 2797,
                                          "loc": {
                                            "start": {
                                              "line": 80,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 80,
                                              "column": 25
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "Identifier",
                                            "start": 2788,
                                            "end": 2793,
                                            "loc": {
                                              "start": {
                                                "line": 80,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 80,
                                                "column": 21
                                              },
                                              "identifierName": "index"
                                            },
                                            "name": "index"
                                          },
                                          "right": {
                                            "type": "Identifier",
                                            "start": 2796,
                                            "end": 2797,
                                            "loc": {
                                              "start": {
                                                "line": 80,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 80,
                                                "column": 25
                                              },
                                              "identifierName": "i"
                                            },
                                            "name": "i"
                                          }
                                        }
                                      },
                                      "alternate": null
                                    }
                                  ],
                                  "directives": []
                                }
                              },
                              {
                                "type": "IfStatement",
                                "start": 2817,
                                "end": 2886,
                                "loc": {
                                  "start": {
                                    "line": 82,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 84,
                                    "column": 9
                                  }
                                },
                                "test": {
                                  "type": "BinaryExpression",
                                  "start": 2821,
                                  "end": 2831,
                                  "loc": {
                                    "start": {
                                      "line": 82,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 82,
                                      "column": 22
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 2821,
                                    "end": 2826,
                                    "loc": {
                                      "start": {
                                        "line": 82,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 82,
                                        "column": 17
                                      },
                                      "identifierName": "index"
                                    },
                                    "name": "index"
                                  },
                                  "operator": ">",
                                  "right": {
                                    "type": "UnaryExpression",
                                    "start": 2829,
                                    "end": 2831,
                                    "loc": {
                                      "start": {
                                        "line": 82,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 82,
                                        "column": 22
                                      }
                                    },
                                    "operator": "-",
                                    "prefix": true,
                                    "argument": {
                                      "type": "NumericLiteral",
                                      "start": 2830,
                                      "end": 2831,
                                      "loc": {
                                        "start": {
                                          "line": 82,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 82,
                                          "column": 22
                                        }
                                      },
                                      "extra": {
                                        "rawValue": 1,
                                        "raw": "1"
                                      },
                                      "value": 1
                                    },
                                    "extra": {
                                      "parenthesizedArgument": false
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "start": 2833,
                                  "end": 2886,
                                  "loc": {
                                    "start": {
                                      "line": 82,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 84,
                                      "column": 9
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 2847,
                                      "end": 2876,
                                      "loc": {
                                        "start": {
                                          "line": 83,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 83,
                                          "column": 41
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 2847,
                                        "end": 2875,
                                        "loc": {
                                          "start": {
                                            "line": 83,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 83,
                                            "column": 40
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 2847,
                                          "end": 2865,
                                          "loc": {
                                            "start": {
                                              "line": 83,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 83,
                                              "column": 30
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 2847,
                                            "end": 2858,
                                            "loc": {
                                              "start": {
                                                "line": 83,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 83,
                                                "column": 23
                                              },
                                              "identifierName": "boundStates"
                                            },
                                            "name": "boundStates"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2859,
                                            "end": 2865,
                                            "loc": {
                                              "start": {
                                                "line": 83,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 83,
                                                "column": 30
                                              },
                                              "identifierName": "splice"
                                            },
                                            "name": "splice"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 2866,
                                            "end": 2871,
                                            "loc": {
                                              "start": {
                                                "line": 83,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 83,
                                                "column": 36
                                              },
                                              "identifierName": "index"
                                            },
                                            "name": "index"
                                          },
                                          {
                                            "type": "NumericLiteral",
                                            "start": 2873,
                                            "end": 2874,
                                            "loc": {
                                              "start": {
                                                "line": 83,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 83,
                                                "column": 39
                                              }
                                            },
                                            "extra": {
                                              "rawValue": 1,
                                              "raw": "1"
                                            },
                                            "value": 1
                                          }
                                        ]
                                      }
                                    }
                                  ],
                                  "directives": []
                                },
                                "alternate": null
                              }
                            ],
                            "directives": []
                          }
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "**\n     * Unbinds the state of stateParent\n     * @example <caption>Unbinding to a React component</caption>\n     * componentWillUnmount(){\n     *     mainStore.unbindState(this);\n     * }\n     * @param stateParent\n     ",
                          "start": 2305,
                          "end": 2529,
                          "loc": {
                            "start": {
                              "line": 67,
                              "column": 4
                            },
                            "end": {
                              "line": 74,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2898,
                      "end": 3722,
                      "loc": {
                        "start": {
                          "line": 86,
                          "column": 4
                        },
                        "end": {
                          "line": 101,
                          "column": 6
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2898,
                        "end": 3721,
                        "loc": {
                          "start": {
                            "line": 86,
                            "column": 4
                          },
                          "end": {
                            "line": 101,
                            "column": 5
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2898,
                          "end": 2926,
                          "loc": {
                            "start": {
                              "line": 86,
                              "column": 4
                            },
                            "end": {
                              "line": 86,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2898,
                            "end": 2913,
                            "loc": {
                              "start": {
                                "line": 86,
                                "column": 4
                              },
                              "end": {
                                "line": 86,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2898,
                              "end": 2903,
                              "loc": {
                                "start": {
                                  "line": 86,
                                  "column": 4
                                },
                                "end": {
                                  "line": 86,
                                  "column": 9
                                },
                                "identifierName": "Store"
                              },
                              "name": "Store"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2904,
                              "end": 2913,
                              "loc": {
                                "start": {
                                  "line": 86,
                                  "column": 10
                                },
                                "end": {
                                  "line": 86,
                                  "column": 19
                                },
                                "identifierName": "prototype"
                              },
                              "name": "prototype"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2914,
                            "end": 2926,
                            "loc": {
                              "start": {
                                "line": 86,
                                "column": 20
                              },
                              "end": {
                                "line": 86,
                                "column": 32
                              },
                              "identifierName": "forwardState"
                            },
                            "name": "forwardState"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "start": 2929,
                          "end": 3721,
                          "loc": {
                            "start": {
                              "line": 86,
                              "column": 35
                            },
                            "end": {
                              "line": 101,
                              "column": 5
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": false,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 2939,
                              "end": 2959,
                              "loc": {
                                "start": {
                                  "line": 86,
                                  "column": 45
                                },
                                "end": {
                                  "line": 86,
                                  "column": 65
                                },
                                "identifierName": "receivingStateParent"
                              },
                              "name": "receivingStateParent"
                            },
                            {
                              "type": "Identifier",
                              "start": 2961,
                              "end": 2968,
                              "loc": {
                                "start": {
                                  "line": 86,
                                  "column": 67
                                },
                                "end": {
                                  "line": 86,
                                  "column": 74
                                },
                                "identifierName": "mapping"
                              },
                              "name": "mapping"
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "start": 2970,
                            "end": 3721,
                            "loc": {
                              "start": {
                                "line": 86,
                                "column": 76
                              },
                              "end": {
                                "line": 101,
                                "column": 5
                              }
                            },
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "start": 2980,
                                "end": 2997,
                                "loc": {
                                  "start": {
                                    "line": 87,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 87,
                                    "column": 25
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 2984,
                                    "end": 2996,
                                    "loc": {
                                      "start": {
                                        "line": 87,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 87,
                                        "column": 24
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 2984,
                                      "end": 2989,
                                      "loc": {
                                        "start": {
                                          "line": 87,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 87,
                                          "column": 17
                                        },
                                        "identifierName": "_this"
                                      },
                                      "name": "_this"
                                    },
                                    "init": {
                                      "type": "ThisExpression",
                                      "start": 2992,
                                      "end": 2996,
                                      "loc": {
                                        "start": {
                                          "line": 87,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 87,
                                          "column": 24
                                        }
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "trailingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " the new state that will be transferred to the receiving state",
                                    "start": 3006,
                                    "end": 3070,
                                    "loc": {
                                      "start": {
                                        "line": 88,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 88,
                                        "column": 72
                                      }
                                    }
                                  }
                                ]
                              },
                              {
                                "type": "VariableDeclaration",
                                "start": 3079,
                                "end": 3097,
                                "loc": {
                                  "start": {
                                    "line": 89,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 89,
                                    "column": 26
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 3083,
                                    "end": 3096,
                                    "loc": {
                                      "start": {
                                        "line": 89,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 89,
                                        "column": 25
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 3083,
                                      "end": 3091,
                                      "loc": {
                                        "start": {
                                          "line": 89,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 89,
                                          "column": 20
                                        },
                                        "identifierName": "newState"
                                      },
                                      "name": "newState",
                                      "leadingComments": null
                                    },
                                    "init": {
                                      "type": "ObjectExpression",
                                      "start": 3094,
                                      "end": 3096,
                                      "loc": {
                                        "start": {
                                          "line": 89,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 89,
                                          "column": 25
                                        }
                                      },
                                      "properties": []
                                    },
                                    "leadingComments": null
                                  }
                                ],
                                "kind": "var",
                                "leadingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " the new state that will be transferred to the receiving state",
                                    "start": 3006,
                                    "end": 3070,
                                    "loc": {
                                      "start": {
                                        "line": 88,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 88,
                                        "column": 72
                                      }
                                    }
                                  }
                                ]
                              },
                              {
                                "type": "VariableDeclaration",
                                "start": 3106,
                                "end": 3166,
                                "loc": {
                                  "start": {
                                    "line": 90,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 90,
                                    "column": 68
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 3110,
                                    "end": 3165,
                                    "loc": {
                                      "start": {
                                        "line": 90,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 90,
                                        "column": 67
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 3110,
                                      "end": 3123,
                                      "loc": {
                                        "start": {
                                          "line": 90,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 25
                                        },
                                        "identifierName": "receivingKeys"
                                      },
                                      "name": "receivingKeys"
                                    },
                                    "init": {
                                      "type": "CallExpression",
                                      "start": 3126,
                                      "end": 3165,
                                      "loc": {
                                        "start": {
                                          "line": 90,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 67
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 3126,
                                        "end": 3137,
                                        "loc": {
                                          "start": {
                                            "line": 90,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 90,
                                            "column": 39
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 3126,
                                          "end": 3132,
                                          "loc": {
                                            "start": {
                                              "line": 90,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 90,
                                              "column": 34
                                            },
                                            "identifierName": "Object"
                                          },
                                          "name": "Object"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 3133,
                                          "end": 3137,
                                          "loc": {
                                            "start": {
                                              "line": 90,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 90,
                                              "column": 39
                                            },
                                            "identifierName": "keys"
                                          },
                                          "name": "keys"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "start": 3138,
                                          "end": 3164,
                                          "loc": {
                                            "start": {
                                              "line": 90,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 90,
                                              "column": 66
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 3138,
                                            "end": 3158,
                                            "loc": {
                                              "start": {
                                                "line": 90,
                                                "column": 40
                                              },
                                              "end": {
                                                "line": 90,
                                                "column": 60
                                              },
                                              "identifierName": "receivingStateParent"
                                            },
                                            "name": "receivingStateParent"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 3159,
                                            "end": 3164,
                                            "loc": {
                                              "start": {
                                                "line": 90,
                                                "column": 61
                                              },
                                              "end": {
                                                "line": 90,
                                                "column": 66
                                              },
                                              "identifierName": "state"
                                            },
                                            "name": "state"
                                          },
                                          "computed": false
                                        }
                                      ]
                                    }
                                  }
                                ],
                                "kind": "var",
                                "trailingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Loop through all of the values in this store's state",
                                    "start": 3175,
                                    "end": 3230,
                                    "loc": {
                                      "start": {
                                        "line": 91,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 91,
                                        "column": 63
                                      }
                                    }
                                  }
                                ]
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 3239,
                                "end": 3613,
                                "loc": {
                                  "start": {
                                    "line": 92,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 98,
                                    "column": 11
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 3239,
                                  "end": 3612,
                                  "loc": {
                                    "start": {
                                      "line": 92,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 98,
                                      "column": 10
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 3239,
                                    "end": 3270,
                                    "loc": {
                                      "start": {
                                        "line": 92,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 92,
                                        "column": 39
                                      }
                                    },
                                    "object": {
                                      "type": "CallExpression",
                                      "start": 3239,
                                      "end": 3262,
                                      "loc": {
                                        "start": {
                                          "line": 92,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 92,
                                          "column": 31
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 3239,
                                        "end": 3250,
                                        "loc": {
                                          "start": {
                                            "line": 92,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 92,
                                            "column": 19
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 3239,
                                          "end": 3245,
                                          "loc": {
                                            "start": {
                                              "line": 92,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 92,
                                              "column": 14
                                            },
                                            "identifierName": "Object"
                                          },
                                          "name": "Object",
                                          "leadingComments": null
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 3246,
                                          "end": 3250,
                                          "loc": {
                                            "start": {
                                              "line": 92,
                                              "column": 15
                                            },
                                            "end": {
                                              "line": 92,
                                              "column": 19
                                            },
                                            "identifierName": "keys"
                                          },
                                          "name": "keys"
                                        },
                                        "computed": false,
                                        "leadingComments": null
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "start": 3251,
                                          "end": 3261,
                                          "loc": {
                                            "start": {
                                              "line": 92,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 92,
                                              "column": 30
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 3251,
                                            "end": 3255,
                                            "loc": {
                                              "start": {
                                                "line": 92,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 92,
                                                "column": 24
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 3256,
                                            "end": 3261,
                                            "loc": {
                                              "start": {
                                                "line": 92,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 92,
                                                "column": 30
                                              },
                                              "identifierName": "state"
                                            },
                                            "name": "state"
                                          },
                                          "computed": false
                                        }
                                      ],
                                      "leadingComments": null
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3263,
                                      "end": 3270,
                                      "loc": {
                                        "start": {
                                          "line": 92,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 92,
                                          "column": 39
                                        },
                                        "identifierName": "forEach"
                                      },
                                      "name": "forEach"
                                    },
                                    "computed": false,
                                    "leadingComments": null
                                  },
                                  "arguments": [
                                    {
                                      "type": "FunctionExpression",
                                      "start": 3271,
                                      "end": 3611,
                                      "loc": {
                                        "start": {
                                          "line": 92,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 98,
                                          "column": 9
                                        }
                                      },
                                      "id": null,
                                      "generator": false,
                                      "expression": false,
                                      "async": false,
                                      "params": [
                                        {
                                          "type": "Identifier",
                                          "start": 3281,
                                          "end": 3284,
                                          "loc": {
                                            "start": {
                                              "line": 92,
                                              "column": 50
                                            },
                                            "end": {
                                              "line": 92,
                                              "column": 53
                                            },
                                            "identifierName": "key"
                                          },
                                          "name": "key"
                                        }
                                      ],
                                      "body": {
                                        "type": "BlockStatement",
                                        "start": 3286,
                                        "end": 3611,
                                        "loc": {
                                          "start": {
                                            "line": 92,
                                            "column": 55
                                          },
                                          "end": {
                                            "line": 98,
                                            "column": 9
                                          }
                                        },
                                        "body": [
                                          {
                                            "type": "VariableDeclaration",
                                            "start": 3352,
                                            "end": 3397,
                                            "loc": {
                                              "start": {
                                                "line": 94,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 94,
                                                "column": 57
                                              }
                                            },
                                            "declarations": [
                                              {
                                                "type": "VariableDeclarator",
                                                "start": 3356,
                                                "end": 3396,
                                                "loc": {
                                                  "start": {
                                                    "line": 94,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 94,
                                                    "column": 56
                                                  }
                                                },
                                                "id": {
                                                  "type": "Identifier",
                                                  "start": 3356,
                                                  "end": 3365,
                                                  "loc": {
                                                    "start": {
                                                      "line": 94,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 94,
                                                      "column": 25
                                                    },
                                                    "identifierName": "mappedKey"
                                                  },
                                                  "name": "mappedKey",
                                                  "leadingComments": null
                                                },
                                                "init": {
                                                  "type": "ConditionalExpression",
                                                  "start": 3368,
                                                  "end": 3396,
                                                  "loc": {
                                                    "start": {
                                                      "line": 94,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 94,
                                                      "column": 56
                                                    }
                                                  },
                                                  "test": {
                                                    "type": "Identifier",
                                                    "start": 3368,
                                                    "end": 3375,
                                                    "loc": {
                                                      "start": {
                                                        "line": 94,
                                                        "column": 28
                                                      },
                                                      "end": {
                                                        "line": 94,
                                                        "column": 35
                                                      },
                                                      "identifierName": "mapping"
                                                    },
                                                    "name": "mapping"
                                                  },
                                                  "consequent": {
                                                    "type": "CallExpression",
                                                    "start": 3378,
                                                    "end": 3390,
                                                    "loc": {
                                                      "start": {
                                                        "line": 94,
                                                        "column": 38
                                                      },
                                                      "end": {
                                                        "line": 94,
                                                        "column": 50
                                                      }
                                                    },
                                                    "callee": {
                                                      "type": "Identifier",
                                                      "start": 3378,
                                                      "end": 3385,
                                                      "loc": {
                                                        "start": {
                                                          "line": 94,
                                                          "column": 38
                                                        },
                                                        "end": {
                                                          "line": 94,
                                                          "column": 45
                                                        },
                                                        "identifierName": "mapping"
                                                      },
                                                      "name": "mapping"
                                                    },
                                                    "arguments": [
                                                      {
                                                        "type": "Identifier",
                                                        "start": 3386,
                                                        "end": 3389,
                                                        "loc": {
                                                          "start": {
                                                            "line": 94,
                                                            "column": 46
                                                          },
                                                          "end": {
                                                            "line": 94,
                                                            "column": 49
                                                          },
                                                          "identifierName": "key"
                                                        },
                                                        "name": "key"
                                                      }
                                                    ]
                                                  },
                                                  "alternate": {
                                                    "type": "Identifier",
                                                    "start": 3393,
                                                    "end": 3396,
                                                    "loc": {
                                                      "start": {
                                                        "line": 94,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 94,
                                                        "column": 56
                                                      },
                                                      "identifierName": "key"
                                                    },
                                                    "name": "key"
                                                  }
                                                },
                                                "leadingComments": null
                                              }
                                            ],
                                            "kind": "var",
                                            "leadingComments": [
                                              {
                                                "type": "CommentLine",
                                                "value": " Map the sender's key to the receiver",
                                                "start": 3300,
                                                "end": 3339,
                                                "loc": {
                                                  "start": {
                                                    "line": 93,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 93,
                                                    "column": 51
                                                  }
                                                }
                                              }
                                            ],
                                            "trailingComments": [
                                              {
                                                "type": "CommentLine",
                                                "value": " If the mappedKey can be found in the receiver add the value to the new state",
                                                "start": 3410,
                                                "end": 3489,
                                                "loc": {
                                                  "start": {
                                                    "line": 95,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 95,
                                                    "column": 91
                                                  }
                                                }
                                              }
                                            ]
                                          },
                                          {
                                            "type": "IfStatement",
                                            "start": 3502,
                                            "end": 3601,
                                            "loc": {
                                              "start": {
                                                "line": 96,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 97,
                                                "column": 55
                                              }
                                            },
                                            "test": {
                                              "type": "BinaryExpression",
                                              "start": 3506,
                                              "end": 3544,
                                              "loc": {
                                                "start": {
                                                  "line": 96,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 96,
                                                  "column": 54
                                                }
                                              },
                                              "left": {
                                                "type": "CallExpression",
                                                "start": 3506,
                                                "end": 3538,
                                                "loc": {
                                                  "start": {
                                                    "line": 96,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 96,
                                                    "column": 48
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 3506,
                                                  "end": 3527,
                                                  "loc": {
                                                    "start": {
                                                      "line": 96,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 96,
                                                      "column": 37
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 3506,
                                                    "end": 3519,
                                                    "loc": {
                                                      "start": {
                                                        "line": 96,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 96,
                                                        "column": 29
                                                      },
                                                      "identifierName": "receivingKeys"
                                                    },
                                                    "name": "receivingKeys",
                                                    "leadingComments": null
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3520,
                                                    "end": 3527,
                                                    "loc": {
                                                      "start": {
                                                        "line": 96,
                                                        "column": 30
                                                      },
                                                      "end": {
                                                        "line": 96,
                                                        "column": 37
                                                      },
                                                      "identifierName": "indexOf"
                                                    },
                                                    "name": "indexOf"
                                                  },
                                                  "computed": false,
                                                  "leadingComments": null
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "start": 3528,
                                                    "end": 3537,
                                                    "loc": {
                                                      "start": {
                                                        "line": 96,
                                                        "column": 38
                                                      },
                                                      "end": {
                                                        "line": 96,
                                                        "column": 47
                                                      },
                                                      "identifierName": "mappedKey"
                                                    },
                                                    "name": "mappedKey"
                                                  }
                                                ],
                                                "leadingComments": null
                                              },
                                              "operator": "!=",
                                              "right": {
                                                "type": "UnaryExpression",
                                                "start": 3542,
                                                "end": 3544,
                                                "loc": {
                                                  "start": {
                                                    "line": 96,
                                                    "column": 52
                                                  },
                                                  "end": {
                                                    "line": 96,
                                                    "column": 54
                                                  }
                                                },
                                                "operator": "-",
                                                "prefix": true,
                                                "argument": {
                                                  "type": "NumericLiteral",
                                                  "start": 3543,
                                                  "end": 3544,
                                                  "loc": {
                                                    "start": {
                                                      "line": 96,
                                                      "column": 53
                                                    },
                                                    "end": {
                                                      "line": 96,
                                                      "column": 54
                                                    }
                                                  },
                                                  "extra": {
                                                    "rawValue": 1,
                                                    "raw": "1"
                                                  },
                                                  "value": 1
                                                },
                                                "extra": {
                                                  "parenthesizedArgument": false
                                                }
                                              },
                                              "leadingComments": null
                                            },
                                            "consequent": {
                                              "type": "ExpressionStatement",
                                              "start": 3562,
                                              "end": 3601,
                                              "loc": {
                                                "start": {
                                                  "line": 97,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 97,
                                                  "column": 55
                                                }
                                              },
                                              "expression": {
                                                "type": "AssignmentExpression",
                                                "start": 3562,
                                                "end": 3600,
                                                "loc": {
                                                  "start": {
                                                    "line": 97,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 97,
                                                    "column": 54
                                                  }
                                                },
                                                "operator": "=",
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 3562,
                                                  "end": 3581,
                                                  "loc": {
                                                    "start": {
                                                      "line": 97,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 97,
                                                      "column": 35
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 3562,
                                                    "end": 3570,
                                                    "loc": {
                                                      "start": {
                                                        "line": 97,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 97,
                                                        "column": 24
                                                      },
                                                      "identifierName": "newState"
                                                    },
                                                    "name": "newState"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3571,
                                                    "end": 3580,
                                                    "loc": {
                                                      "start": {
                                                        "line": 97,
                                                        "column": 25
                                                      },
                                                      "end": {
                                                        "line": 97,
                                                        "column": 34
                                                      },
                                                      "identifierName": "mappedKey"
                                                    },
                                                    "name": "mappedKey"
                                                  },
                                                  "computed": true
                                                },
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 3584,
                                                  "end": 3600,
                                                  "loc": {
                                                    "start": {
                                                      "line": 97,
                                                      "column": 38
                                                    },
                                                    "end": {
                                                      "line": 97,
                                                      "column": 54
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "start": 3584,
                                                    "end": 3595,
                                                    "loc": {
                                                      "start": {
                                                        "line": 97,
                                                        "column": 38
                                                      },
                                                      "end": {
                                                        "line": 97,
                                                        "column": 49
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 3584,
                                                      "end": 3589,
                                                      "loc": {
                                                        "start": {
                                                          "line": 97,
                                                          "column": 38
                                                        },
                                                        "end": {
                                                          "line": 97,
                                                          "column": 43
                                                        },
                                                        "identifierName": "_this"
                                                      },
                                                      "name": "_this"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 3590,
                                                      "end": 3595,
                                                      "loc": {
                                                        "start": {
                                                          "line": 97,
                                                          "column": 44
                                                        },
                                                        "end": {
                                                          "line": 97,
                                                          "column": 49
                                                        },
                                                        "identifierName": "state"
                                                      },
                                                      "name": "state"
                                                    },
                                                    "computed": false
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3596,
                                                    "end": 3599,
                                                    "loc": {
                                                      "start": {
                                                        "line": 97,
                                                        "column": 50
                                                      },
                                                      "end": {
                                                        "line": 97,
                                                        "column": 53
                                                      },
                                                      "identifierName": "key"
                                                    },
                                                    "name": "key"
                                                  },
                                                  "computed": true
                                                }
                                              }
                                            },
                                            "alternate": null,
                                            "leadingComments": [
                                              {
                                                "type": "CommentLine",
                                                "value": " If the mappedKey can be found in the receiver add the value to the new state",
                                                "start": 3410,
                                                "end": 3489,
                                                "loc": {
                                                  "start": {
                                                    "line": 95,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 95,
                                                    "column": 91
                                                  }
                                                }
                                              }
                                            ]
                                          }
                                        ],
                                        "directives": []
                                      }
                                    }
                                  ],
                                  "leadingComments": null
                                },
                                "leadingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Loop through all of the values in this store's state",
                                    "start": 3175,
                                    "end": 3230,
                                    "loc": {
                                      "start": {
                                        "line": 91,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 91,
                                        "column": 63
                                      }
                                    }
                                  }
                                ],
                                "trailingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Send the new state to the receiving store",
                                    "start": 3622,
                                    "end": 3666,
                                    "loc": {
                                      "start": {
                                        "line": 99,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 99,
                                        "column": 52
                                      }
                                    }
                                  }
                                ]
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 3675,
                                "end": 3715,
                                "loc": {
                                  "start": {
                                    "line": 100,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 100,
                                    "column": 48
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 3675,
                                  "end": 3714,
                                  "loc": {
                                    "start": {
                                      "line": 100,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 100,
                                      "column": 47
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 3675,
                                    "end": 3704,
                                    "loc": {
                                      "start": {
                                        "line": 100,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 100,
                                        "column": 37
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 3675,
                                      "end": 3695,
                                      "loc": {
                                        "start": {
                                          "line": 100,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 100,
                                          "column": 28
                                        },
                                        "identifierName": "receivingStateParent"
                                      },
                                      "name": "receivingStateParent",
                                      "leadingComments": null
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3696,
                                      "end": 3704,
                                      "loc": {
                                        "start": {
                                          "line": 100,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 100,
                                          "column": 37
                                        },
                                        "identifierName": "setState"
                                      },
                                      "name": "setState"
                                    },
                                    "computed": false,
                                    "leadingComments": null
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 3705,
                                      "end": 3713,
                                      "loc": {
                                        "start": {
                                          "line": 100,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 100,
                                          "column": 46
                                        },
                                        "identifierName": "newState"
                                      },
                                      "name": "newState"
                                    }
                                  ],
                                  "leadingComments": null
                                },
                                "leadingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Send the new state to the receiving store",
                                    "start": 3622,
                                    "end": 3666,
                                    "loc": {
                                      "start": {
                                        "line": 99,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 99,
                                        "column": 52
                                      }
                                    }
                                  }
                                ]
                              }
                            ],
                            "directives": []
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3727,
                      "end": 3925,
                      "loc": {
                        "start": {
                          "line": 102,
                          "column": 4
                        },
                        "end": {
                          "line": 105,
                          "column": 6
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3727,
                        "end": 3924,
                        "loc": {
                          "start": {
                            "line": 102,
                            "column": 4
                          },
                          "end": {
                            "line": 105,
                            "column": 5
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3727,
                          "end": 3763,
                          "loc": {
                            "start": {
                              "line": 102,
                              "column": 4
                            },
                            "end": {
                              "line": 102,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 3727,
                            "end": 3742,
                            "loc": {
                              "start": {
                                "line": 102,
                                "column": 4
                              },
                              "end": {
                                "line": 102,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 3727,
                              "end": 3732,
                              "loc": {
                                "start": {
                                  "line": 102,
                                  "column": 4
                                },
                                "end": {
                                  "line": 102,
                                  "column": 9
                                },
                                "identifierName": "Store"
                              },
                              "name": "Store"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3733,
                              "end": 3742,
                              "loc": {
                                "start": {
                                  "line": 102,
                                  "column": 10
                                },
                                "end": {
                                  "line": 102,
                                  "column": 19
                                },
                                "identifierName": "prototype"
                              },
                              "name": "prototype"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3743,
                            "end": 3763,
                            "loc": {
                              "start": {
                                "line": 102,
                                "column": 20
                              },
                              "end": {
                                "line": 102,
                                "column": 40
                              },
                              "identifierName": "forwardToBoundStates"
                            },
                            "name": "forwardToBoundStates"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "start": 3766,
                          "end": 3924,
                          "loc": {
                            "start": {
                              "line": 102,
                              "column": 43
                            },
                            "end": {
                              "line": 105,
                              "column": 5
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": false,
                          "async": false,
                          "params": [],
                          "body": {
                            "type": "BlockStatement",
                            "start": 3778,
                            "end": 3924,
                            "loc": {
                              "start": {
                                "line": 102,
                                "column": 55
                              },
                              "end": {
                                "line": 105,
                                "column": 5
                              }
                            },
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "start": 3788,
                                "end": 3805,
                                "loc": {
                                  "start": {
                                    "line": 103,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 103,
                                    "column": 25
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 3792,
                                    "end": 3804,
                                    "loc": {
                                      "start": {
                                        "line": 103,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 103,
                                        "column": 24
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 3792,
                                      "end": 3797,
                                      "loc": {
                                        "start": {
                                          "line": 103,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 103,
                                          "column": 17
                                        },
                                        "identifierName": "_this"
                                      },
                                      "name": "_this"
                                    },
                                    "init": {
                                      "type": "ThisExpression",
                                      "start": 3800,
                                      "end": 3804,
                                      "loc": {
                                        "start": {
                                          "line": 103,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 103,
                                          "column": 24
                                        }
                                      }
                                    }
                                  }
                                ],
                                "kind": "var"
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 3814,
                                "end": 3918,
                                "loc": {
                                  "start": {
                                    "line": 104,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 104,
                                    "column": 112
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 3814,
                                  "end": 3917,
                                  "loc": {
                                    "start": {
                                      "line": 104,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 104,
                                      "column": 111
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 3814,
                                    "end": 3839,
                                    "loc": {
                                      "start": {
                                        "line": 104,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 104,
                                        "column": 33
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 3814,
                                      "end": 3831,
                                      "loc": {
                                        "start": {
                                          "line": 104,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 104,
                                          "column": 25
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 3814,
                                        "end": 3818,
                                        "loc": {
                                          "start": {
                                            "line": 104,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 104,
                                            "column": 12
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 3819,
                                        "end": 3831,
                                        "loc": {
                                          "start": {
                                            "line": 104,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 104,
                                            "column": 25
                                          },
                                          "identifierName": "_boundStates"
                                        },
                                        "name": "_boundStates"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3832,
                                      "end": 3839,
                                      "loc": {
                                        "start": {
                                          "line": 104,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 104,
                                          "column": 33
                                        },
                                        "identifierName": "forEach"
                                      },
                                      "name": "forEach"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "FunctionExpression",
                                      "start": 3840,
                                      "end": 3916,
                                      "loc": {
                                        "start": {
                                          "line": 104,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 104,
                                          "column": 110
                                        }
                                      },
                                      "id": null,
                                      "generator": false,
                                      "expression": false,
                                      "async": false,
                                      "params": [
                                        {
                                          "type": "Identifier",
                                          "start": 3850,
                                          "end": 3854,
                                          "loc": {
                                            "start": {
                                              "line": 104,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 104,
                                              "column": 48
                                            },
                                            "identifierName": "info"
                                          },
                                          "name": "info"
                                        }
                                      ],
                                      "body": {
                                        "type": "BlockStatement",
                                        "start": 3856,
                                        "end": 3916,
                                        "loc": {
                                          "start": {
                                            "line": 104,
                                            "column": 50
                                          },
                                          "end": {
                                            "line": 104,
                                            "column": 110
                                          }
                                        },
                                        "body": [
                                          {
                                            "type": "ReturnStatement",
                                            "start": 3858,
                                            "end": 3914,
                                            "loc": {
                                              "start": {
                                                "line": 104,
                                                "column": 52
                                              },
                                              "end": {
                                                "line": 104,
                                                "column": 108
                                              }
                                            },
                                            "argument": {
                                              "type": "CallExpression",
                                              "start": 3865,
                                              "end": 3913,
                                              "loc": {
                                                "start": {
                                                  "line": 104,
                                                  "column": 59
                                                },
                                                "end": {
                                                  "line": 104,
                                                  "column": 107
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 3865,
                                                "end": 3883,
                                                "loc": {
                                                  "start": {
                                                    "line": 104,
                                                    "column": 59
                                                  },
                                                  "end": {
                                                    "line": 104,
                                                    "column": 77
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 3865,
                                                  "end": 3870,
                                                  "loc": {
                                                    "start": {
                                                      "line": 104,
                                                      "column": 59
                                                    },
                                                    "end": {
                                                      "line": 104,
                                                      "column": 64
                                                    },
                                                    "identifierName": "_this"
                                                  },
                                                  "name": "_this"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3871,
                                                  "end": 3883,
                                                  "loc": {
                                                    "start": {
                                                      "line": 104,
                                                      "column": 65
                                                    },
                                                    "end": {
                                                      "line": 104,
                                                      "column": 77
                                                    },
                                                    "identifierName": "forwardState"
                                                  },
                                                  "name": "forwardState"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "MemberExpression",
                                                  "start": 3884,
                                                  "end": 3899,
                                                  "loc": {
                                                    "start": {
                                                      "line": 104,
                                                      "column": 78
                                                    },
                                                    "end": {
                                                      "line": 104,
                                                      "column": 93
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 3884,
                                                    "end": 3888,
                                                    "loc": {
                                                      "start": {
                                                        "line": 104,
                                                        "column": 78
                                                      },
                                                      "end": {
                                                        "line": 104,
                                                        "column": 82
                                                      },
                                                      "identifierName": "info"
                                                    },
                                                    "name": "info"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3889,
                                                    "end": 3899,
                                                    "loc": {
                                                      "start": {
                                                        "line": 104,
                                                        "column": 83
                                                      },
                                                      "end": {
                                                        "line": 104,
                                                        "column": 93
                                                      },
                                                      "identifierName": "boundState"
                                                    },
                                                    "name": "boundState"
                                                  },
                                                  "computed": false
                                                },
                                                {
                                                  "type": "MemberExpression",
                                                  "start": 3901,
                                                  "end": 3912,
                                                  "loc": {
                                                    "start": {
                                                      "line": 104,
                                                      "column": 95
                                                    },
                                                    "end": {
                                                      "line": 104,
                                                      "column": 106
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 3901,
                                                    "end": 3905,
                                                    "loc": {
                                                      "start": {
                                                        "line": 104,
                                                        "column": 95
                                                      },
                                                      "end": {
                                                        "line": 104,
                                                        "column": 99
                                                      },
                                                      "identifierName": "info"
                                                    },
                                                    "name": "info"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3906,
                                                    "end": 3912,
                                                    "loc": {
                                                      "start": {
                                                        "line": 104,
                                                        "column": 100
                                                      },
                                                      "end": {
                                                        "line": 104,
                                                        "column": 106
                                                      },
                                                      "identifierName": "mapper"
                                                    },
                                                    "name": "mapper"
                                                  },
                                                  "computed": false
                                                }
                                              ]
                                            }
                                          }
                                        ],
                                        "directives": []
                                      }
                                    }
                                  ]
                                }
                              }
                            ],
                            "directives": []
                          }
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * Get the previous state of the store\n     * @return {object} previous state\n     ",
                          "start": 3930,
                          "end": 4023,
                          "loc": {
                            "start": {
                              "line": 106,
                              "column": 4
                            },
                            "end": {
                              "line": 109,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4028,
                      "end": 4174,
                      "loc": {
                        "start": {
                          "line": 110,
                          "column": 4
                        },
                        "end": {
                          "line": 113,
                          "column": 6
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 4028,
                        "end": 4173,
                        "loc": {
                          "start": {
                            "line": 110,
                            "column": 4
                          },
                          "end": {
                            "line": 113,
                            "column": 5
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 4028,
                          "end": 4060,
                          "loc": {
                            "start": {
                              "line": 110,
                              "column": 4
                            },
                            "end": {
                              "line": 110,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 4028,
                            "end": 4043,
                            "loc": {
                              "start": {
                                "line": 110,
                                "column": 4
                              },
                              "end": {
                                "line": 110,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 4028,
                              "end": 4033,
                              "loc": {
                                "start": {
                                  "line": 110,
                                  "column": 4
                                },
                                "end": {
                                  "line": 110,
                                  "column": 9
                                },
                                "identifierName": "Store"
                              },
                              "name": "Store",
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4034,
                              "end": 4043,
                              "loc": {
                                "start": {
                                  "line": 110,
                                  "column": 10
                                },
                                "end": {
                                  "line": 110,
                                  "column": 19
                                },
                                "identifierName": "prototype"
                              },
                              "name": "prototype"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4044,
                            "end": 4060,
                            "loc": {
                              "start": {
                                "line": 110,
                                "column": 20
                              },
                              "end": {
                                "line": 110,
                                "column": 36
                              },
                              "identifierName": "getPreviousState"
                            },
                            "name": "getPreviousState"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "start": 4063,
                          "end": 4173,
                          "loc": {
                            "start": {
                              "line": 110,
                              "column": 39
                            },
                            "end": {
                              "line": 113,
                              "column": 5
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": false,
                          "async": false,
                          "params": [],
                          "body": {
                            "type": "BlockStatement",
                            "start": 4075,
                            "end": 4173,
                            "loc": {
                              "start": {
                                "line": 110,
                                "column": 51
                              },
                              "end": {
                                "line": 113,
                                "column": 5
                              }
                            },
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "start": 4085,
                                "end": 4126,
                                "loc": {
                                  "start": {
                                    "line": 111,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 111,
                                    "column": 49
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 4089,
                                    "end": 4125,
                                    "loc": {
                                      "start": {
                                        "line": 111,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 111,
                                        "column": 48
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 4089,
                                      "end": 4094,
                                      "loc": {
                                        "start": {
                                          "line": 111,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 111,
                                          "column": 17
                                        },
                                        "identifierName": "index"
                                      },
                                      "name": "index"
                                    },
                                    "init": {
                                      "type": "BinaryExpression",
                                      "start": 4097,
                                      "end": 4125,
                                      "loc": {
                                        "start": {
                                          "line": 111,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 111,
                                          "column": 48
                                        }
                                      },
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 4097,
                                        "end": 4121,
                                        "loc": {
                                          "start": {
                                            "line": 111,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 111,
                                            "column": 44
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 4097,
                                          "end": 4114,
                                          "loc": {
                                            "start": {
                                              "line": 111,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 111,
                                              "column": 37
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 4097,
                                            "end": 4101,
                                            "loc": {
                                              "start": {
                                                "line": 111,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 111,
                                                "column": 24
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 4102,
                                            "end": 4114,
                                            "loc": {
                                              "start": {
                                                "line": 111,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 111,
                                                "column": 37
                                              },
                                              "identifierName": "stateHistory"
                                            },
                                            "name": "stateHistory"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 4115,
                                          "end": 4121,
                                          "loc": {
                                            "start": {
                                              "line": 111,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 111,
                                              "column": 44
                                            },
                                            "identifierName": "length"
                                          },
                                          "name": "length"
                                        },
                                        "computed": false
                                      },
                                      "operator": "-",
                                      "right": {
                                        "type": "NumericLiteral",
                                        "start": 4124,
                                        "end": 4125,
                                        "loc": {
                                          "start": {
                                            "line": 111,
                                            "column": 47
                                          },
                                          "end": {
                                            "line": 111,
                                            "column": 48
                                          }
                                        },
                                        "extra": {
                                          "rawValue": 1,
                                          "raw": "1"
                                        },
                                        "value": 1
                                      }
                                    }
                                  }
                                ],
                                "kind": "var"
                              },
                              {
                                "type": "ReturnStatement",
                                "start": 4135,
                                "end": 4167,
                                "loc": {
                                  "start": {
                                    "line": 112,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 112,
                                    "column": 40
                                  }
                                },
                                "argument": {
                                  "type": "MemberExpression",
                                  "start": 4142,
                                  "end": 4166,
                                  "loc": {
                                    "start": {
                                      "line": 112,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 112,
                                      "column": 39
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4142,
                                    "end": 4159,
                                    "loc": {
                                      "start": {
                                        "line": 112,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 112,
                                        "column": 32
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4142,
                                      "end": 4146,
                                      "loc": {
                                        "start": {
                                          "line": 112,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 112,
                                          "column": 19
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4147,
                                      "end": 4159,
                                      "loc": {
                                        "start": {
                                          "line": 112,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 112,
                                          "column": 32
                                        },
                                        "identifierName": "stateHistory"
                                      },
                                      "name": "stateHistory"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4160,
                                    "end": 4165,
                                    "loc": {
                                      "start": {
                                        "line": 112,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 112,
                                        "column": 38
                                      },
                                      "identifierName": "index"
                                    },
                                    "name": "index"
                                  },
                                  "computed": true
                                }
                              }
                            ],
                            "directives": []
                          }
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * Get the previous state of the store\n     * @return {object} previous state\n     ",
                          "start": 3930,
                          "end": 4023,
                          "loc": {
                            "start": {
                              "line": 106,
                              "column": 4
                            },
                            "end": {
                              "line": 109,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * Set the store's state and optionally save the last state to history\n     * @param {object} newState\n     * @param {boolean} historyMode\n     * @example <caption>Set state and record previous state to history</caption>\n     * myStore.setState({userName: \"John Doe\"});\n     * @example <caption>Set state and forget about recording previous state to history</caption>\n     * myStore.setState({userName: \"Billy Bob\", false});\n     ",
                          "start": 4179,
                          "end": 4619,
                          "loc": {
                            "start": {
                              "line": 114,
                              "column": 4
                            },
                            "end": {
                              "line": 122,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4624,
                      "end": 5881,
                      "loc": {
                        "start": {
                          "line": 123,
                          "column": 4
                        },
                        "end": {
                          "line": 151,
                          "column": 6
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 4624,
                        "end": 5880,
                        "loc": {
                          "start": {
                            "line": 123,
                            "column": 4
                          },
                          "end": {
                            "line": 151,
                            "column": 5
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 4624,
                          "end": 4648,
                          "loc": {
                            "start": {
                              "line": 123,
                              "column": 4
                            },
                            "end": {
                              "line": 123,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 4624,
                            "end": 4639,
                            "loc": {
                              "start": {
                                "line": 123,
                                "column": 4
                              },
                              "end": {
                                "line": 123,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 4624,
                              "end": 4629,
                              "loc": {
                                "start": {
                                  "line": 123,
                                  "column": 4
                                },
                                "end": {
                                  "line": 123,
                                  "column": 9
                                },
                                "identifierName": "Store"
                              },
                              "name": "Store",
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4630,
                              "end": 4639,
                              "loc": {
                                "start": {
                                  "line": 123,
                                  "column": 10
                                },
                                "end": {
                                  "line": 123,
                                  "column": 19
                                },
                                "identifierName": "prototype"
                              },
                              "name": "prototype"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4640,
                            "end": 4648,
                            "loc": {
                              "start": {
                                "line": 123,
                                "column": 20
                              },
                              "end": {
                                "line": 123,
                                "column": 28
                              },
                              "identifierName": "setState"
                            },
                            "name": "setState"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "start": 4651,
                          "end": 5880,
                          "loc": {
                            "start": {
                              "line": 123,
                              "column": 31
                            },
                            "end": {
                              "line": 151,
                              "column": 5
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": false,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 4661,
                              "end": 4669,
                              "loc": {
                                "start": {
                                  "line": 123,
                                  "column": 41
                                },
                                "end": {
                                  "line": 123,
                                  "column": 49
                                },
                                "identifierName": "newState"
                              },
                              "name": "newState"
                            },
                            {
                              "type": "Identifier",
                              "start": 4671,
                              "end": 4682,
                              "loc": {
                                "start": {
                                  "line": 123,
                                  "column": 51
                                },
                                "end": {
                                  "line": 123,
                                  "column": 62
                                },
                                "identifierName": "historyMode"
                              },
                              "name": "historyMode"
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "start": 4684,
                            "end": 5880,
                            "loc": {
                              "start": {
                                "line": 123,
                                "column": 64
                              },
                              "end": {
                                "line": 151,
                                "column": 5
                              }
                            },
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "start": 4694,
                                "end": 4711,
                                "loc": {
                                  "start": {
                                    "line": 124,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 124,
                                    "column": 25
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 4698,
                                    "end": 4710,
                                    "loc": {
                                      "start": {
                                        "line": 124,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 124,
                                        "column": 24
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 4698,
                                      "end": 4703,
                                      "loc": {
                                        "start": {
                                          "line": 124,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 124,
                                          "column": 17
                                        },
                                        "identifierName": "_this"
                                      },
                                      "name": "_this"
                                    },
                                    "init": {
                                      "type": "ThisExpression",
                                      "start": 4706,
                                      "end": 4710,
                                      "loc": {
                                        "start": {
                                          "line": 124,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 124,
                                          "column": 24
                                        }
                                      }
                                    }
                                  }
                                ],
                                "kind": "var"
                              },
                              {
                                "type": "IfStatement",
                                "start": 4720,
                                "end": 4771,
                                "loc": {
                                  "start": {
                                    "line": 125,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 125,
                                    "column": 59
                                  }
                                },
                                "test": {
                                  "type": "BinaryExpression",
                                  "start": 4724,
                                  "end": 4746,
                                  "loc": {
                                    "start": {
                                      "line": 125,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 125,
                                      "column": 34
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 4724,
                                    "end": 4735,
                                    "loc": {
                                      "start": {
                                        "line": 125,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 125,
                                        "column": 23
                                      },
                                      "identifierName": "historyMode"
                                    },
                                    "name": "historyMode"
                                  },
                                  "operator": "===",
                                  "right": {
                                    "type": "UnaryExpression",
                                    "start": 4740,
                                    "end": 4746,
                                    "loc": {
                                      "start": {
                                        "line": 125,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 125,
                                        "column": 34
                                      }
                                    },
                                    "operator": "void",
                                    "prefix": true,
                                    "argument": {
                                      "type": "NumericLiteral",
                                      "start": 4745,
                                      "end": 4746,
                                      "loc": {
                                        "start": {
                                          "line": 125,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 125,
                                          "column": 34
                                        }
                                      },
                                      "extra": {
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      "value": 0
                                    },
                                    "extra": {
                                      "parenthesizedArgument": false
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "start": 4748,
                                  "end": 4771,
                                  "loc": {
                                    "start": {
                                      "line": 125,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 125,
                                      "column": 59
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 4750,
                                      "end": 4769,
                                      "loc": {
                                        "start": {
                                          "line": 125,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 125,
                                          "column": 57
                                        }
                                      },
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 4750,
                                        "end": 4768,
                                        "loc": {
                                          "start": {
                                            "line": 125,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 125,
                                            "column": 56
                                          }
                                        },
                                        "operator": "=",
                                        "left": {
                                          "type": "Identifier",
                                          "start": 4750,
                                          "end": 4761,
                                          "loc": {
                                            "start": {
                                              "line": 125,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 125,
                                              "column": 49
                                            },
                                            "identifierName": "historyMode"
                                          },
                                          "name": "historyMode"
                                        },
                                        "right": {
                                          "type": "BooleanLiteral",
                                          "start": 4764,
                                          "end": 4768,
                                          "loc": {
                                            "start": {
                                              "line": 125,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 125,
                                              "column": 56
                                            }
                                          },
                                          "value": true
                                        }
                                      }
                                    }
                                  ],
                                  "directives": [],
                                  "trailingComments": null
                                },
                                "alternate": null,
                                "trailingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Save the old state",
                                    "start": 4780,
                                    "end": 4801,
                                    "loc": {
                                      "start": {
                                        "line": 126,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 126,
                                        "column": 29
                                      }
                                    }
                                  }
                                ]
                              },
                              {
                                "type": "VariableDeclaration",
                                "start": 4810,
                                "end": 4836,
                                "loc": {
                                  "start": {
                                    "line": 127,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 127,
                                    "column": 34
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 4814,
                                    "end": 4835,
                                    "loc": {
                                      "start": {
                                        "line": 127,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 127,
                                        "column": 33
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 4814,
                                      "end": 4822,
                                      "loc": {
                                        "start": {
                                          "line": 127,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 127,
                                          "column": 20
                                        },
                                        "identifierName": "oldState"
                                      },
                                      "name": "oldState",
                                      "leadingComments": null
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "start": 4825,
                                      "end": 4835,
                                      "loc": {
                                        "start": {
                                          "line": 127,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 127,
                                          "column": 33
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 4825,
                                        "end": 4829,
                                        "loc": {
                                          "start": {
                                            "line": 127,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 127,
                                            "column": 27
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4830,
                                        "end": 4835,
                                        "loc": {
                                          "start": {
                                            "line": 127,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 127,
                                            "column": 33
                                          },
                                          "identifierName": "state"
                                        },
                                        "name": "state"
                                      },
                                      "computed": false
                                    },
                                    "leadingComments": null
                                  }
                                ],
                                "kind": "var",
                                "leadingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Save the old state",
                                    "start": 4780,
                                    "end": 4801,
                                    "loc": {
                                      "start": {
                                        "line": 126,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 126,
                                        "column": 29
                                      }
                                    }
                                  }
                                ],
                                "trailingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Update the state",
                                    "start": 4845,
                                    "end": 4864,
                                    "loc": {
                                      "start": {
                                        "line": 128,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 128,
                                        "column": 27
                                      }
                                    }
                                  }
                                ]
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 4873,
                                "end": 4919,
                                "loc": {
                                  "start": {
                                    "line": 129,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 129,
                                    "column": 54
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 4873,
                                  "end": 4918,
                                  "loc": {
                                    "start": {
                                      "line": 129,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 129,
                                      "column": 53
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 4873,
                                    "end": 4883,
                                    "loc": {
                                      "start": {
                                        "line": 129,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 129,
                                        "column": 18
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4873,
                                      "end": 4877,
                                      "loc": {
                                        "start": {
                                          "line": 129,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 129,
                                          "column": 12
                                        }
                                      },
                                      "leadingComments": null
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4878,
                                      "end": 4883,
                                      "loc": {
                                        "start": {
                                          "line": 129,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 129,
                                          "column": 18
                                        },
                                        "identifierName": "state"
                                      },
                                      "name": "state"
                                    },
                                    "computed": false,
                                    "leadingComments": null
                                  },
                                  "right": {
                                    "type": "CallExpression",
                                    "start": 4886,
                                    "end": 4918,
                                    "loc": {
                                      "start": {
                                        "line": 129,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 129,
                                        "column": 53
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 4886,
                                      "end": 4894,
                                      "loc": {
                                        "start": {
                                          "line": 129,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 129,
                                          "column": 29
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 4886,
                                        "end": 4887,
                                        "loc": {
                                          "start": {
                                            "line": 129,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 129,
                                            "column": 22
                                          },
                                          "identifierName": "_"
                                        },
                                        "name": "_"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4888,
                                        "end": 4894,
                                        "loc": {
                                          "start": {
                                            "line": 129,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 129,
                                            "column": 29
                                          },
                                          "identifierName": "assign"
                                        },
                                        "name": "assign"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "ObjectExpression",
                                        "start": 4895,
                                        "end": 4897,
                                        "loc": {
                                          "start": {
                                            "line": 129,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 129,
                                            "column": 32
                                          }
                                        },
                                        "properties": []
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 4899,
                                        "end": 4907,
                                        "loc": {
                                          "start": {
                                            "line": 129,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 129,
                                            "column": 42
                                          },
                                          "identifierName": "oldState"
                                        },
                                        "name": "oldState"
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 4909,
                                        "end": 4917,
                                        "loc": {
                                          "start": {
                                            "line": 129,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 129,
                                            "column": 52
                                          },
                                          "identifierName": "newState"
                                        },
                                        "name": "newState"
                                      }
                                    ]
                                  },
                                  "leadingComments": null
                                },
                                "leadingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Update the state",
                                    "start": 4845,
                                    "end": 4864,
                                    "loc": {
                                      "start": {
                                        "line": 128,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 128,
                                        "column": 27
                                      }
                                    }
                                  }
                                ]
                              },
                              {
                                "type": "VariableDeclaration",
                                "start": 4928,
                                "end": 4984,
                                "loc": {
                                  "start": {
                                    "line": 130,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 130,
                                    "column": 64
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 4932,
                                    "end": 4983,
                                    "loc": {
                                      "start": {
                                        "line": 130,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 130,
                                        "column": 63
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 4932,
                                      "end": 4939,
                                      "loc": {
                                        "start": {
                                          "line": 130,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 130,
                                          "column": 19
                                        },
                                        "identifierName": "changes"
                                      },
                                      "name": "changes"
                                    },
                                    "init": {
                                      "type": "CallExpression",
                                      "start": 4942,
                                      "end": 4983,
                                      "loc": {
                                        "start": {
                                          "line": 130,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 130,
                                          "column": 63
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 4942,
                                        "end": 4961,
                                        "loc": {
                                          "start": {
                                            "line": 130,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 130,
                                            "column": 41
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 4942,
                                          "end": 4947,
                                          "loc": {
                                            "start": {
                                              "line": 130,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 130,
                                              "column": 27
                                            },
                                            "identifierName": "Store"
                                          },
                                          "name": "Store"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 4948,
                                          "end": 4961,
                                          "loc": {
                                            "start": {
                                              "line": 130,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 130,
                                              "column": 41
                                            },
                                            "identifierName": "getChangeList"
                                          },
                                          "name": "getChangeList"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 4962,
                                          "end": 4970,
                                          "loc": {
                                            "start": {
                                              "line": 130,
                                              "column": 42
                                            },
                                            "end": {
                                              "line": 130,
                                              "column": 50
                                            },
                                            "identifierName": "oldState"
                                          },
                                          "name": "oldState"
                                        },
                                        {
                                          "type": "MemberExpression",
                                          "start": 4972,
                                          "end": 4982,
                                          "loc": {
                                            "start": {
                                              "line": 130,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 130,
                                              "column": 62
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 4972,
                                            "end": 4976,
                                            "loc": {
                                              "start": {
                                                "line": 130,
                                                "column": 52
                                              },
                                              "end": {
                                                "line": 130,
                                                "column": 56
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 4977,
                                            "end": 4982,
                                            "loc": {
                                              "start": {
                                                "line": 130,
                                                "column": 57
                                              },
                                              "end": {
                                                "line": 130,
                                                "column": 62
                                              },
                                              "identifierName": "state"
                                            },
                                            "name": "state"
                                          },
                                          "computed": false
                                        }
                                      ]
                                    }
                                  }
                                ],
                                "kind": "var"
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 4993,
                                "end": 5033,
                                "loc": {
                                  "start": {
                                    "line": 131,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 131,
                                    "column": 48
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 4993,
                                  "end": 5032,
                                  "loc": {
                                    "start": {
                                      "line": 131,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 131,
                                      "column": 47
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 4993,
                                    "end": 5009,
                                    "loc": {
                                      "start": {
                                        "line": 131,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 131,
                                        "column": 24
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4993,
                                      "end": 4997,
                                      "loc": {
                                        "start": {
                                          "line": 131,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 131,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4998,
                                      "end": 5009,
                                      "loc": {
                                        "start": {
                                          "line": 131,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 131,
                                          "column": 24
                                        },
                                        "identifierName": "trimHistory"
                                      },
                                      "name": "trimHistory"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "MemberExpression",
                                      "start": 5010,
                                      "end": 5031,
                                      "loc": {
                                        "start": {
                                          "line": 131,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 131,
                                          "column": 46
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 5010,
                                        "end": 5014,
                                        "loc": {
                                          "start": {
                                            "line": 131,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 131,
                                            "column": 29
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 5015,
                                        "end": 5031,
                                        "loc": {
                                          "start": {
                                            "line": 131,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 131,
                                            "column": 46
                                          },
                                          "identifierName": "maxHistoryLength"
                                        },
                                        "name": "maxHistoryLength"
                                      },
                                      "computed": false
                                    }
                                  ]
                                },
                                "trailingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Loop through list of changes and trigger their respective callbacks",
                                    "start": 5042,
                                    "end": 5112,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 78
                                      }
                                    }
                                  }
                                ]
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 5121,
                                "end": 5541,
                                "loc": {
                                  "start": {
                                    "line": 133,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 141,
                                    "column": 11
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 5121,
                                  "end": 5540,
                                  "loc": {
                                    "start": {
                                      "line": 133,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 141,
                                      "column": 10
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 5121,
                                    "end": 5136,
                                    "loc": {
                                      "start": {
                                        "line": 133,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 133,
                                        "column": 23
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 5121,
                                      "end": 5128,
                                      "loc": {
                                        "start": {
                                          "line": 133,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 133,
                                          "column": 15
                                        },
                                        "identifierName": "changes"
                                      },
                                      "name": "changes",
                                      "leadingComments": null
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 5129,
                                      "end": 5136,
                                      "loc": {
                                        "start": {
                                          "line": 133,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 133,
                                          "column": 23
                                        },
                                        "identifierName": "forEach"
                                      },
                                      "name": "forEach"
                                    },
                                    "computed": false,
                                    "leadingComments": null
                                  },
                                  "arguments": [
                                    {
                                      "type": "FunctionExpression",
                                      "start": 5137,
                                      "end": 5539,
                                      "loc": {
                                        "start": {
                                          "line": 133,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 141,
                                          "column": 9
                                        }
                                      },
                                      "id": null,
                                      "generator": false,
                                      "expression": false,
                                      "async": false,
                                      "params": [
                                        {
                                          "type": "Identifier",
                                          "start": 5147,
                                          "end": 5148,
                                          "loc": {
                                            "start": {
                                              "line": 133,
                                              "column": 34
                                            },
                                            "end": {
                                              "line": 133,
                                              "column": 35
                                            },
                                            "identifierName": "o"
                                          },
                                          "name": "o"
                                        }
                                      ],
                                      "body": {
                                        "type": "BlockStatement",
                                        "start": 5150,
                                        "end": 5539,
                                        "loc": {
                                          "start": {
                                            "line": 133,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 141,
                                            "column": 9
                                          }
                                        },
                                        "body": [
                                          {
                                            "type": "VariableDeclaration",
                                            "start": 5216,
                                            "end": 5242,
                                            "loc": {
                                              "start": {
                                                "line": 135,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 135,
                                                "column": 38
                                              }
                                            },
                                            "declarations": [
                                              {
                                                "type": "VariableDeclarator",
                                                "start": 5220,
                                                "end": 5241,
                                                "loc": {
                                                  "start": {
                                                    "line": 135,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 135,
                                                    "column": 37
                                                  }
                                                },
                                                "id": {
                                                  "type": "Identifier",
                                                  "start": 5220,
                                                  "end": 5228,
                                                  "loc": {
                                                    "start": {
                                                      "line": 135,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 135,
                                                      "column": 24
                                                    },
                                                    "identifierName": "property"
                                                  },
                                                  "name": "property",
                                                  "leadingComments": null
                                                },
                                                "init": {
                                                  "type": "MemberExpression",
                                                  "start": 5231,
                                                  "end": 5241,
                                                  "loc": {
                                                    "start": {
                                                      "line": 135,
                                                      "column": 27
                                                    },
                                                    "end": {
                                                      "line": 135,
                                                      "column": 37
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 5231,
                                                    "end": 5232,
                                                    "loc": {
                                                      "start": {
                                                        "line": 135,
                                                        "column": 27
                                                      },
                                                      "end": {
                                                        "line": 135,
                                                        "column": 28
                                                      },
                                                      "identifierName": "o"
                                                    },
                                                    "name": "o"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5233,
                                                    "end": 5241,
                                                    "loc": {
                                                      "start": {
                                                        "line": 135,
                                                        "column": 29
                                                      },
                                                      "end": {
                                                        "line": 135,
                                                        "column": 37
                                                      },
                                                      "identifierName": "property"
                                                    },
                                                    "name": "property"
                                                  },
                                                  "computed": false
                                                },
                                                "leadingComments": null
                                              }
                                            ],
                                            "kind": "var",
                                            "leadingComments": [
                                              {
                                                "type": "CommentLine",
                                                "value": " Get the name of the changed property",
                                                "start": 5164,
                                                "end": 5203,
                                                "loc": {
                                                  "start": {
                                                    "line": 134,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 134,
                                                    "column": 51
                                                  }
                                                }
                                              }
                                            ],
                                            "trailingComments": [
                                              {
                                                "type": "CommentLine",
                                                "value": " Get the new and old values of the property",
                                                "start": 5255,
                                                "end": 5300,
                                                "loc": {
                                                  "start": {
                                                    "line": 136,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 136,
                                                    "column": 57
                                                  }
                                                }
                                              }
                                            ]
                                          },
                                          {
                                            "type": "VariableDeclaration",
                                            "start": 5313,
                                            "end": 5353,
                                            "loc": {
                                              "start": {
                                                "line": 137,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 137,
                                                "column": 52
                                              }
                                            },
                                            "declarations": [
                                              {
                                                "type": "VariableDeclarator",
                                                "start": 5317,
                                                "end": 5352,
                                                "loc": {
                                                  "start": {
                                                    "line": 137,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 137,
                                                    "column": 51
                                                  }
                                                },
                                                "id": {
                                                  "type": "Identifier",
                                                  "start": 5317,
                                                  "end": 5328,
                                                  "loc": {
                                                    "start": {
                                                      "line": 137,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 137,
                                                      "column": 27
                                                    },
                                                    "identifierName": "newProperty"
                                                  },
                                                  "name": "newProperty",
                                                  "leadingComments": null
                                                },
                                                "init": {
                                                  "type": "MemberExpression",
                                                  "start": 5331,
                                                  "end": 5352,
                                                  "loc": {
                                                    "start": {
                                                      "line": 137,
                                                      "column": 30
                                                    },
                                                    "end": {
                                                      "line": 137,
                                                      "column": 51
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "start": 5331,
                                                    "end": 5342,
                                                    "loc": {
                                                      "start": {
                                                        "line": 137,
                                                        "column": 30
                                                      },
                                                      "end": {
                                                        "line": 137,
                                                        "column": 41
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 5331,
                                                      "end": 5336,
                                                      "loc": {
                                                        "start": {
                                                          "line": 137,
                                                          "column": 30
                                                        },
                                                        "end": {
                                                          "line": 137,
                                                          "column": 35
                                                        },
                                                        "identifierName": "_this"
                                                      },
                                                      "name": "_this"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 5337,
                                                      "end": 5342,
                                                      "loc": {
                                                        "start": {
                                                          "line": 137,
                                                          "column": 36
                                                        },
                                                        "end": {
                                                          "line": 137,
                                                          "column": 41
                                                        },
                                                        "identifierName": "state"
                                                      },
                                                      "name": "state"
                                                    },
                                                    "computed": false
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5343,
                                                    "end": 5351,
                                                    "loc": {
                                                      "start": {
                                                        "line": 137,
                                                        "column": 42
                                                      },
                                                      "end": {
                                                        "line": 137,
                                                        "column": 50
                                                      },
                                                      "identifierName": "property"
                                                    },
                                                    "name": "property"
                                                  },
                                                  "computed": true
                                                },
                                                "leadingComments": null
                                              }
                                            ],
                                            "kind": "var",
                                            "leadingComments": [
                                              {
                                                "type": "CommentLine",
                                                "value": " Get the new and old values of the property",
                                                "start": 5255,
                                                "end": 5300,
                                                "loc": {
                                                  "start": {
                                                    "line": 136,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 136,
                                                    "column": 57
                                                  }
                                                }
                                              }
                                            ]
                                          },
                                          {
                                            "type": "VariableDeclaration",
                                            "start": 5366,
                                            "end": 5403,
                                            "loc": {
                                              "start": {
                                                "line": 138,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 138,
                                                "column": 49
                                              }
                                            },
                                            "declarations": [
                                              {
                                                "type": "VariableDeclarator",
                                                "start": 5370,
                                                "end": 5402,
                                                "loc": {
                                                  "start": {
                                                    "line": 138,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 138,
                                                    "column": 48
                                                  }
                                                },
                                                "id": {
                                                  "type": "Identifier",
                                                  "start": 5370,
                                                  "end": 5381,
                                                  "loc": {
                                                    "start": {
                                                      "line": 138,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 138,
                                                      "column": 27
                                                    },
                                                    "identifierName": "oldProperty"
                                                  },
                                                  "name": "oldProperty"
                                                },
                                                "init": {
                                                  "type": "MemberExpression",
                                                  "start": 5384,
                                                  "end": 5402,
                                                  "loc": {
                                                    "start": {
                                                      "line": 138,
                                                      "column": 30
                                                    },
                                                    "end": {
                                                      "line": 138,
                                                      "column": 48
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 5384,
                                                    "end": 5392,
                                                    "loc": {
                                                      "start": {
                                                        "line": 138,
                                                        "column": 30
                                                      },
                                                      "end": {
                                                        "line": 138,
                                                        "column": 38
                                                      },
                                                      "identifierName": "oldState"
                                                    },
                                                    "name": "oldState"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5393,
                                                    "end": 5401,
                                                    "loc": {
                                                      "start": {
                                                        "line": 138,
                                                        "column": 39
                                                      },
                                                      "end": {
                                                        "line": 138,
                                                        "column": 47
                                                      },
                                                      "identifierName": "property"
                                                    },
                                                    "name": "property"
                                                  },
                                                  "computed": true
                                                }
                                              }
                                            ],
                                            "kind": "var",
                                            "trailingComments": [
                                              {
                                                "type": "CommentLine",
                                                "value": " Trigger the property's callback",
                                                "start": 5416,
                                                "end": 5450,
                                                "loc": {
                                                  "start": {
                                                    "line": 139,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 139,
                                                    "column": 46
                                                  }
                                                }
                                              }
                                            ]
                                          },
                                          {
                                            "type": "ExpressionStatement",
                                            "start": 5463,
                                            "end": 5529,
                                            "loc": {
                                              "start": {
                                                "line": 140,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 140,
                                                "column": 78
                                              }
                                            },
                                            "expression": {
                                              "type": "CallExpression",
                                              "start": 5463,
                                              "end": 5528,
                                              "loc": {
                                                "start": {
                                                  "line": 140,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 140,
                                                  "column": 77
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 5463,
                                                "end": 5492,
                                                "loc": {
                                                  "start": {
                                                    "line": 140,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 140,
                                                    "column": 41
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 5463,
                                                  "end": 5468,
                                                  "loc": {
                                                    "start": {
                                                      "line": 140,
                                                      "column": 12
                                                    },
                                                    "end": {
                                                      "line": 140,
                                                      "column": 17
                                                    },
                                                    "identifierName": "_this"
                                                  },
                                                  "name": "_this",
                                                  "leadingComments": null
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 5469,
                                                  "end": 5492,
                                                  "loc": {
                                                    "start": {
                                                      "line": 140,
                                                      "column": 18
                                                    },
                                                    "end": {
                                                      "line": 140,
                                                      "column": 41
                                                    },
                                                    "identifierName": "_triggerChangeCallbacks"
                                                  },
                                                  "name": "_triggerChangeCallbacks"
                                                },
                                                "computed": false,
                                                "leadingComments": null
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 5493,
                                                  "end": 5501,
                                                  "loc": {
                                                    "start": {
                                                      "line": 140,
                                                      "column": 42
                                                    },
                                                    "end": {
                                                      "line": 140,
                                                      "column": 50
                                                    },
                                                    "identifierName": "property"
                                                  },
                                                  "name": "property"
                                                },
                                                {
                                                  "type": "Identifier",
                                                  "start": 5503,
                                                  "end": 5514,
                                                  "loc": {
                                                    "start": {
                                                      "line": 140,
                                                      "column": 52
                                                    },
                                                    "end": {
                                                      "line": 140,
                                                      "column": 63
                                                    },
                                                    "identifierName": "newProperty"
                                                  },
                                                  "name": "newProperty"
                                                },
                                                {
                                                  "type": "Identifier",
                                                  "start": 5516,
                                                  "end": 5527,
                                                  "loc": {
                                                    "start": {
                                                      "line": 140,
                                                      "column": 65
                                                    },
                                                    "end": {
                                                      "line": 140,
                                                      "column": 76
                                                    },
                                                    "identifierName": "oldProperty"
                                                  },
                                                  "name": "oldProperty"
                                                }
                                              ],
                                              "leadingComments": null
                                            },
                                            "leadingComments": [
                                              {
                                                "type": "CommentLine",
                                                "value": " Trigger the property's callback",
                                                "start": 5416,
                                                "end": 5450,
                                                "loc": {
                                                  "start": {
                                                    "line": 139,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 139,
                                                    "column": 46
                                                  }
                                                }
                                              }
                                            ]
                                          }
                                        ],
                                        "directives": []
                                      }
                                    }
                                  ],
                                  "leadingComments": null
                                },
                                "leadingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Loop through list of changes and trigger their respective callbacks",
                                    "start": 5042,
                                    "end": 5112,
                                    "loc": {
                                      "start": {
                                        "line": 132,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 132,
                                        "column": 78
                                      }
                                    }
                                  }
                                ]
                              },
                              {
                                "type": "IfStatement",
                                "start": 5550,
                                "end": 5874,
                                "loc": {
                                  "start": {
                                    "line": 142,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 150,
                                    "column": 9
                                  }
                                },
                                "test": {
                                  "type": "MemberExpression",
                                  "start": 5554,
                                  "end": 5568,
                                  "loc": {
                                    "start": {
                                      "line": 142,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 142,
                                      "column": 26
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 5554,
                                    "end": 5561,
                                    "loc": {
                                      "start": {
                                        "line": 142,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 142,
                                        "column": 19
                                      },
                                      "identifierName": "changes"
                                    },
                                    "name": "changes"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5562,
                                    "end": 5568,
                                    "loc": {
                                      "start": {
                                        "line": 142,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 142,
                                        "column": 26
                                      },
                                      "identifierName": "length"
                                    },
                                    "name": "length"
                                  },
                                  "computed": false
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "start": 5570,
                                  "end": 5874,
                                  "loc": {
                                    "start": {
                                      "line": 142,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 150,
                                      "column": 9
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 5610,
                                      "end": 5641,
                                      "loc": {
                                        "start": {
                                          "line": 144,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 144,
                                          "column": 43
                                        }
                                      },
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 5610,
                                        "end": 5640,
                                        "loc": {
                                          "start": {
                                            "line": 144,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 144,
                                            "column": 42
                                          }
                                        },
                                        "operator": "=",
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 5610,
                                          "end": 5627,
                                          "loc": {
                                            "start": {
                                              "line": 144,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 144,
                                              "column": 29
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 5610,
                                            "end": 5620,
                                            "loc": {
                                              "start": {
                                                "line": 144,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 144,
                                                "column": 22
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 5610,
                                              "end": 5614,
                                              "loc": {
                                                "start": {
                                                  "line": 144,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 144,
                                                  "column": 16
                                                }
                                              },
                                              "leadingComments": null
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 5615,
                                              "end": 5620,
                                              "loc": {
                                                "start": {
                                                  "line": 144,
                                                  "column": 17
                                                },
                                                "end": {
                                                  "line": 144,
                                                  "column": 22
                                                },
                                                "identifierName": "state"
                                              },
                                              "name": "state"
                                            },
                                            "computed": false,
                                            "leadingComments": null
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 5621,
                                            "end": 5627,
                                            "loc": {
                                              "start": {
                                                "line": 144,
                                                "column": 23
                                              },
                                              "end": {
                                                "line": 144,
                                                "column": 29
                                              },
                                              "identifierName": "__time"
                                            },
                                            "name": "__time"
                                          },
                                          "computed": false,
                                          "leadingComments": null
                                        },
                                        "right": {
                                          "type": "CallExpression",
                                          "start": 5630,
                                          "end": 5640,
                                          "loc": {
                                            "start": {
                                              "line": 144,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 144,
                                              "column": 42
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 5630,
                                            "end": 5638,
                                            "loc": {
                                              "start": {
                                                "line": 144,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 144,
                                                "column": 40
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 5630,
                                              "end": 5634,
                                              "loc": {
                                                "start": {
                                                  "line": 144,
                                                  "column": 32
                                                },
                                                "end": {
                                                  "line": 144,
                                                  "column": 36
                                                },
                                                "identifierName": "Date"
                                              },
                                              "name": "Date"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 5635,
                                              "end": 5638,
                                              "loc": {
                                                "start": {
                                                  "line": 144,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 144,
                                                  "column": 40
                                                },
                                                "identifierName": "now"
                                              },
                                              "name": "now"
                                            },
                                            "computed": false
                                          },
                                          "arguments": []
                                        },
                                        "leadingComments": null
                                      },
                                      "leadingComments": [
                                        {
                                          "type": "CommentLine",
                                          "value": " @ts-ignore",
                                          "start": 5584,
                                          "end": 5597,
                                          "loc": {
                                            "start": {
                                              "line": 143,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 143,
                                              "column": 25
                                            }
                                          }
                                        }
                                      ]
                                    },
                                    {
                                      "type": "IfStatement",
                                      "start": 5654,
                                      "end": 5744,
                                      "loc": {
                                        "start": {
                                          "line": 145,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 147,
                                          "column": 13
                                        }
                                      },
                                      "test": {
                                        "type": "BinaryExpression",
                                        "start": 5658,
                                        "end": 5677,
                                        "loc": {
                                          "start": {
                                            "line": 145,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 145,
                                            "column": 35
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 5658,
                                          "end": 5669,
                                          "loc": {
                                            "start": {
                                              "line": 145,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 145,
                                              "column": 27
                                            },
                                            "identifierName": "historyMode"
                                          },
                                          "name": "historyMode"
                                        },
                                        "operator": "==",
                                        "right": {
                                          "type": "BooleanLiteral",
                                          "start": 5673,
                                          "end": 5677,
                                          "loc": {
                                            "start": {
                                              "line": 145,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 145,
                                              "column": 35
                                            }
                                          },
                                          "value": true
                                        }
                                      },
                                      "consequent": {
                                        "type": "BlockStatement",
                                        "start": 5679,
                                        "end": 5744,
                                        "loc": {
                                          "start": {
                                            "line": 145,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 147,
                                            "column": 13
                                          }
                                        },
                                        "body": [
                                          {
                                            "type": "ExpressionStatement",
                                            "start": 5697,
                                            "end": 5730,
                                            "loc": {
                                              "start": {
                                                "line": 146,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 146,
                                                "column": 49
                                              }
                                            },
                                            "expression": {
                                              "type": "CallExpression",
                                              "start": 5697,
                                              "end": 5729,
                                              "loc": {
                                                "start": {
                                                  "line": 146,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 146,
                                                  "column": 48
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 5697,
                                                "end": 5719,
                                                "loc": {
                                                  "start": {
                                                    "line": 146,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 146,
                                                    "column": 38
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 5697,
                                                  "end": 5714,
                                                  "loc": {
                                                    "start": {
                                                      "line": 146,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 146,
                                                      "column": 33
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5697,
                                                    "end": 5701,
                                                    "loc": {
                                                      "start": {
                                                        "line": 146,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 146,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5702,
                                                    "end": 5714,
                                                    "loc": {
                                                      "start": {
                                                        "line": 146,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 146,
                                                        "column": 33
                                                      },
                                                      "identifierName": "stateHistory"
                                                    },
                                                    "name": "stateHistory"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 5715,
                                                  "end": 5719,
                                                  "loc": {
                                                    "start": {
                                                      "line": 146,
                                                      "column": 34
                                                    },
                                                    "end": {
                                                      "line": 146,
                                                      "column": 38
                                                    },
                                                    "identifierName": "push"
                                                  },
                                                  "name": "push"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 5720,
                                                  "end": 5728,
                                                  "loc": {
                                                    "start": {
                                                      "line": 146,
                                                      "column": 39
                                                    },
                                                    "end": {
                                                      "line": 146,
                                                      "column": 47
                                                    },
                                                    "identifierName": "oldState"
                                                  },
                                                  "name": "oldState"
                                                }
                                              ]
                                            }
                                          }
                                        ],
                                        "directives": []
                                      },
                                      "alternate": null
                                    },
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 5757,
                                      "end": 5823,
                                      "loc": {
                                        "start": {
                                          "line": 148,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 148,
                                          "column": 78
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 5757,
                                        "end": 5822,
                                        "loc": {
                                          "start": {
                                            "line": 148,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 148,
                                            "column": 77
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 5757,
                                          "end": 5785,
                                          "loc": {
                                            "start": {
                                              "line": 148,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 148,
                                              "column": 40
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 5757,
                                            "end": 5761,
                                            "loc": {
                                              "start": {
                                                "line": 148,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 148,
                                                "column": 16
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 5762,
                                            "end": 5785,
                                            "loc": {
                                              "start": {
                                                "line": 148,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 148,
                                                "column": 40
                                              },
                                              "identifierName": "_triggerChangeCallbacks"
                                            },
                                            "name": "_triggerChangeCallbacks"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "StringLiteral",
                                            "start": 5786,
                                            "end": 5799,
                                            "loc": {
                                              "start": {
                                                "line": 148,
                                                "column": 41
                                              },
                                              "end": {
                                                "line": 148,
                                                "column": 54
                                              }
                                            },
                                            "extra": {
                                              "rawValue": "__anyChange",
                                              "raw": "\"__anyChange\""
                                            },
                                            "value": "__anyChange"
                                          },
                                          {
                                            "type": "MemberExpression",
                                            "start": 5801,
                                            "end": 5811,
                                            "loc": {
                                              "start": {
                                                "line": 148,
                                                "column": 56
                                              },
                                              "end": {
                                                "line": 148,
                                                "column": 66
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 5801,
                                              "end": 5805,
                                              "loc": {
                                                "start": {
                                                  "line": 148,
                                                  "column": 56
                                                },
                                                "end": {
                                                  "line": 148,
                                                  "column": 60
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 5806,
                                              "end": 5811,
                                              "loc": {
                                                "start": {
                                                  "line": 148,
                                                  "column": 61
                                                },
                                                "end": {
                                                  "line": 148,
                                                  "column": 66
                                                },
                                                "identifierName": "state"
                                              },
                                              "name": "state"
                                            },
                                            "computed": false
                                          },
                                          {
                                            "type": "Identifier",
                                            "start": 5813,
                                            "end": 5821,
                                            "loc": {
                                              "start": {
                                                "line": 148,
                                                "column": 68
                                              },
                                              "end": {
                                                "line": 148,
                                                "column": 76
                                              },
                                              "identifierName": "oldState"
                                            },
                                            "name": "oldState"
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 5836,
                                      "end": 5864,
                                      "loc": {
                                        "start": {
                                          "line": 149,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 149,
                                          "column": 40
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 5836,
                                        "end": 5863,
                                        "loc": {
                                          "start": {
                                            "line": 149,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 149,
                                            "column": 39
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 5836,
                                          "end": 5861,
                                          "loc": {
                                            "start": {
                                              "line": 149,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 149,
                                              "column": 37
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 5836,
                                            "end": 5840,
                                            "loc": {
                                              "start": {
                                                "line": 149,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 149,
                                                "column": 16
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 5841,
                                            "end": 5861,
                                            "loc": {
                                              "start": {
                                                "line": 149,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 149,
                                                "column": 37
                                              },
                                              "identifierName": "forwardToBoundStates"
                                            },
                                            "name": "forwardToBoundStates"
                                          },
                                          "computed": false
                                        },
                                        "arguments": []
                                      }
                                    }
                                  ],
                                  "directives": []
                                },
                                "alternate": null
                              }
                            ],
                            "directives": []
                          }
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * Set the store's state and optionally save the last state to history\n     * @param {object} newState\n     * @param {boolean} historyMode\n     * @example <caption>Set state and record previous state to history</caption>\n     * myStore.setState({userName: \"John Doe\"});\n     * @example <caption>Set state and forget about recording previous state to history</caption>\n     * myStore.setState({userName: \"Billy Bob\", false});\n     ",
                          "start": 4179,
                          "end": 4619,
                          "loc": {
                            "start": {
                              "line": 114,
                              "column": 4
                            },
                            "end": {
                              "line": 122,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * Subscribe to changes in the state\n     * @param {function(newValue: *, oldValue: *)} callback\n     * @param {string} property - Name of the property to watch\n     * @example <caption>Trigger callback when userName is updated</caption>\n     * myStore.subscribeToChanges((newVal)=>{ console.log(\"userName changed to...\", newVal)}, \"userName\");\n     ",
                          "start": 5886,
                          "end": 6246,
                          "loc": {
                            "start": {
                              "line": 152,
                              "column": 4
                            },
                            "end": {
                              "line": 158,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6251,
                      "end": 6715,
                      "loc": {
                        "start": {
                          "line": 159,
                          "column": 4
                        },
                        "end": {
                          "line": 169,
                          "column": 6
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6251,
                        "end": 6714,
                        "loc": {
                          "start": {
                            "line": 159,
                            "column": 4
                          },
                          "end": {
                            "line": 169,
                            "column": 5
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6251,
                          "end": 6285,
                          "loc": {
                            "start": {
                              "line": 159,
                              "column": 4
                            },
                            "end": {
                              "line": 159,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6251,
                            "end": 6266,
                            "loc": {
                              "start": {
                                "line": 159,
                                "column": 4
                              },
                              "end": {
                                "line": 159,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 6251,
                              "end": 6256,
                              "loc": {
                                "start": {
                                  "line": 159,
                                  "column": 4
                                },
                                "end": {
                                  "line": 159,
                                  "column": 9
                                },
                                "identifierName": "Store"
                              },
                              "name": "Store",
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6257,
                              "end": 6266,
                              "loc": {
                                "start": {
                                  "line": 159,
                                  "column": 10
                                },
                                "end": {
                                  "line": 159,
                                  "column": 19
                                },
                                "identifierName": "prototype"
                              },
                              "name": "prototype"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6267,
                            "end": 6285,
                            "loc": {
                              "start": {
                                "line": 159,
                                "column": 20
                              },
                              "end": {
                                "line": 159,
                                "column": 38
                              },
                              "identifierName": "subscribeToChanges"
                            },
                            "name": "subscribeToChanges"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "start": 6288,
                          "end": 6714,
                          "loc": {
                            "start": {
                              "line": 159,
                              "column": 41
                            },
                            "end": {
                              "line": 169,
                              "column": 5
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": false,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 6298,
                              "end": 6306,
                              "loc": {
                                "start": {
                                  "line": 159,
                                  "column": 51
                                },
                                "end": {
                                  "line": 159,
                                  "column": 59
                                },
                                "identifierName": "callback"
                              },
                              "name": "callback"
                            },
                            {
                              "type": "Identifier",
                              "start": 6308,
                              "end": 6316,
                              "loc": {
                                "start": {
                                  "line": 159,
                                  "column": 61
                                },
                                "end": {
                                  "line": 159,
                                  "column": 69
                                },
                                "identifierName": "property"
                              },
                              "name": "property"
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "start": 6318,
                            "end": 6714,
                            "loc": {
                              "start": {
                                "line": 159,
                                "column": 71
                              },
                              "end": {
                                "line": 169,
                                "column": 5
                              }
                            },
                            "body": [
                              {
                                "type": "IfStatement",
                                "start": 6328,
                                "end": 6382,
                                "loc": {
                                  "start": {
                                    "line": 160,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 160,
                                    "column": 62
                                  }
                                },
                                "test": {
                                  "type": "BinaryExpression",
                                  "start": 6332,
                                  "end": 6351,
                                  "loc": {
                                    "start": {
                                      "line": 160,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 160,
                                      "column": 31
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 6332,
                                    "end": 6340,
                                    "loc": {
                                      "start": {
                                        "line": 160,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 160,
                                        "column": 20
                                      },
                                      "identifierName": "property"
                                    },
                                    "name": "property"
                                  },
                                  "operator": "===",
                                  "right": {
                                    "type": "UnaryExpression",
                                    "start": 6345,
                                    "end": 6351,
                                    "loc": {
                                      "start": {
                                        "line": 160,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 160,
                                        "column": 31
                                      }
                                    },
                                    "operator": "void",
                                    "prefix": true,
                                    "argument": {
                                      "type": "NumericLiteral",
                                      "start": 6350,
                                      "end": 6351,
                                      "loc": {
                                        "start": {
                                          "line": 160,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 160,
                                          "column": 31
                                        }
                                      },
                                      "extra": {
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      "value": 0
                                    },
                                    "extra": {
                                      "parenthesizedArgument": false
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "start": 6353,
                                  "end": 6382,
                                  "loc": {
                                    "start": {
                                      "line": 160,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 160,
                                      "column": 62
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 6355,
                                      "end": 6380,
                                      "loc": {
                                        "start": {
                                          "line": 160,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 160,
                                          "column": 60
                                        }
                                      },
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 6355,
                                        "end": 6379,
                                        "loc": {
                                          "start": {
                                            "line": 160,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 160,
                                            "column": 59
                                          }
                                        },
                                        "operator": "=",
                                        "left": {
                                          "type": "Identifier",
                                          "start": 6355,
                                          "end": 6363,
                                          "loc": {
                                            "start": {
                                              "line": 160,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 160,
                                              "column": 43
                                            },
                                            "identifierName": "property"
                                          },
                                          "name": "property"
                                        },
                                        "right": {
                                          "type": "StringLiteral",
                                          "start": 6366,
                                          "end": 6379,
                                          "loc": {
                                            "start": {
                                              "line": 160,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 160,
                                              "column": 59
                                            }
                                          },
                                          "extra": {
                                            "rawValue": "__anyChange",
                                            "raw": "\"__anyChange\""
                                          },
                                          "value": "__anyChange"
                                        }
                                      }
                                    }
                                  ],
                                  "directives": []
                                },
                                "alternate": null
                              },
                              {
                                "type": "IfStatement",
                                "start": 6391,
                                "end": 6492,
                                "loc": {
                                  "start": {
                                    "line": 161,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 162,
                                    "column": 50
                                  }
                                },
                                "test": {
                                  "type": "BinaryExpression",
                                  "start": 6395,
                                  "end": 6440,
                                  "loc": {
                                    "start": {
                                      "line": 161,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 161,
                                      "column": 57
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 6395,
                                    "end": 6427,
                                    "loc": {
                                      "start": {
                                        "line": 161,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 161,
                                        "column": 44
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 6395,
                                      "end": 6417,
                                      "loc": {
                                        "start": {
                                          "line": 161,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 161,
                                          "column": 34
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 6395,
                                        "end": 6399,
                                        "loc": {
                                          "start": {
                                            "line": 161,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 161,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 6400,
                                        "end": 6417,
                                        "loc": {
                                          "start": {
                                            "line": 161,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 161,
                                            "column": 34
                                          },
                                          "identifierName": "onChangeCallbacks"
                                        },
                                        "name": "onChangeCallbacks"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 6418,
                                      "end": 6426,
                                      "loc": {
                                        "start": {
                                          "line": 161,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 161,
                                          "column": 43
                                        },
                                        "identifierName": "property"
                                      },
                                      "name": "property"
                                    },
                                    "computed": true
                                  },
                                  "operator": "==",
                                  "right": {
                                    "type": "Identifier",
                                    "start": 6431,
                                    "end": 6440,
                                    "loc": {
                                      "start": {
                                        "line": 161,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 161,
                                        "column": 57
                                      },
                                      "identifierName": "undefined"
                                    },
                                    "name": "undefined"
                                  }
                                },
                                "consequent": {
                                  "type": "ExpressionStatement",
                                  "start": 6454,
                                  "end": 6492,
                                  "loc": {
                                    "start": {
                                      "line": 162,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 162,
                                      "column": 50
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 6454,
                                    "end": 6491,
                                    "loc": {
                                      "start": {
                                        "line": 162,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 162,
                                        "column": 49
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 6454,
                                      "end": 6486,
                                      "loc": {
                                        "start": {
                                          "line": 162,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 162,
                                          "column": 44
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 6454,
                                        "end": 6476,
                                        "loc": {
                                          "start": {
                                            "line": 162,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 162,
                                            "column": 34
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 6454,
                                          "end": 6458,
                                          "loc": {
                                            "start": {
                                              "line": 162,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 162,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 6459,
                                          "end": 6476,
                                          "loc": {
                                            "start": {
                                              "line": 162,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 162,
                                              "column": 34
                                            },
                                            "identifierName": "onChangeCallbacks"
                                          },
                                          "name": "onChangeCallbacks"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 6477,
                                        "end": 6485,
                                        "loc": {
                                          "start": {
                                            "line": 162,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 162,
                                            "column": 43
                                          },
                                          "identifierName": "property"
                                        },
                                        "name": "property"
                                      },
                                      "computed": true
                                    },
                                    "right": {
                                      "type": "ArrayExpression",
                                      "start": 6489,
                                      "end": 6491,
                                      "loc": {
                                        "start": {
                                          "line": 162,
                                          "column": 47
                                        },
                                        "end": {
                                          "line": 162,
                                          "column": 49
                                        }
                                      },
                                      "elements": []
                                    }
                                  }
                                },
                                "alternate": null
                              },
                              {
                                "type": "IfStatement",
                                "start": 6501,
                                "end": 6708,
                                "loc": {
                                  "start": {
                                    "line": 163,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 168,
                                    "column": 9
                                  }
                                },
                                "test": {
                                  "type": "BinaryExpression",
                                  "start": 6505,
                                  "end": 6534,
                                  "loc": {
                                    "start": {
                                      "line": 163,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 163,
                                      "column": 41
                                    }
                                  },
                                  "left": {
                                    "type": "UnaryExpression",
                                    "start": 6505,
                                    "end": 6520,
                                    "loc": {
                                      "start": {
                                        "line": 163,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 163,
                                        "column": 27
                                      }
                                    },
                                    "operator": "typeof",
                                    "prefix": true,
                                    "argument": {
                                      "type": "Identifier",
                                      "start": 6512,
                                      "end": 6520,
                                      "loc": {
                                        "start": {
                                          "line": 163,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 163,
                                          "column": 27
                                        },
                                        "identifierName": "callback"
                                      },
                                      "name": "callback"
                                    },
                                    "extra": {
                                      "parenthesizedArgument": false
                                    }
                                  },
                                  "operator": "!=",
                                  "right": {
                                    "type": "StringLiteral",
                                    "start": 6524,
                                    "end": 6534,
                                    "loc": {
                                      "start": {
                                        "line": 163,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 163,
                                        "column": 41
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "function",
                                      "raw": "\"function\""
                                    },
                                    "value": "function"
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "start": 6536,
                                  "end": 6622,
                                  "loc": {
                                    "start": {
                                      "line": 163,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 165,
                                      "column": 9
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 6550,
                                      "end": 6612,
                                      "loc": {
                                        "start": {
                                          "line": 164,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 164,
                                          "column": 74
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 6550,
                                        "end": 6611,
                                        "loc": {
                                          "start": {
                                            "line": 164,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 164,
                                            "column": 73
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 6550,
                                          "end": 6563,
                                          "loc": {
                                            "start": {
                                              "line": 164,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 164,
                                              "column": 25
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 6550,
                                            "end": 6557,
                                            "loc": {
                                              "start": {
                                                "line": 164,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 164,
                                                "column": 19
                                              },
                                              "identifierName": "console"
                                            },
                                            "name": "console"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 6558,
                                            "end": 6563,
                                            "loc": {
                                              "start": {
                                                "line": 164,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 164,
                                                "column": 25
                                              },
                                              "identifierName": "error"
                                            },
                                            "name": "error"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "StringLiteral",
                                            "start": 6564,
                                            "end": 6610,
                                            "loc": {
                                              "start": {
                                                "line": 164,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 164,
                                                "column": 72
                                              }
                                            },
                                            "extra": {
                                              "rawValue": "Callback given is not a function as expected",
                                              "raw": "\"Callback given is not a function as expected\""
                                            },
                                            "value": "Callback given is not a function as expected"
                                          }
                                        ]
                                      }
                                    }
                                  ],
                                  "directives": []
                                },
                                "alternate": {
                                  "type": "BlockStatement",
                                  "start": 6636,
                                  "end": 6708,
                                  "loc": {
                                    "start": {
                                      "line": 166,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 168,
                                      "column": 9
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 6650,
                                      "end": 6698,
                                      "loc": {
                                        "start": {
                                          "line": 167,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 167,
                                          "column": 60
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 6650,
                                        "end": 6697,
                                        "loc": {
                                          "start": {
                                            "line": 167,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 167,
                                            "column": 59
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 6650,
                                          "end": 6687,
                                          "loc": {
                                            "start": {
                                              "line": 167,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 167,
                                              "column": 49
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 6650,
                                            "end": 6682,
                                            "loc": {
                                              "start": {
                                                "line": 167,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 167,
                                                "column": 44
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 6650,
                                              "end": 6672,
                                              "loc": {
                                                "start": {
                                                  "line": 167,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 167,
                                                  "column": 34
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 6650,
                                                "end": 6654,
                                                "loc": {
                                                  "start": {
                                                    "line": 167,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 167,
                                                    "column": 16
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 6655,
                                                "end": 6672,
                                                "loc": {
                                                  "start": {
                                                    "line": 167,
                                                    "column": 17
                                                  },
                                                  "end": {
                                                    "line": 167,
                                                    "column": 34
                                                  },
                                                  "identifierName": "onChangeCallbacks"
                                                },
                                                "name": "onChangeCallbacks"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 6673,
                                              "end": 6681,
                                              "loc": {
                                                "start": {
                                                  "line": 167,
                                                  "column": 35
                                                },
                                                "end": {
                                                  "line": 167,
                                                  "column": 43
                                                },
                                                "identifierName": "property"
                                              },
                                              "name": "property"
                                            },
                                            "computed": true
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 6683,
                                            "end": 6687,
                                            "loc": {
                                              "start": {
                                                "line": 167,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 167,
                                                "column": 49
                                              },
                                              "identifierName": "push"
                                            },
                                            "name": "push"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 6688,
                                            "end": 6696,
                                            "loc": {
                                              "start": {
                                                "line": 167,
                                                "column": 50
                                              },
                                              "end": {
                                                "line": 167,
                                                "column": 58
                                              },
                                              "identifierName": "callback"
                                            },
                                            "name": "callback"
                                          }
                                        ]
                                      }
                                    }
                                  ],
                                  "directives": []
                                }
                              }
                            ],
                            "directives": []
                          }
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * Subscribe to changes in the state\n     * @param {function(newValue: *, oldValue: *)} callback\n     * @param {string} property - Name of the property to watch\n     * @example <caption>Trigger callback when userName is updated</caption>\n     * myStore.subscribeToChanges((newVal)=>{ console.log(\"userName changed to...\", newVal)}, \"userName\");\n     ",
                          "start": 5886,
                          "end": 6246,
                          "loc": {
                            "start": {
                              "line": 152,
                              "column": 4
                            },
                            "end": {
                              "line": 158,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * Remove subscription to changes in the state\n     * @param {function} callback\n     * @param {string} property - Name of the property to unsubscribe from\n     ",
                          "start": 6720,
                          "end": 6891,
                          "loc": {
                            "start": {
                              "line": 170,
                              "column": 4
                            },
                            "end": {
                              "line": 174,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6896,
                      "end": 7231,
                      "loc": {
                        "start": {
                          "line": 175,
                          "column": 4
                        },
                        "end": {
                          "line": 181,
                          "column": 6
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6896,
                        "end": 7230,
                        "loc": {
                          "start": {
                            "line": 175,
                            "column": 4
                          },
                          "end": {
                            "line": 181,
                            "column": 5
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6896,
                          "end": 6932,
                          "loc": {
                            "start": {
                              "line": 175,
                              "column": 4
                            },
                            "end": {
                              "line": 175,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6896,
                            "end": 6911,
                            "loc": {
                              "start": {
                                "line": 175,
                                "column": 4
                              },
                              "end": {
                                "line": 175,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 6896,
                              "end": 6901,
                              "loc": {
                                "start": {
                                  "line": 175,
                                  "column": 4
                                },
                                "end": {
                                  "line": 175,
                                  "column": 9
                                },
                                "identifierName": "Store"
                              },
                              "name": "Store",
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6902,
                              "end": 6911,
                              "loc": {
                                "start": {
                                  "line": 175,
                                  "column": 10
                                },
                                "end": {
                                  "line": 175,
                                  "column": 19
                                },
                                "identifierName": "prototype"
                              },
                              "name": "prototype"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6912,
                            "end": 6932,
                            "loc": {
                              "start": {
                                "line": 175,
                                "column": 20
                              },
                              "end": {
                                "line": 175,
                                "column": 40
                              },
                              "identifierName": "unSubscribeToChanges"
                            },
                            "name": "unSubscribeToChanges"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "start": 6935,
                          "end": 7230,
                          "loc": {
                            "start": {
                              "line": 175,
                              "column": 43
                            },
                            "end": {
                              "line": 181,
                              "column": 5
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": false,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 6945,
                              "end": 6953,
                              "loc": {
                                "start": {
                                  "line": 175,
                                  "column": 53
                                },
                                "end": {
                                  "line": 175,
                                  "column": 61
                                },
                                "identifierName": "callback"
                              },
                              "name": "callback"
                            },
                            {
                              "type": "Identifier",
                              "start": 6955,
                              "end": 6963,
                              "loc": {
                                "start": {
                                  "line": 175,
                                  "column": 63
                                },
                                "end": {
                                  "line": 175,
                                  "column": 71
                                },
                                "identifierName": "property"
                              },
                              "name": "property"
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "start": 6965,
                            "end": 7230,
                            "loc": {
                              "start": {
                                "line": 175,
                                "column": 73
                              },
                              "end": {
                                "line": 181,
                                "column": 5
                              }
                            },
                            "body": [
                              {
                                "type": "IfStatement",
                                "start": 6975,
                                "end": 7029,
                                "loc": {
                                  "start": {
                                    "line": 176,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 176,
                                    "column": 62
                                  }
                                },
                                "test": {
                                  "type": "BinaryExpression",
                                  "start": 6979,
                                  "end": 6998,
                                  "loc": {
                                    "start": {
                                      "line": 176,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 176,
                                      "column": 31
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 6979,
                                    "end": 6987,
                                    "loc": {
                                      "start": {
                                        "line": 176,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 176,
                                        "column": 20
                                      },
                                      "identifierName": "property"
                                    },
                                    "name": "property"
                                  },
                                  "operator": "===",
                                  "right": {
                                    "type": "UnaryExpression",
                                    "start": 6992,
                                    "end": 6998,
                                    "loc": {
                                      "start": {
                                        "line": 176,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 176,
                                        "column": 31
                                      }
                                    },
                                    "operator": "void",
                                    "prefix": true,
                                    "argument": {
                                      "type": "NumericLiteral",
                                      "start": 6997,
                                      "end": 6998,
                                      "loc": {
                                        "start": {
                                          "line": 176,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 176,
                                          "column": 31
                                        }
                                      },
                                      "extra": {
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      "value": 0
                                    },
                                    "extra": {
                                      "parenthesizedArgument": false
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "start": 7000,
                                  "end": 7029,
                                  "loc": {
                                    "start": {
                                      "line": 176,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 176,
                                      "column": 62
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 7002,
                                      "end": 7027,
                                      "loc": {
                                        "start": {
                                          "line": 176,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 176,
                                          "column": 60
                                        }
                                      },
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 7002,
                                        "end": 7026,
                                        "loc": {
                                          "start": {
                                            "line": 176,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 176,
                                            "column": 59
                                          }
                                        },
                                        "operator": "=",
                                        "left": {
                                          "type": "Identifier",
                                          "start": 7002,
                                          "end": 7010,
                                          "loc": {
                                            "start": {
                                              "line": 176,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 176,
                                              "column": 43
                                            },
                                            "identifierName": "property"
                                          },
                                          "name": "property"
                                        },
                                        "right": {
                                          "type": "StringLiteral",
                                          "start": 7013,
                                          "end": 7026,
                                          "loc": {
                                            "start": {
                                              "line": 176,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 176,
                                              "column": 59
                                            }
                                          },
                                          "extra": {
                                            "rawValue": "__anyChange",
                                            "raw": "\"__anyChange\""
                                          },
                                          "value": "__anyChange"
                                        }
                                      }
                                    }
                                  ],
                                  "directives": []
                                },
                                "alternate": null
                              },
                              {
                                "type": "VariableDeclaration",
                                "start": 7038,
                                "end": 7090,
                                "loc": {
                                  "start": {
                                    "line": 177,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 177,
                                    "column": 60
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 7042,
                                    "end": 7089,
                                    "loc": {
                                      "start": {
                                        "line": 177,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 177,
                                        "column": 59
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 7042,
                                      "end": 7054,
                                      "loc": {
                                        "start": {
                                          "line": 177,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 177,
                                          "column": 24
                                        },
                                        "identifierName": "callbackList"
                                      },
                                      "name": "callbackList"
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "start": 7057,
                                      "end": 7089,
                                      "loc": {
                                        "start": {
                                          "line": 177,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 177,
                                          "column": 59
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 7057,
                                        "end": 7079,
                                        "loc": {
                                          "start": {
                                            "line": 177,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 177,
                                            "column": 49
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 7057,
                                          "end": 7061,
                                          "loc": {
                                            "start": {
                                              "line": 177,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 177,
                                              "column": 31
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 7062,
                                          "end": 7079,
                                          "loc": {
                                            "start": {
                                              "line": 177,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 177,
                                              "column": 49
                                            },
                                            "identifierName": "onChangeCallbacks"
                                          },
                                          "name": "onChangeCallbacks"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 7080,
                                        "end": 7088,
                                        "loc": {
                                          "start": {
                                            "line": 177,
                                            "column": 50
                                          },
                                          "end": {
                                            "line": 177,
                                            "column": 58
                                          },
                                          "identifierName": "property"
                                        },
                                        "name": "property"
                                      },
                                      "computed": true
                                    }
                                  }
                                ],
                                "kind": "var"
                              },
                              {
                                "type": "IfStatement",
                                "start": 7099,
                                "end": 7149,
                                "loc": {
                                  "start": {
                                    "line": 178,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 179,
                                    "column": 19
                                  }
                                },
                                "test": {
                                  "type": "BinaryExpression",
                                  "start": 7103,
                                  "end": 7128,
                                  "loc": {
                                    "start": {
                                      "line": 178,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 178,
                                      "column": 37
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 7103,
                                    "end": 7115,
                                    "loc": {
                                      "start": {
                                        "line": 178,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 178,
                                        "column": 24
                                      },
                                      "identifierName": "callbackList"
                                    },
                                    "name": "callbackList"
                                  },
                                  "operator": "==",
                                  "right": {
                                    "type": "Identifier",
                                    "start": 7119,
                                    "end": 7128,
                                    "loc": {
                                      "start": {
                                        "line": 178,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 178,
                                        "column": 37
                                      },
                                      "identifierName": "undefined"
                                    },
                                    "name": "undefined"
                                  }
                                },
                                "consequent": {
                                  "type": "ReturnStatement",
                                  "start": 7142,
                                  "end": 7149,
                                  "loc": {
                                    "start": {
                                      "line": 179,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 179,
                                      "column": 19
                                    }
                                  },
                                  "argument": null
                                },
                                "alternate": null
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 7158,
                                "end": 7224,
                                "loc": {
                                  "start": {
                                    "line": 180,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 180,
                                    "column": 74
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 7158,
                                  "end": 7223,
                                  "loc": {
                                    "start": {
                                      "line": 180,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 180,
                                      "column": 73
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 7158,
                                    "end": 7190,
                                    "loc": {
                                      "start": {
                                        "line": 180,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 180,
                                        "column": 40
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 7158,
                                      "end": 7180,
                                      "loc": {
                                        "start": {
                                          "line": 180,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 180,
                                          "column": 30
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 7158,
                                        "end": 7162,
                                        "loc": {
                                          "start": {
                                            "line": 180,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 180,
                                            "column": 12
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 7163,
                                        "end": 7180,
                                        "loc": {
                                          "start": {
                                            "line": 180,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 180,
                                            "column": 30
                                          },
                                          "identifierName": "onChangeCallbacks"
                                        },
                                        "name": "onChangeCallbacks"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7181,
                                      "end": 7189,
                                      "loc": {
                                        "start": {
                                          "line": 180,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 180,
                                          "column": 39
                                        },
                                        "identifierName": "property"
                                      },
                                      "name": "property"
                                    },
                                    "computed": true
                                  },
                                  "right": {
                                    "type": "CallExpression",
                                    "start": 7193,
                                    "end": 7223,
                                    "loc": {
                                      "start": {
                                        "line": 180,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 180,
                                        "column": 73
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 7193,
                                      "end": 7199,
                                      "loc": {
                                        "start": {
                                          "line": 180,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 180,
                                          "column": 49
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 7193,
                                        "end": 7194,
                                        "loc": {
                                          "start": {
                                            "line": 180,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 180,
                                            "column": 44
                                          },
                                          "identifierName": "_"
                                        },
                                        "name": "_"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 7195,
                                        "end": 7199,
                                        "loc": {
                                          "start": {
                                            "line": 180,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 180,
                                            "column": 49
                                          },
                                          "identifierName": "pull"
                                        },
                                        "name": "pull"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 7200,
                                        "end": 7212,
                                        "loc": {
                                          "start": {
                                            "line": 180,
                                            "column": 50
                                          },
                                          "end": {
                                            "line": 180,
                                            "column": 62
                                          },
                                          "identifierName": "callbackList"
                                        },
                                        "name": "callbackList"
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 7214,
                                        "end": 7222,
                                        "loc": {
                                          "start": {
                                            "line": 180,
                                            "column": 64
                                          },
                                          "end": {
                                            "line": 180,
                                            "column": 72
                                          },
                                          "identifierName": "callback"
                                        },
                                        "name": "callback"
                                      }
                                    ]
                                  }
                                }
                              }
                            ],
                            "directives": []
                          }
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * Remove subscription to changes in the state\n     * @param {function} callback\n     * @param {string} property - Name of the property to unsubscribe from\n     ",
                          "start": 6720,
                          "end": 6891,
                          "loc": {
                            "start": {
                              "line": 170,
                              "column": 4
                            },
                            "end": {
                              "line": 174,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     *\n     * @param {object} oldState\n     * @param {object} newState\n     * @return {Array}\n     ",
                          "start": 7236,
                          "end": 7341,
                          "loc": {
                            "start": {
                              "line": 182,
                              "column": 4
                            },
                            "end": {
                              "line": 187,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 7346,
                      "end": 8004,
                      "loc": {
                        "start": {
                          "line": 188,
                          "column": 4
                        },
                        "end": {
                          "line": 205,
                          "column": 6
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 7346,
                        "end": 8003,
                        "loc": {
                          "start": {
                            "line": 188,
                            "column": 4
                          },
                          "end": {
                            "line": 205,
                            "column": 5
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 7346,
                          "end": 7365,
                          "loc": {
                            "start": {
                              "line": 188,
                              "column": 4
                            },
                            "end": {
                              "line": 188,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 7346,
                            "end": 7351,
                            "loc": {
                              "start": {
                                "line": 188,
                                "column": 4
                              },
                              "end": {
                                "line": 188,
                                "column": 9
                              },
                              "identifierName": "Store"
                            },
                            "name": "Store",
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7352,
                            "end": 7365,
                            "loc": {
                              "start": {
                                "line": 188,
                                "column": 10
                              },
                              "end": {
                                "line": 188,
                                "column": 23
                              },
                              "identifierName": "getChangeList"
                            },
                            "name": "getChangeList"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "start": 7368,
                          "end": 8003,
                          "loc": {
                            "start": {
                              "line": 188,
                              "column": 26
                            },
                            "end": {
                              "line": 205,
                              "column": 5
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": false,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 7378,
                              "end": 7386,
                              "loc": {
                                "start": {
                                  "line": 188,
                                  "column": 36
                                },
                                "end": {
                                  "line": 188,
                                  "column": 44
                                },
                                "identifierName": "oldState"
                              },
                              "name": "oldState"
                            },
                            {
                              "type": "Identifier",
                              "start": 7388,
                              "end": 7396,
                              "loc": {
                                "start": {
                                  "line": 188,
                                  "column": 46
                                },
                                "end": {
                                  "line": 188,
                                  "column": 54
                                },
                                "identifierName": "newState"
                              },
                              "name": "newState"
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "start": 7398,
                            "end": 8003,
                            "loc": {
                              "start": {
                                "line": 188,
                                "column": 56
                              },
                              "end": {
                                "line": 205,
                                "column": 5
                              }
                            },
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "start": 7469,
                                "end": 7486,
                                "loc": {
                                  "start": {
                                    "line": 190,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 190,
                                    "column": 25
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 7473,
                                    "end": 7485,
                                    "loc": {
                                      "start": {
                                        "line": 190,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 190,
                                        "column": 24
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 7473,
                                      "end": 7480,
                                      "loc": {
                                        "start": {
                                          "line": 190,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 190,
                                          "column": 19
                                        },
                                        "identifierName": "changes"
                                      },
                                      "name": "changes",
                                      "leadingComments": null
                                    },
                                    "init": {
                                      "type": "ArrayExpression",
                                      "start": 7483,
                                      "end": 7485,
                                      "loc": {
                                        "start": {
                                          "line": 190,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 190,
                                          "column": 24
                                        }
                                      },
                                      "elements": []
                                    },
                                    "leadingComments": null
                                  }
                                ],
                                "kind": "var",
                                "leadingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Loop through state properties looking for changes",
                                    "start": 7408,
                                    "end": 7460,
                                    "loc": {
                                      "start": {
                                        "line": 189,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 189,
                                        "column": 60
                                      }
                                    }
                                  }
                                ]
                              },
                              {
                                "type": "ForInStatement",
                                "start": 7495,
                                "end": 7973,
                                "loc": {
                                  "start": {
                                    "line": 191,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 203,
                                    "column": 9
                                  }
                                },
                                "left": {
                                  "type": "VariableDeclaration",
                                  "start": 7500,
                                  "end": 7512,
                                  "loc": {
                                    "start": {
                                      "line": 191,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 191,
                                      "column": 25
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 7504,
                                      "end": 7512,
                                      "loc": {
                                        "start": {
                                          "line": 191,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 191,
                                          "column": 25
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 7504,
                                        "end": 7512,
                                        "loc": {
                                          "start": {
                                            "line": 191,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 191,
                                            "column": 25
                                          },
                                          "identifierName": "property"
                                        },
                                        "name": "property"
                                      },
                                      "init": null
                                    }
                                  ],
                                  "kind": "var"
                                },
                                "right": {
                                  "type": "Identifier",
                                  "start": 7516,
                                  "end": 7524,
                                  "loc": {
                                    "start": {
                                      "line": 191,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 191,
                                      "column": 37
                                    },
                                    "identifierName": "newState"
                                  },
                                  "name": "newState"
                                },
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 7526,
                                  "end": 7973,
                                  "loc": {
                                    "start": {
                                      "line": 191,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 203,
                                      "column": 9
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "VariableDeclaration",
                                      "start": 7540,
                                      "end": 7577,
                                      "loc": {
                                        "start": {
                                          "line": 192,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 192,
                                          "column": 49
                                        }
                                      },
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "start": 7544,
                                          "end": 7576,
                                          "loc": {
                                            "start": {
                                              "line": 192,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 192,
                                              "column": 48
                                            }
                                          },
                                          "id": {
                                            "type": "Identifier",
                                            "start": 7544,
                                            "end": 7555,
                                            "loc": {
                                              "start": {
                                                "line": 192,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 192,
                                                "column": 27
                                              },
                                              "identifierName": "newProperty"
                                            },
                                            "name": "newProperty"
                                          },
                                          "init": {
                                            "type": "MemberExpression",
                                            "start": 7558,
                                            "end": 7576,
                                            "loc": {
                                              "start": {
                                                "line": 192,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 192,
                                                "column": 48
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 7558,
                                              "end": 7566,
                                              "loc": {
                                                "start": {
                                                  "line": 192,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 192,
                                                  "column": 38
                                                },
                                                "identifierName": "newState"
                                              },
                                              "name": "newState"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 7567,
                                              "end": 7575,
                                              "loc": {
                                                "start": {
                                                  "line": 192,
                                                  "column": 39
                                                },
                                                "end": {
                                                  "line": 192,
                                                  "column": 47
                                                },
                                                "identifierName": "property"
                                              },
                                              "name": "property"
                                            },
                                            "computed": true
                                          }
                                        }
                                      ],
                                      "kind": "var"
                                    },
                                    {
                                      "type": "VariableDeclaration",
                                      "start": 7590,
                                      "end": 7627,
                                      "loc": {
                                        "start": {
                                          "line": 193,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 193,
                                          "column": 49
                                        }
                                      },
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "start": 7594,
                                          "end": 7626,
                                          "loc": {
                                            "start": {
                                              "line": 193,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 193,
                                              "column": 48
                                            }
                                          },
                                          "id": {
                                            "type": "Identifier",
                                            "start": 7594,
                                            "end": 7605,
                                            "loc": {
                                              "start": {
                                                "line": 193,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 193,
                                                "column": 27
                                              },
                                              "identifierName": "oldProperty"
                                            },
                                            "name": "oldProperty"
                                          },
                                          "init": {
                                            "type": "MemberExpression",
                                            "start": 7608,
                                            "end": 7626,
                                            "loc": {
                                              "start": {
                                                "line": 193,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 193,
                                                "column": 48
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 7608,
                                              "end": 7616,
                                              "loc": {
                                                "start": {
                                                  "line": 193,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 193,
                                                  "column": 38
                                                },
                                                "identifierName": "oldState"
                                              },
                                              "name": "oldState"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 7617,
                                              "end": 7625,
                                              "loc": {
                                                "start": {
                                                  "line": 193,
                                                  "column": 39
                                                },
                                                "end": {
                                                  "line": 193,
                                                  "column": 47
                                                },
                                                "identifierName": "property"
                                              },
                                              "name": "property"
                                            },
                                            "computed": true
                                          }
                                        }
                                      ],
                                      "kind": "var"
                                    },
                                    {
                                      "type": "IfStatement",
                                      "start": 7640,
                                      "end": 7691,
                                      "loc": {
                                        "start": {
                                          "line": 194,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 195,
                                          "column": 25
                                        }
                                      },
                                      "test": {
                                        "type": "BinaryExpression",
                                        "start": 7644,
                                        "end": 7664,
                                        "loc": {
                                          "start": {
                                            "line": 194,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 194,
                                            "column": 36
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 7644,
                                          "end": 7652,
                                          "loc": {
                                            "start": {
                                              "line": 194,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 194,
                                              "column": 24
                                            },
                                            "identifierName": "property"
                                          },
                                          "name": "property"
                                        },
                                        "operator": "==",
                                        "right": {
                                          "type": "StringLiteral",
                                          "start": 7656,
                                          "end": 7664,
                                          "loc": {
                                            "start": {
                                              "line": 194,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 194,
                                              "column": 36
                                            }
                                          },
                                          "extra": {
                                            "rawValue": "__time",
                                            "raw": "\"__time\""
                                          },
                                          "value": "__time"
                                        }
                                      },
                                      "consequent": {
                                        "type": "ContinueStatement",
                                        "start": 7682,
                                        "end": 7691,
                                        "loc": {
                                          "start": {
                                            "line": 195,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 195,
                                            "column": 25
                                          }
                                        },
                                        "label": null,
                                        "leadingComments": null,
                                        "trailingComments": null
                                      },
                                      "alternate": null,
                                      "trailingComments": [
                                        {
                                          "type": "CommentLine",
                                          "value": " Generate change list",
                                          "start": 7704,
                                          "end": 7727,
                                          "loc": {
                                            "start": {
                                              "line": 196,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 196,
                                              "column": 35
                                            }
                                          }
                                        }
                                      ]
                                    },
                                    {
                                      "type": "IfStatement",
                                      "start": 7740,
                                      "end": 7963,
                                      "loc": {
                                        "start": {
                                          "line": 197,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 202,
                                          "column": 13
                                        }
                                      },
                                      "test": {
                                        "type": "UnaryExpression",
                                        "start": 7744,
                                        "end": 7780,
                                        "loc": {
                                          "start": {
                                            "line": 197,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 197,
                                            "column": 52
                                          }
                                        },
                                        "operator": "!",
                                        "prefix": true,
                                        "argument": {
                                          "type": "CallExpression",
                                          "start": 7745,
                                          "end": 7780,
                                          "loc": {
                                            "start": {
                                              "line": 197,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 197,
                                              "column": 52
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 7745,
                                            "end": 7754,
                                            "loc": {
                                              "start": {
                                                "line": 197,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 197,
                                                "column": 26
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 7745,
                                              "end": 7746,
                                              "loc": {
                                                "start": {
                                                  "line": 197,
                                                  "column": 17
                                                },
                                                "end": {
                                                  "line": 197,
                                                  "column": 18
                                                },
                                                "identifierName": "_"
                                              },
                                              "name": "_",
                                              "leadingComments": null
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 7747,
                                              "end": 7754,
                                              "loc": {
                                                "start": {
                                                  "line": 197,
                                                  "column": 19
                                                },
                                                "end": {
                                                  "line": 197,
                                                  "column": 26
                                                },
                                                "identifierName": "isEqual"
                                              },
                                              "name": "isEqual"
                                            },
                                            "computed": false,
                                            "leadingComments": null
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "start": 7755,
                                              "end": 7766,
                                              "loc": {
                                                "start": {
                                                  "line": 197,
                                                  "column": 27
                                                },
                                                "end": {
                                                  "line": 197,
                                                  "column": 38
                                                },
                                                "identifierName": "newProperty"
                                              },
                                              "name": "newProperty"
                                            },
                                            {
                                              "type": "Identifier",
                                              "start": 7768,
                                              "end": 7779,
                                              "loc": {
                                                "start": {
                                                  "line": 197,
                                                  "column": 40
                                                },
                                                "end": {
                                                  "line": 197,
                                                  "column": 51
                                                },
                                                "identifierName": "oldProperty"
                                              },
                                              "name": "oldProperty"
                                            }
                                          ],
                                          "leadingComments": null
                                        },
                                        "extra": {
                                          "parenthesizedArgument": false
                                        },
                                        "leadingComments": null
                                      },
                                      "consequent": {
                                        "type": "BlockStatement",
                                        "start": 7782,
                                        "end": 7963,
                                        "loc": {
                                          "start": {
                                            "line": 197,
                                            "column": 54
                                          },
                                          "end": {
                                            "line": 202,
                                            "column": 13
                                          }
                                        },
                                        "body": [
                                          {
                                            "type": "ExpressionStatement",
                                            "start": 7800,
                                            "end": 7949,
                                            "loc": {
                                              "start": {
                                                "line": 198,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 201,
                                                "column": 19
                                              }
                                            },
                                            "expression": {
                                              "type": "CallExpression",
                                              "start": 7800,
                                              "end": 7948,
                                              "loc": {
                                                "start": {
                                                  "line": 198,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 201,
                                                  "column": 18
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 7800,
                                                "end": 7812,
                                                "loc": {
                                                  "start": {
                                                    "line": 198,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 198,
                                                    "column": 28
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 7800,
                                                  "end": 7807,
                                                  "loc": {
                                                    "start": {
                                                      "line": 198,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 198,
                                                      "column": 23
                                                    },
                                                    "identifierName": "changes"
                                                  },
                                                  "name": "changes"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 7808,
                                                  "end": 7812,
                                                  "loc": {
                                                    "start": {
                                                      "line": 198,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 198,
                                                      "column": 28
                                                    },
                                                    "identifierName": "push"
                                                  },
                                                  "name": "push"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "ObjectExpression",
                                                  "start": 7813,
                                                  "end": 7947,
                                                  "loc": {
                                                    "start": {
                                                      "line": 198,
                                                      "column": 29
                                                    },
                                                    "end": {
                                                      "line": 201,
                                                      "column": 17
                                                    }
                                                  },
                                                  "properties": [
                                                    {
                                                      "type": "ObjectProperty",
                                                      "start": 7835,
                                                      "end": 7853,
                                                      "loc": {
                                                        "start": {
                                                          "line": 199,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 199,
                                                          "column": 38
                                                        }
                                                      },
                                                      "method": false,
                                                      "shorthand": false,
                                                      "computed": false,
                                                      "key": {
                                                        "type": "Identifier",
                                                        "start": 7835,
                                                        "end": 7843,
                                                        "loc": {
                                                          "start": {
                                                            "line": 199,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 199,
                                                            "column": 28
                                                          },
                                                          "identifierName": "property"
                                                        },
                                                        "name": "property"
                                                      },
                                                      "value": {
                                                        "type": "Identifier",
                                                        "start": 7845,
                                                        "end": 7853,
                                                        "loc": {
                                                          "start": {
                                                            "line": 199,
                                                            "column": 30
                                                          },
                                                          "end": {
                                                            "line": 199,
                                                            "column": 38
                                                          },
                                                          "identifierName": "property"
                                                        },
                                                        "name": "property"
                                                      }
                                                    },
                                                    {
                                                      "type": "ObjectProperty",
                                                      "start": 7875,
                                                      "end": 7929,
                                                      "loc": {
                                                        "start": {
                                                          "line": 200,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 200,
                                                          "column": 74
                                                        }
                                                      },
                                                      "method": false,
                                                      "shorthand": false,
                                                      "computed": false,
                                                      "key": {
                                                        "type": "Identifier",
                                                        "start": 7875,
                                                        "end": 7880,
                                                        "loc": {
                                                          "start": {
                                                            "line": 200,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 200,
                                                            "column": 25
                                                          },
                                                          "identifierName": "isNew"
                                                        },
                                                        "name": "isNew"
                                                      },
                                                      "value": {
                                                        "type": "LogicalExpression",
                                                        "start": 7882,
                                                        "end": 7929,
                                                        "loc": {
                                                          "start": {
                                                            "line": 200,
                                                            "column": 27
                                                          },
                                                          "end": {
                                                            "line": 200,
                                                            "column": 74
                                                          }
                                                        },
                                                        "left": {
                                                          "type": "BinaryExpression",
                                                          "start": 7882,
                                                          "end": 7906,
                                                          "loc": {
                                                            "start": {
                                                              "line": 200,
                                                              "column": 27
                                                            },
                                                            "end": {
                                                              "line": 200,
                                                              "column": 51
                                                            }
                                                          },
                                                          "left": {
                                                            "type": "Identifier",
                                                            "start": 7882,
                                                            "end": 7893,
                                                            "loc": {
                                                              "start": {
                                                                "line": 200,
                                                                "column": 27
                                                              },
                                                              "end": {
                                                                "line": 200,
                                                                "column": 38
                                                              },
                                                              "identifierName": "oldProperty"
                                                            },
                                                            "name": "oldProperty"
                                                          },
                                                          "operator": "==",
                                                          "right": {
                                                            "type": "Identifier",
                                                            "start": 7897,
                                                            "end": 7906,
                                                            "loc": {
                                                              "start": {
                                                                "line": 200,
                                                                "column": 42
                                                              },
                                                              "end": {
                                                                "line": 200,
                                                                "column": 51
                                                              },
                                                              "identifierName": "undefined"
                                                            },
                                                            "name": "undefined"
                                                          }
                                                        },
                                                        "operator": "||",
                                                        "right": {
                                                          "type": "BinaryExpression",
                                                          "start": 7910,
                                                          "end": 7929,
                                                          "loc": {
                                                            "start": {
                                                              "line": 200,
                                                              "column": 55
                                                            },
                                                            "end": {
                                                              "line": 200,
                                                              "column": 74
                                                            }
                                                          },
                                                          "left": {
                                                            "type": "Identifier",
                                                            "start": 7910,
                                                            "end": 7921,
                                                            "loc": {
                                                              "start": {
                                                                "line": 200,
                                                                "column": 55
                                                              },
                                                              "end": {
                                                                "line": 200,
                                                                "column": 66
                                                              },
                                                              "identifierName": "oldProperty"
                                                            },
                                                            "name": "oldProperty"
                                                          },
                                                          "operator": "==",
                                                          "right": {
                                                            "type": "NullLiteral",
                                                            "start": 7925,
                                                            "end": 7929,
                                                            "loc": {
                                                              "start": {
                                                                "line": 200,
                                                                "column": 70
                                                              },
                                                              "end": {
                                                                "line": 200,
                                                                "column": 74
                                                              }
                                                            }
                                                          }
                                                        }
                                                      }
                                                    }
                                                  ]
                                                }
                                              ]
                                            }
                                          }
                                        ],
                                        "directives": []
                                      },
                                      "alternate": null,
                                      "leadingComments": [
                                        {
                                          "type": "CommentLine",
                                          "value": " Generate change list",
                                          "start": 7704,
                                          "end": 7727,
                                          "loc": {
                                            "start": {
                                              "line": 196,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 196,
                                              "column": 35
                                            }
                                          }
                                        }
                                      ]
                                    }
                                  ],
                                  "directives": []
                                }
                              },
                              {
                                "type": "ReturnStatement",
                                "start": 7982,
                                "end": 7997,
                                "loc": {
                                  "start": {
                                    "line": 204,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 204,
                                    "column": 23
                                  }
                                },
                                "argument": {
                                  "type": "Identifier",
                                  "start": 7989,
                                  "end": 7996,
                                  "loc": {
                                    "start": {
                                      "line": 204,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 204,
                                      "column": 22
                                    },
                                    "identifierName": "changes"
                                  },
                                  "name": "changes"
                                }
                              }
                            ],
                            "directives": []
                          }
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     *\n     * @param {object} oldState\n     * @param {object} newState\n     * @return {Array}\n     ",
                          "start": 7236,
                          "end": 7341,
                          "loc": {
                            "start": {
                              "line": 182,
                              "column": 4
                            },
                            "end": {
                              "line": 187,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * Returns difference between two states in human-readable form\n     * @param {object} oldState\n     * @param {object} newState\n     * @return {string}\n     ",
                          "start": 8009,
                          "end": 8176,
                          "loc": {
                            "start": {
                              "line": 206,
                              "column": 4
                            },
                            "end": {
                              "line": 211,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 8181,
                      "end": 8576,
                      "loc": {
                        "start": {
                          "line": 212,
                          "column": 4
                        },
                        "end": {
                          "line": 221,
                          "column": 6
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 8181,
                        "end": 8575,
                        "loc": {
                          "start": {
                            "line": 212,
                            "column": 4
                          },
                          "end": {
                            "line": 221,
                            "column": 5
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 8181,
                          "end": 8199,
                          "loc": {
                            "start": {
                              "line": 212,
                              "column": 4
                            },
                            "end": {
                              "line": 212,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 8181,
                            "end": 8186,
                            "loc": {
                              "start": {
                                "line": 212,
                                "column": 4
                              },
                              "end": {
                                "line": 212,
                                "column": 9
                              },
                              "identifierName": "Store"
                            },
                            "name": "Store",
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8187,
                            "end": 8199,
                            "loc": {
                              "start": {
                                "line": 212,
                                "column": 10
                              },
                              "end": {
                                "line": 212,
                                "column": 22
                              },
                              "identifierName": "getChangeLog"
                            },
                            "name": "getChangeLog"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "start": 8202,
                          "end": 8575,
                          "loc": {
                            "start": {
                              "line": 212,
                              "column": 25
                            },
                            "end": {
                              "line": 221,
                              "column": 5
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": false,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 8212,
                              "end": 8220,
                              "loc": {
                                "start": {
                                  "line": 212,
                                  "column": 35
                                },
                                "end": {
                                  "line": 212,
                                  "column": 43
                                },
                                "identifierName": "oldState"
                              },
                              "name": "oldState"
                            },
                            {
                              "type": "Identifier",
                              "start": 8222,
                              "end": 8230,
                              "loc": {
                                "start": {
                                  "line": 212,
                                  "column": 45
                                },
                                "end": {
                                  "line": 212,
                                  "column": 53
                                },
                                "identifierName": "newState"
                              },
                              "name": "newState"
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "start": 8232,
                            "end": 8575,
                            "loc": {
                              "start": {
                                "line": 212,
                                "column": 55
                              },
                              "end": {
                                "line": 221,
                                "column": 5
                              }
                            },
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "start": 8242,
                                "end": 8295,
                                "loc": {
                                  "start": {
                                    "line": 213,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 213,
                                    "column": 61
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 8246,
                                    "end": 8294,
                                    "loc": {
                                      "start": {
                                        "line": 213,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 213,
                                        "column": 60
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 8246,
                                      "end": 8253,
                                      "loc": {
                                        "start": {
                                          "line": 213,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 213,
                                          "column": 19
                                        },
                                        "identifierName": "changes"
                                      },
                                      "name": "changes"
                                    },
                                    "init": {
                                      "type": "CallExpression",
                                      "start": 8256,
                                      "end": 8294,
                                      "loc": {
                                        "start": {
                                          "line": 213,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 213,
                                          "column": 60
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 8256,
                                        "end": 8274,
                                        "loc": {
                                          "start": {
                                            "line": 213,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 213,
                                            "column": 40
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 8256,
                                          "end": 8260,
                                          "loc": {
                                            "start": {
                                              "line": 213,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 213,
                                              "column": 26
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8261,
                                          "end": 8274,
                                          "loc": {
                                            "start": {
                                              "line": 213,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 213,
                                              "column": 40
                                            },
                                            "identifierName": "getChangeList"
                                          },
                                          "name": "getChangeList"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 8275,
                                          "end": 8283,
                                          "loc": {
                                            "start": {
                                              "line": 213,
                                              "column": 41
                                            },
                                            "end": {
                                              "line": 213,
                                              "column": 49
                                            },
                                            "identifierName": "oldState"
                                          },
                                          "name": "oldState"
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 8285,
                                          "end": 8293,
                                          "loc": {
                                            "start": {
                                              "line": 213,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 213,
                                              "column": 59
                                            },
                                            "identifierName": "newState"
                                          },
                                          "name": "newState"
                                        }
                                      ]
                                    }
                                  }
                                ],
                                "kind": "var"
                              },
                              {
                                "type": "VariableDeclaration",
                                "start": 8304,
                                "end": 8538,
                                "loc": {
                                  "start": {
                                    "line": 214,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 219,
                                    "column": 11
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 8308,
                                    "end": 8537,
                                    "loc": {
                                      "start": {
                                        "line": 214,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 219,
                                        "column": 10
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 8308,
                                      "end": 8311,
                                      "loc": {
                                        "start": {
                                          "line": 214,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 214,
                                          "column": 15
                                        },
                                        "identifierName": "log"
                                      },
                                      "name": "log"
                                    },
                                    "init": {
                                      "type": "CallExpression",
                                      "start": 8314,
                                      "end": 8537,
                                      "loc": {
                                        "start": {
                                          "line": 214,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 219,
                                          "column": 10
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 8314,
                                        "end": 8325,
                                        "loc": {
                                          "start": {
                                            "line": 214,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 214,
                                            "column": 29
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 8314,
                                          "end": 8321,
                                          "loc": {
                                            "start": {
                                              "line": 214,
                                              "column": 18
                                            },
                                            "end": {
                                              "line": 214,
                                              "column": 25
                                            },
                                            "identifierName": "changes"
                                          },
                                          "name": "changes"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8322,
                                          "end": 8325,
                                          "loc": {
                                            "start": {
                                              "line": 214,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 214,
                                              "column": 29
                                            },
                                            "identifierName": "map"
                                          },
                                          "name": "map"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "FunctionExpression",
                                          "start": 8326,
                                          "end": 8536,
                                          "loc": {
                                            "start": {
                                              "line": 214,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 219,
                                              "column": 9
                                            }
                                          },
                                          "id": null,
                                          "generator": false,
                                          "expression": false,
                                          "async": false,
                                          "params": [
                                            {
                                              "type": "Identifier",
                                              "start": 8336,
                                              "end": 8337,
                                              "loc": {
                                                "start": {
                                                  "line": 214,
                                                  "column": 40
                                                },
                                                "end": {
                                                  "line": 214,
                                                  "column": 41
                                                },
                                                "identifierName": "o"
                                              },
                                              "name": "o"
                                            }
                                          ],
                                          "body": {
                                            "type": "BlockStatement",
                                            "start": 8339,
                                            "end": 8536,
                                            "loc": {
                                              "start": {
                                                "line": 214,
                                                "column": 43
                                              },
                                              "end": {
                                                "line": 219,
                                                "column": 9
                                              }
                                            },
                                            "body": [
                                              {
                                                "type": "IfStatement",
                                                "start": 8353,
                                                "end": 8526,
                                                "loc": {
                                                  "start": {
                                                    "line": 215,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 218,
                                                    "column": 70
                                                  }
                                                },
                                                "test": {
                                                  "type": "MemberExpression",
                                                  "start": 8357,
                                                  "end": 8364,
                                                  "loc": {
                                                    "start": {
                                                      "line": 215,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 215,
                                                      "column": 23
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 8357,
                                                    "end": 8358,
                                                    "loc": {
                                                      "start": {
                                                        "line": 215,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 215,
                                                        "column": 17
                                                      },
                                                      "identifierName": "o"
                                                    },
                                                    "name": "o"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 8359,
                                                    "end": 8364,
                                                    "loc": {
                                                      "start": {
                                                        "line": 215,
                                                        "column": 18
                                                      },
                                                      "end": {
                                                        "line": 215,
                                                        "column": 23
                                                      },
                                                      "identifierName": "isNew"
                                                    },
                                                    "name": "isNew"
                                                  },
                                                  "computed": false
                                                },
                                                "consequent": {
                                                  "type": "ReturnStatement",
                                                  "start": 8382,
                                                  "end": 8438,
                                                  "loc": {
                                                    "start": {
                                                      "line": 216,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 216,
                                                      "column": 72
                                                    }
                                                  },
                                                  "argument": {
                                                    "type": "CallExpression",
                                                    "start": 8389,
                                                    "end": 8437,
                                                    "loc": {
                                                      "start": {
                                                        "line": 216,
                                                        "column": 23
                                                      },
                                                      "end": {
                                                        "line": 216,
                                                        "column": 71
                                                      }
                                                    },
                                                    "callee": {
                                                      "type": "MemberExpression",
                                                      "start": 8389,
                                                      "end": 8419,
                                                      "loc": {
                                                        "start": {
                                                          "line": 216,
                                                          "column": 23
                                                        },
                                                        "end": {
                                                          "line": 216,
                                                          "column": 53
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "StringLiteral",
                                                        "start": 8389,
                                                        "end": 8412,
                                                        "loc": {
                                                          "start": {
                                                            "line": 216,
                                                            "column": 23
                                                          },
                                                          "end": {
                                                            "line": 216,
                                                            "column": 46
                                                          }
                                                        },
                                                        "extra": {
                                                          "rawValue": "Added new property \"",
                                                          "raw": "\"Added new property \\\"\""
                                                        },
                                                        "value": "Added new property \""
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 8413,
                                                        "end": 8419,
                                                        "loc": {
                                                          "start": {
                                                            "line": 216,
                                                            "column": 47
                                                          },
                                                          "end": {
                                                            "line": 216,
                                                            "column": 53
                                                          },
                                                          "identifierName": "concat"
                                                        },
                                                        "name": "concat"
                                                      },
                                                      "computed": false
                                                    },
                                                    "arguments": [
                                                      {
                                                        "type": "MemberExpression",
                                                        "start": 8420,
                                                        "end": 8430,
                                                        "loc": {
                                                          "start": {
                                                            "line": 216,
                                                            "column": 54
                                                          },
                                                          "end": {
                                                            "line": 216,
                                                            "column": 64
                                                          }
                                                        },
                                                        "object": {
                                                          "type": "Identifier",
                                                          "start": 8420,
                                                          "end": 8421,
                                                          "loc": {
                                                            "start": {
                                                              "line": 216,
                                                              "column": 54
                                                            },
                                                            "end": {
                                                              "line": 216,
                                                              "column": 55
                                                            },
                                                            "identifierName": "o"
                                                          },
                                                          "name": "o"
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "start": 8422,
                                                          "end": 8430,
                                                          "loc": {
                                                            "start": {
                                                              "line": 216,
                                                              "column": 56
                                                            },
                                                            "end": {
                                                              "line": 216,
                                                              "column": 64
                                                            },
                                                            "identifierName": "property"
                                                          },
                                                          "name": "property"
                                                        },
                                                        "computed": false
                                                      },
                                                      {
                                                        "type": "StringLiteral",
                                                        "start": 8432,
                                                        "end": 8436,
                                                        "loc": {
                                                          "start": {
                                                            "line": 216,
                                                            "column": 66
                                                          },
                                                          "end": {
                                                            "line": 216,
                                                            "column": 70
                                                          }
                                                        },
                                                        "extra": {
                                                          "rawValue": "\"",
                                                          "raw": "\"\\\"\""
                                                        },
                                                        "value": "\""
                                                      }
                                                    ]
                                                  }
                                                },
                                                "alternate": {
                                                  "type": "ReturnStatement",
                                                  "start": 8472,
                                                  "end": 8526,
                                                  "loc": {
                                                    "start": {
                                                      "line": 218,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 218,
                                                      "column": 70
                                                    }
                                                  },
                                                  "argument": {
                                                    "type": "CallExpression",
                                                    "start": 8479,
                                                    "end": 8525,
                                                    "loc": {
                                                      "start": {
                                                        "line": 218,
                                                        "column": 23
                                                      },
                                                      "end": {
                                                        "line": 218,
                                                        "column": 69
                                                      }
                                                    },
                                                    "callee": {
                                                      "type": "MemberExpression",
                                                      "start": 8479,
                                                      "end": 8507,
                                                      "loc": {
                                                        "start": {
                                                          "line": 218,
                                                          "column": 23
                                                        },
                                                        "end": {
                                                          "line": 218,
                                                          "column": 51
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "StringLiteral",
                                                        "start": 8479,
                                                        "end": 8500,
                                                        "loc": {
                                                          "start": {
                                                            "line": 218,
                                                            "column": 23
                                                          },
                                                          "end": {
                                                            "line": 218,
                                                            "column": 44
                                                          }
                                                        },
                                                        "extra": {
                                                          "rawValue": "Changed value of \"",
                                                          "raw": "\"Changed value of \\\"\""
                                                        },
                                                        "value": "Changed value of \""
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 8501,
                                                        "end": 8507,
                                                        "loc": {
                                                          "start": {
                                                            "line": 218,
                                                            "column": 45
                                                          },
                                                          "end": {
                                                            "line": 218,
                                                            "column": 51
                                                          },
                                                          "identifierName": "concat"
                                                        },
                                                        "name": "concat"
                                                      },
                                                      "computed": false
                                                    },
                                                    "arguments": [
                                                      {
                                                        "type": "MemberExpression",
                                                        "start": 8508,
                                                        "end": 8518,
                                                        "loc": {
                                                          "start": {
                                                            "line": 218,
                                                            "column": 52
                                                          },
                                                          "end": {
                                                            "line": 218,
                                                            "column": 62
                                                          }
                                                        },
                                                        "object": {
                                                          "type": "Identifier",
                                                          "start": 8508,
                                                          "end": 8509,
                                                          "loc": {
                                                            "start": {
                                                              "line": 218,
                                                              "column": 52
                                                            },
                                                            "end": {
                                                              "line": 218,
                                                              "column": 53
                                                            },
                                                            "identifierName": "o"
                                                          },
                                                          "name": "o"
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "start": 8510,
                                                          "end": 8518,
                                                          "loc": {
                                                            "start": {
                                                              "line": 218,
                                                              "column": 54
                                                            },
                                                            "end": {
                                                              "line": 218,
                                                              "column": 62
                                                            },
                                                            "identifierName": "property"
                                                          },
                                                          "name": "property"
                                                        },
                                                        "computed": false
                                                      },
                                                      {
                                                        "type": "StringLiteral",
                                                        "start": 8520,
                                                        "end": 8524,
                                                        "loc": {
                                                          "start": {
                                                            "line": 218,
                                                            "column": 64
                                                          },
                                                          "end": {
                                                            "line": 218,
                                                            "column": 68
                                                          }
                                                        },
                                                        "extra": {
                                                          "rawValue": "\"",
                                                          "raw": "\"\\\"\""
                                                        },
                                                        "value": "\""
                                                      }
                                                    ]
                                                  }
                                                }
                                              }
                                            ],
                                            "directives": []
                                          }
                                        }
                                      ]
                                    }
                                  }
                                ],
                                "kind": "var"
                              },
                              {
                                "type": "ReturnStatement",
                                "start": 8547,
                                "end": 8569,
                                "loc": {
                                  "start": {
                                    "line": 220,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 220,
                                    "column": 30
                                  }
                                },
                                "argument": {
                                  "type": "CallExpression",
                                  "start": 8554,
                                  "end": 8568,
                                  "loc": {
                                    "start": {
                                      "line": 220,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 220,
                                      "column": 29
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 8554,
                                    "end": 8562,
                                    "loc": {
                                      "start": {
                                        "line": 220,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 220,
                                        "column": 23
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 8554,
                                      "end": 8557,
                                      "loc": {
                                        "start": {
                                          "line": 220,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 220,
                                          "column": 18
                                        },
                                        "identifierName": "log"
                                      },
                                      "name": "log"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 8558,
                                      "end": 8562,
                                      "loc": {
                                        "start": {
                                          "line": 220,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 220,
                                          "column": 23
                                        },
                                        "identifierName": "join"
                                      },
                                      "name": "join"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "StringLiteral",
                                      "start": 8563,
                                      "end": 8567,
                                      "loc": {
                                        "start": {
                                          "line": 220,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 220,
                                          "column": 28
                                        }
                                      },
                                      "extra": {
                                        "rawValue": "\n",
                                        "raw": "\"\\n\""
                                      },
                                      "value": "\n"
                                    }
                                  ]
                                }
                              }
                            ],
                            "directives": []
                          }
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * Returns difference between two states in human-readable form\n     * @param {object} oldState\n     * @param {object} newState\n     * @return {string}\n     ",
                          "start": 8009,
                          "end": 8176,
                          "loc": {
                            "start": {
                              "line": 206,
                              "column": 4
                            },
                            "end": {
                              "line": 211,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " TODO: Should this be private",
                          "start": 8581,
                          "end": 8612,
                          "loc": {
                            "start": {
                              "line": 222,
                              "column": 4
                            },
                            "end": {
                              "line": 222,
                              "column": 35
                            }
                          }
                        },
                        {
                          "type": "CommentBlock",
                          "value": "**\n     *\n     * @ignore\n     * @param property\n     * @param newValue\n     * @param oldValue\n     * @private\n     ",
                          "start": 8617,
                          "end": 8736,
                          "loc": {
                            "start": {
                              "line": 223,
                              "column": 4
                            },
                            "end": {
                              "line": 230,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 8741,
                      "end": 9020,
                      "loc": {
                        "start": {
                          "line": 231,
                          "column": 4
                        },
                        "end": {
                          "line": 235,
                          "column": 6
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 8741,
                        "end": 9019,
                        "loc": {
                          "start": {
                            "line": 231,
                            "column": 4
                          },
                          "end": {
                            "line": 235,
                            "column": 5
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 8741,
                          "end": 8780,
                          "loc": {
                            "start": {
                              "line": 231,
                              "column": 4
                            },
                            "end": {
                              "line": 231,
                              "column": 43
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 8741,
                            "end": 8756,
                            "loc": {
                              "start": {
                                "line": 231,
                                "column": 4
                              },
                              "end": {
                                "line": 231,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 8741,
                              "end": 8746,
                              "loc": {
                                "start": {
                                  "line": 231,
                                  "column": 4
                                },
                                "end": {
                                  "line": 231,
                                  "column": 9
                                },
                                "identifierName": "Store"
                              },
                              "name": "Store",
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8747,
                              "end": 8756,
                              "loc": {
                                "start": {
                                  "line": 231,
                                  "column": 10
                                },
                                "end": {
                                  "line": 231,
                                  "column": 19
                                },
                                "identifierName": "prototype"
                              },
                              "name": "prototype"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8757,
                            "end": 8780,
                            "loc": {
                              "start": {
                                "line": 231,
                                "column": 20
                              },
                              "end": {
                                "line": 231,
                                "column": 43
                              },
                              "identifierName": "_triggerChangeCallbacks"
                            },
                            "name": "_triggerChangeCallbacks"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "start": 8783,
                          "end": 9019,
                          "loc": {
                            "start": {
                              "line": 231,
                              "column": 46
                            },
                            "end": {
                              "line": 235,
                              "column": 5
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": false,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 8793,
                              "end": 8801,
                              "loc": {
                                "start": {
                                  "line": 231,
                                  "column": 56
                                },
                                "end": {
                                  "line": 231,
                                  "column": 64
                                },
                                "identifierName": "property"
                              },
                              "name": "property"
                            },
                            {
                              "type": "Identifier",
                              "start": 8803,
                              "end": 8811,
                              "loc": {
                                "start": {
                                  "line": 231,
                                  "column": 66
                                },
                                "end": {
                                  "line": 231,
                                  "column": 74
                                },
                                "identifierName": "newValue"
                              },
                              "name": "newValue"
                            },
                            {
                              "type": "Identifier",
                              "start": 8813,
                              "end": 8821,
                              "loc": {
                                "start": {
                                  "line": 231,
                                  "column": 76
                                },
                                "end": {
                                  "line": 231,
                                  "column": 84
                                },
                                "identifierName": "oldValue"
                              },
                              "name": "oldValue"
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "start": 8823,
                            "end": 9019,
                            "loc": {
                              "start": {
                                "line": 231,
                                "column": 86
                              },
                              "end": {
                                "line": 235,
                                "column": 5
                              }
                            },
                            "body": [
                              {
                                "type": "IfStatement",
                                "start": 8833,
                                "end": 8891,
                                "loc": {
                                  "start": {
                                    "line": 232,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 233,
                                    "column": 19
                                  }
                                },
                                "test": {
                                  "type": "UnaryExpression",
                                  "start": 8837,
                                  "end": 8870,
                                  "loc": {
                                    "start": {
                                      "line": 232,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 232,
                                      "column": 45
                                    }
                                  },
                                  "operator": "!",
                                  "prefix": true,
                                  "argument": {
                                    "type": "MemberExpression",
                                    "start": 8838,
                                    "end": 8870,
                                    "loc": {
                                      "start": {
                                        "line": 232,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 232,
                                        "column": 45
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 8838,
                                      "end": 8860,
                                      "loc": {
                                        "start": {
                                          "line": 232,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 232,
                                          "column": 35
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 8838,
                                        "end": 8842,
                                        "loc": {
                                          "start": {
                                            "line": 232,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 232,
                                            "column": 17
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8843,
                                        "end": 8860,
                                        "loc": {
                                          "start": {
                                            "line": 232,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 232,
                                            "column": 35
                                          },
                                          "identifierName": "onChangeCallbacks"
                                        },
                                        "name": "onChangeCallbacks"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 8861,
                                      "end": 8869,
                                      "loc": {
                                        "start": {
                                          "line": 232,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 232,
                                          "column": 44
                                        },
                                        "identifierName": "property"
                                      },
                                      "name": "property"
                                    },
                                    "computed": true
                                  },
                                  "extra": {
                                    "parenthesizedArgument": false
                                  }
                                },
                                "consequent": {
                                  "type": "ReturnStatement",
                                  "start": 8884,
                                  "end": 8891,
                                  "loc": {
                                    "start": {
                                      "line": 233,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 233,
                                      "column": 19
                                    }
                                  },
                                  "argument": null
                                },
                                "alternate": null
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 8900,
                                "end": 9013,
                                "loc": {
                                  "start": {
                                    "line": 234,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 234,
                                    "column": 121
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 8900,
                                  "end": 9012,
                                  "loc": {
                                    "start": {
                                      "line": 234,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 234,
                                      "column": 120
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 8900,
                                    "end": 8940,
                                    "loc": {
                                      "start": {
                                        "line": 234,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 234,
                                        "column": 48
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 8900,
                                      "end": 8932,
                                      "loc": {
                                        "start": {
                                          "line": 234,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 234,
                                          "column": 40
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 8900,
                                        "end": 8922,
                                        "loc": {
                                          "start": {
                                            "line": 234,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 234,
                                            "column": 30
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 8900,
                                          "end": 8904,
                                          "loc": {
                                            "start": {
                                              "line": 234,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 234,
                                              "column": 12
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8905,
                                          "end": 8922,
                                          "loc": {
                                            "start": {
                                              "line": 234,
                                              "column": 13
                                            },
                                            "end": {
                                              "line": 234,
                                              "column": 30
                                            },
                                            "identifierName": "onChangeCallbacks"
                                          },
                                          "name": "onChangeCallbacks"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8923,
                                        "end": 8931,
                                        "loc": {
                                          "start": {
                                            "line": 234,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 234,
                                            "column": 39
                                          },
                                          "identifierName": "property"
                                        },
                                        "name": "property"
                                      },
                                      "computed": true
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 8933,
                                      "end": 8940,
                                      "loc": {
                                        "start": {
                                          "line": 234,
                                          "column": 41
                                        },
                                        "end": {
                                          "line": 234,
                                          "column": 48
                                        },
                                        "identifierName": "forEach"
                                      },
                                      "name": "forEach"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "FunctionExpression",
                                      "start": 8941,
                                      "end": 9011,
                                      "loc": {
                                        "start": {
                                          "line": 234,
                                          "column": 49
                                        },
                                        "end": {
                                          "line": 234,
                                          "column": 119
                                        }
                                      },
                                      "id": null,
                                      "generator": false,
                                      "expression": false,
                                      "async": false,
                                      "params": [
                                        {
                                          "type": "Identifier",
                                          "start": 8951,
                                          "end": 8959,
                                          "loc": {
                                            "start": {
                                              "line": 234,
                                              "column": 59
                                            },
                                            "end": {
                                              "line": 234,
                                              "column": 67
                                            },
                                            "identifierName": "callback"
                                          },
                                          "name": "callback"
                                        }
                                      ],
                                      "body": {
                                        "type": "BlockStatement",
                                        "start": 8961,
                                        "end": 9011,
                                        "loc": {
                                          "start": {
                                            "line": 234,
                                            "column": 69
                                          },
                                          "end": {
                                            "line": 234,
                                            "column": 119
                                          }
                                        },
                                        "body": [
                                          {
                                            "type": "ReturnStatement",
                                            "start": 8963,
                                            "end": 9009,
                                            "loc": {
                                              "start": {
                                                "line": 234,
                                                "column": 71
                                              },
                                              "end": {
                                                "line": 234,
                                                "column": 117
                                              }
                                            },
                                            "argument": {
                                              "type": "CallExpression",
                                              "start": 8970,
                                              "end": 9008,
                                              "loc": {
                                                "start": {
                                                  "line": 234,
                                                  "column": 78
                                                },
                                                "end": {
                                                  "line": 234,
                                                  "column": 116
                                                }
                                              },
                                              "callee": {
                                                "type": "Identifier",
                                                "start": 8970,
                                                "end": 8978,
                                                "loc": {
                                                  "start": {
                                                    "line": 234,
                                                    "column": 78
                                                  },
                                                  "end": {
                                                    "line": 234,
                                                    "column": 86
                                                  },
                                                  "identifierName": "callback"
                                                },
                                                "name": "callback"
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 8979,
                                                  "end": 8987,
                                                  "loc": {
                                                    "start": {
                                                      "line": 234,
                                                      "column": 87
                                                    },
                                                    "end": {
                                                      "line": 234,
                                                      "column": 95
                                                    },
                                                    "identifierName": "newValue"
                                                  },
                                                  "name": "newValue"
                                                },
                                                {
                                                  "type": "Identifier",
                                                  "start": 8989,
                                                  "end": 8997,
                                                  "loc": {
                                                    "start": {
                                                      "line": 234,
                                                      "column": 97
                                                    },
                                                    "end": {
                                                      "line": 234,
                                                      "column": 105
                                                    },
                                                    "identifierName": "oldValue"
                                                  },
                                                  "name": "oldValue"
                                                },
                                                {
                                                  "type": "Identifier",
                                                  "start": 8999,
                                                  "end": 9007,
                                                  "loc": {
                                                    "start": {
                                                      "line": 234,
                                                      "column": 107
                                                    },
                                                    "end": {
                                                      "line": 234,
                                                      "column": 115
                                                    },
                                                    "identifierName": "property"
                                                  },
                                                  "name": "property"
                                                }
                                              ]
                                            }
                                          }
                                        ],
                                        "directives": []
                                      }
                                    }
                                  ]
                                }
                              }
                            ],
                            "directives": []
                          }
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " TODO: Should this be private",
                          "start": 8581,
                          "end": 8612,
                          "loc": {
                            "start": {
                              "line": 222,
                              "column": 4
                            },
                            "end": {
                              "line": 222,
                              "column": 35
                            }
                          }
                        },
                        {
                          "type": "CommentBlock",
                          "value": "**\n     *\n     * @ignore\n     * @param property\n     * @param newValue\n     * @param oldValue\n     * @private\n     ",
                          "start": 8617,
                          "end": 8736,
                          "loc": {
                            "start": {
                              "line": 223,
                              "column": 4
                            },
                            "end": {
                              "line": 230,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * Returns change log of entire history in human-readable form\n     * @return {string}\n     ",
                          "start": 9025,
                          "end": 9127,
                          "loc": {
                            "start": {
                              "line": 236,
                              "column": 4
                            },
                            "end": {
                              "line": 239,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 9132,
                      "end": 9482,
                      "loc": {
                        "start": {
                          "line": 240,
                          "column": 4
                        },
                        "end": {
                          "line": 249,
                          "column": 6
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 9132,
                        "end": 9481,
                        "loc": {
                          "start": {
                            "line": 240,
                            "column": 4
                          },
                          "end": {
                            "line": 249,
                            "column": 5
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 9132,
                          "end": 9160,
                          "loc": {
                            "start": {
                              "line": 240,
                              "column": 4
                            },
                            "end": {
                              "line": 240,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 9132,
                            "end": 9147,
                            "loc": {
                              "start": {
                                "line": 240,
                                "column": 4
                              },
                              "end": {
                                "line": 240,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 9132,
                              "end": 9137,
                              "loc": {
                                "start": {
                                  "line": 240,
                                  "column": 4
                                },
                                "end": {
                                  "line": 240,
                                  "column": 9
                                },
                                "identifierName": "Store"
                              },
                              "name": "Store",
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9138,
                              "end": 9147,
                              "loc": {
                                "start": {
                                  "line": 240,
                                  "column": 10
                                },
                                "end": {
                                  "line": 240,
                                  "column": 19
                                },
                                "identifierName": "prototype"
                              },
                              "name": "prototype"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9148,
                            "end": 9160,
                            "loc": {
                              "start": {
                                "line": 240,
                                "column": 20
                              },
                              "end": {
                                "line": 240,
                                "column": 32
                              },
                              "identifierName": "getChangeLog"
                            },
                            "name": "getChangeLog"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "start": 9163,
                          "end": 9481,
                          "loc": {
                            "start": {
                              "line": 240,
                              "column": 35
                            },
                            "end": {
                              "line": 249,
                              "column": 5
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": false,
                          "async": false,
                          "params": [],
                          "body": {
                            "type": "BlockStatement",
                            "start": 9175,
                            "end": 9481,
                            "loc": {
                              "start": {
                                "line": 240,
                                "column": 47
                              },
                              "end": {
                                "line": 249,
                                "column": 5
                              }
                            },
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "start": 9185,
                                "end": 9225,
                                "loc": {
                                  "start": {
                                    "line": 241,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 241,
                                    "column": 48
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 9189,
                                    "end": 9224,
                                    "loc": {
                                      "start": {
                                        "line": 241,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 241,
                                        "column": 47
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 9189,
                                      "end": 9200,
                                      "loc": {
                                        "start": {
                                          "line": 241,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 241,
                                          "column": 23
                                        },
                                        "identifierName": "fullHistory"
                                      },
                                      "name": "fullHistory"
                                    },
                                    "init": {
                                      "type": "CallExpression",
                                      "start": 9203,
                                      "end": 9224,
                                      "loc": {
                                        "start": {
                                          "line": 241,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 241,
                                          "column": 47
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 9203,
                                        "end": 9222,
                                        "loc": {
                                          "start": {
                                            "line": 241,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 241,
                                            "column": 45
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 9203,
                                          "end": 9207,
                                          "loc": {
                                            "start": {
                                              "line": 241,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 241,
                                              "column": 30
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 9208,
                                          "end": 9222,
                                          "loc": {
                                            "start": {
                                              "line": 241,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 241,
                                              "column": 45
                                            },
                                            "identifierName": "getFullHistory"
                                          },
                                          "name": "getFullHistory"
                                        },
                                        "computed": false
                                      },
                                      "arguments": []
                                    }
                                  }
                                ],
                                "kind": "var"
                              },
                              {
                                "type": "VariableDeclaration",
                                "start": 9234,
                                "end": 9251,
                                "loc": {
                                  "start": {
                                    "line": 242,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 242,
                                    "column": 25
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 9238,
                                    "end": 9250,
                                    "loc": {
                                      "start": {
                                        "line": 242,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 242,
                                        "column": 24
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 9238,
                                      "end": 9245,
                                      "loc": {
                                        "start": {
                                          "line": 242,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 242,
                                          "column": 19
                                        },
                                        "identifierName": "changes"
                                      },
                                      "name": "changes"
                                    },
                                    "init": {
                                      "type": "ArrayExpression",
                                      "start": 9248,
                                      "end": 9250,
                                      "loc": {
                                        "start": {
                                          "line": 242,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 242,
                                          "column": 24
                                        }
                                      },
                                      "elements": []
                                    }
                                  }
                                ],
                                "kind": "var"
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 9260,
                                "end": 9426,
                                "loc": {
                                  "start": {
                                    "line": 243,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 247,
                                    "column": 11
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 9260,
                                  "end": 9425,
                                  "loc": {
                                    "start": {
                                      "line": 243,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 247,
                                      "column": 10
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 9260,
                                    "end": 9279,
                                    "loc": {
                                      "start": {
                                        "line": 243,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 243,
                                        "column": 27
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 9260,
                                      "end": 9271,
                                      "loc": {
                                        "start": {
                                          "line": 243,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 243,
                                          "column": 19
                                        },
                                        "identifierName": "fullHistory"
                                      },
                                      "name": "fullHistory"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9272,
                                      "end": 9279,
                                      "loc": {
                                        "start": {
                                          "line": 243,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 243,
                                          "column": 27
                                        },
                                        "identifierName": "forEach"
                                      },
                                      "name": "forEach"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "FunctionExpression",
                                      "start": 9280,
                                      "end": 9424,
                                      "loc": {
                                        "start": {
                                          "line": 243,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 247,
                                          "column": 9
                                        }
                                      },
                                      "id": null,
                                      "generator": false,
                                      "expression": false,
                                      "async": false,
                                      "params": [
                                        {
                                          "type": "Identifier",
                                          "start": 9290,
                                          "end": 9291,
                                          "loc": {
                                            "start": {
                                              "line": 243,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 243,
                                              "column": 39
                                            },
                                            "identifierName": "o"
                                          },
                                          "name": "o"
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 9293,
                                          "end": 9294,
                                          "loc": {
                                            "start": {
                                              "line": 243,
                                              "column": 41
                                            },
                                            "end": {
                                              "line": 243,
                                              "column": 42
                                            },
                                            "identifierName": "i"
                                          },
                                          "name": "i"
                                        }
                                      ],
                                      "body": {
                                        "type": "BlockStatement",
                                        "start": 9296,
                                        "end": 9424,
                                        "loc": {
                                          "start": {
                                            "line": 243,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 247,
                                            "column": 9
                                          }
                                        },
                                        "body": [
                                          {
                                            "type": "IfStatement",
                                            "start": 9310,
                                            "end": 9345,
                                            "loc": {
                                              "start": {
                                                "line": 244,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 245,
                                                "column": 23
                                              }
                                            },
                                            "test": {
                                              "type": "BinaryExpression",
                                              "start": 9314,
                                              "end": 9320,
                                              "loc": {
                                                "start": {
                                                  "line": 244,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 244,
                                                  "column": 22
                                                }
                                              },
                                              "left": {
                                                "type": "Identifier",
                                                "start": 9314,
                                                "end": 9315,
                                                "loc": {
                                                  "start": {
                                                    "line": 244,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 244,
                                                    "column": 17
                                                  },
                                                  "identifierName": "i"
                                                },
                                                "name": "i"
                                              },
                                              "operator": "==",
                                              "right": {
                                                "type": "NumericLiteral",
                                                "start": 9319,
                                                "end": 9320,
                                                "loc": {
                                                  "start": {
                                                    "line": 244,
                                                    "column": 21
                                                  },
                                                  "end": {
                                                    "line": 244,
                                                    "column": 22
                                                  }
                                                },
                                                "extra": {
                                                  "rawValue": 0,
                                                  "raw": "0"
                                                },
                                                "value": 0
                                              }
                                            },
                                            "consequent": {
                                              "type": "ReturnStatement",
                                              "start": 9338,
                                              "end": 9345,
                                              "loc": {
                                                "start": {
                                                  "line": 245,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 245,
                                                  "column": 23
                                                }
                                              },
                                              "argument": null
                                            },
                                            "alternate": null
                                          },
                                          {
                                            "type": "ExpressionStatement",
                                            "start": 9358,
                                            "end": 9414,
                                            "loc": {
                                              "start": {
                                                "line": 246,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 246,
                                                "column": 68
                                              }
                                            },
                                            "expression": {
                                              "type": "CallExpression",
                                              "start": 9358,
                                              "end": 9413,
                                              "loc": {
                                                "start": {
                                                  "line": 246,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 246,
                                                  "column": 67
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 9358,
                                                "end": 9370,
                                                "loc": {
                                                  "start": {
                                                    "line": 246,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 246,
                                                    "column": 24
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 9358,
                                                  "end": 9365,
                                                  "loc": {
                                                    "start": {
                                                      "line": 246,
                                                      "column": 12
                                                    },
                                                    "end": {
                                                      "line": 246,
                                                      "column": 19
                                                    },
                                                    "identifierName": "changes"
                                                  },
                                                  "name": "changes"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 9366,
                                                  "end": 9370,
                                                  "loc": {
                                                    "start": {
                                                      "line": 246,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 246,
                                                      "column": 24
                                                    },
                                                    "identifierName": "push"
                                                  },
                                                  "name": "push"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "CallExpression",
                                                  "start": 9371,
                                                  "end": 9412,
                                                  "loc": {
                                                    "start": {
                                                      "line": 246,
                                                      "column": 25
                                                    },
                                                    "end": {
                                                      "line": 246,
                                                      "column": 66
                                                    }
                                                  },
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "start": 9371,
                                                    "end": 9389,
                                                    "loc": {
                                                      "start": {
                                                        "line": 246,
                                                        "column": 25
                                                      },
                                                      "end": {
                                                        "line": 246,
                                                        "column": 43
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 9371,
                                                      "end": 9376,
                                                      "loc": {
                                                        "start": {
                                                          "line": 246,
                                                          "column": 25
                                                        },
                                                        "end": {
                                                          "line": 246,
                                                          "column": 30
                                                        },
                                                        "identifierName": "Store"
                                                      },
                                                      "name": "Store"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 9377,
                                                      "end": 9389,
                                                      "loc": {
                                                        "start": {
                                                          "line": 246,
                                                          "column": 31
                                                        },
                                                        "end": {
                                                          "line": 246,
                                                          "column": 43
                                                        },
                                                        "identifierName": "getChangeLog"
                                                      },
                                                      "name": "getChangeLog"
                                                    },
                                                    "computed": false
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "MemberExpression",
                                                      "start": 9390,
                                                      "end": 9408,
                                                      "loc": {
                                                        "start": {
                                                          "line": 246,
                                                          "column": 44
                                                        },
                                                        "end": {
                                                          "line": 246,
                                                          "column": 62
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "Identifier",
                                                        "start": 9390,
                                                        "end": 9401,
                                                        "loc": {
                                                          "start": {
                                                            "line": 246,
                                                            "column": 44
                                                          },
                                                          "end": {
                                                            "line": 246,
                                                            "column": 55
                                                          },
                                                          "identifierName": "fullHistory"
                                                        },
                                                        "name": "fullHistory"
                                                      },
                                                      "property": {
                                                        "type": "BinaryExpression",
                                                        "start": 9402,
                                                        "end": 9407,
                                                        "loc": {
                                                          "start": {
                                                            "line": 246,
                                                            "column": 56
                                                          },
                                                          "end": {
                                                            "line": 246,
                                                            "column": 61
                                                          }
                                                        },
                                                        "left": {
                                                          "type": "Identifier",
                                                          "start": 9402,
                                                          "end": 9403,
                                                          "loc": {
                                                            "start": {
                                                              "line": 246,
                                                              "column": 56
                                                            },
                                                            "end": {
                                                              "line": 246,
                                                              "column": 57
                                                            },
                                                            "identifierName": "i"
                                                          },
                                                          "name": "i"
                                                        },
                                                        "operator": "-",
                                                        "right": {
                                                          "type": "NumericLiteral",
                                                          "start": 9406,
                                                          "end": 9407,
                                                          "loc": {
                                                            "start": {
                                                              "line": 246,
                                                              "column": 60
                                                            },
                                                            "end": {
                                                              "line": 246,
                                                              "column": 61
                                                            }
                                                          },
                                                          "extra": {
                                                            "rawValue": 1,
                                                            "raw": "1"
                                                          },
                                                          "value": 1
                                                        }
                                                      },
                                                      "computed": true
                                                    },
                                                    {
                                                      "type": "Identifier",
                                                      "start": 9410,
                                                      "end": 9411,
                                                      "loc": {
                                                        "start": {
                                                          "line": 246,
                                                          "column": 64
                                                        },
                                                        "end": {
                                                          "line": 246,
                                                          "column": 65
                                                        },
                                                        "identifierName": "o"
                                                      },
                                                      "name": "o"
                                                    }
                                                  ]
                                                }
                                              ]
                                            }
                                          }
                                        ],
                                        "directives": []
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "type": "ReturnStatement",
                                "start": 9435,
                                "end": 9475,
                                "loc": {
                                  "start": {
                                    "line": 248,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 248,
                                    "column": 48
                                  }
                                },
                                "argument": {
                                  "type": "CallExpression",
                                  "start": 9442,
                                  "end": 9474,
                                  "loc": {
                                    "start": {
                                      "line": 248,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 248,
                                      "column": 47
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 9442,
                                    "end": 9454,
                                    "loc": {
                                      "start": {
                                        "line": 248,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 248,
                                        "column": 27
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 9442,
                                      "end": 9449,
                                      "loc": {
                                        "start": {
                                          "line": 248,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 248,
                                          "column": 22
                                        },
                                        "identifierName": "changes"
                                      },
                                      "name": "changes"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9450,
                                      "end": 9454,
                                      "loc": {
                                        "start": {
                                          "line": 248,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 248,
                                          "column": 27
                                        },
                                        "identifierName": "join"
                                      },
                                      "name": "join"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "StringLiteral",
                                      "start": 9455,
                                      "end": 9473,
                                      "loc": {
                                        "start": {
                                          "line": 248,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 248,
                                          "column": 46
                                        }
                                      },
                                      "extra": {
                                        "rawValue": "\n------------\n",
                                        "raw": "\"\\n------------\\n\""
                                      },
                                      "value": "\n------------\n"
                                    }
                                  ]
                                }
                              }
                            ],
                            "directives": []
                          }
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * Returns change log of entire history in human-readable form\n     * @return {string}\n     ",
                          "start": 9025,
                          "end": 9127,
                          "loc": {
                            "start": {
                              "line": 236,
                              "column": 4
                            },
                            "end": {
                              "line": 239,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 9487,
                      "end": 9500,
                      "loc": {
                        "start": {
                          "line": 250,
                          "column": 4
                        },
                        "end": {
                          "line": 250,
                          "column": 17
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 9494,
                        "end": 9499,
                        "loc": {
                          "start": {
                            "line": 250,
                            "column": 11
                          },
                          "end": {
                            "line": 250,
                            "column": 16
                          },
                          "identifierName": "Store"
                        },
                        "name": "Store"
                      }
                    }
                  ],
                  "directives": []
                },
                "leadingComments": null
              },
              "arguments": [],
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "* @class ",
                  "start": 304,
                  "end": 317,
                  "loc": {
                    "start": {
                      "line": 10,
                      "column": 12
                    },
                    "end": {
                      "line": 10,
                      "column": 25
                    }
                  }
                }
              ],
              "extra": {
                "parenthesized": true,
                "parenStart": 318
              }
            },
            "leadingComments": null
          }
        ],
        "kind": "var",
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": " import * as areEqual from 'fbjs/lib/areEqual';s",
            "start": 169,
            "end": 219,
            "loc": {
              "start": {
                "line": 8,
                "column": 0
              },
              "end": {
                "line": 8,
                "column": 50
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "* Simple data store with history recording and on change callbacks ",
            "start": 220,
            "end": 291,
            "loc": {
              "start": {
                "line": 9,
                "column": 0
              },
              "end": {
                "line": 9,
                "column": 71
              }
            }
          }
        ]
      },
      {
        "type": "ExpressionStatement",
        "start": 9507,
        "end": 9529,
        "loc": {
          "start": {
            "line": 252,
            "column": 0
          },
          "end": {
            "line": 252,
            "column": 22
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 9507,
          "end": 9528,
          "loc": {
            "start": {
              "line": 252,
              "column": 0
            },
            "end": {
              "line": 252,
              "column": 21
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 9507,
            "end": 9520,
            "loc": {
              "start": {
                "line": 252,
                "column": 0
              },
              "end": {
                "line": 252,
                "column": 13
              }
            },
            "object": {
              "type": "Identifier",
              "start": 9507,
              "end": 9514,
              "loc": {
                "start": {
                  "line": 252,
                  "column": 0
                },
                "end": {
                  "line": 252,
                  "column": 7
                },
                "identifierName": "exports"
              },
              "name": "exports"
            },
            "property": {
              "type": "Identifier",
              "start": 9515,
              "end": 9520,
              "loc": {
                "start": {
                  "line": 252,
                  "column": 8
                },
                "end": {
                  "line": 252,
                  "column": 13
                },
                "identifierName": "Store"
              },
              "name": "Store"
            },
            "computed": false
          },
          "right": {
            "type": "Identifier",
            "start": 9523,
            "end": 9528,
            "loc": {
              "start": {
                "line": 252,
                "column": 16
              },
              "end": {
                "line": 252,
                "column": 21
              },
              "identifierName": "Store"
            },
            "name": "Store"
          }
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 9530,
        "end": 9554,
        "loc": {
          "start": {
            "line": 253,
            "column": 0
          },
          "end": {
            "line": 253,
            "column": 24
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 9530,
          "end": 9553,
          "loc": {
            "start": {
              "line": 253,
              "column": 0
            },
            "end": {
              "line": 253,
              "column": 23
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 9530,
            "end": 9545,
            "loc": {
              "start": {
                "line": 253,
                "column": 0
              },
              "end": {
                "line": 253,
                "column": 15
              }
            },
            "object": {
              "type": "Identifier",
              "start": 9530,
              "end": 9537,
              "loc": {
                "start": {
                  "line": 253,
                  "column": 0
                },
                "end": {
                  "line": 253,
                  "column": 7
                },
                "identifierName": "exports"
              },
              "name": "exports"
            },
            "property": {
              "type": "Identifier",
              "start": 9538,
              "end": 9545,
              "loc": {
                "start": {
                  "line": 253,
                  "column": 8
                },
                "end": {
                  "line": 253,
                  "column": 15
                },
                "identifierName": "default"
              },
              "name": "default"
            },
            "computed": false
          },
          "right": {
            "type": "Identifier",
            "start": 9548,
            "end": 9553,
            "loc": {
              "start": {
                "line": 253,
                "column": 18
              },
              "end": {
                "line": 253,
                "column": 23
              },
              "identifierName": "Store"
            },
            "name": "Store"
          }
        },
        "trailingComments": [
          {
            "type": "CommentLine",
            "value": "# sourceMappingURL=Store.js.map",
            "start": 9555,
            "end": 9588,
            "loc": {
              "start": {
                "line": 254,
                "column": 0
              },
              "end": {
                "line": 254,
                "column": 33
              }
            }
          }
        ]
      }
    ],
    "directives": [
      {
        "type": "Directive",
        "start": 0,
        "end": 13,
        "loc": {
          "start": {
            "line": 1,
            "column": 0
          },
          "end": {
            "line": 1,
            "column": 13
          }
        },
        "value": {
          "type": "DirectiveLiteral",
          "start": 0,
          "end": 12,
          "loc": {
            "start": {
              "line": 1,
              "column": 0
            },
            "end": {
              "line": 1,
              "column": 12
            }
          },
          "value": "use strict",
          "extra": {
            "raw": "\"use strict\"",
            "rawValue": "use strict"
          }
        }
      }
    ]
  },
  "comments": [
    {
      "type": "CommentBlock",
      "value": "*\n * Created by sam_g on 2/7/2017.\n ",
      "start": 101,
      "end": 141,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 3
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " import * as areEqual from 'fbjs/lib/areEqual';s",
      "start": 169,
      "end": 219,
      "loc": {
        "start": {
          "line": 8,
          "column": 0
        },
        "end": {
          "line": 8,
          "column": 50
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* Simple data store with history recording and on change callbacks ",
      "start": 220,
      "end": 291,
      "loc": {
        "start": {
          "line": 9,
          "column": 0
        },
        "end": {
          "line": 9,
          "column": 71
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* @class ",
      "start": 304,
      "end": 317,
      "loc": {
        "start": {
          "line": 10,
          "column": 12
        },
        "end": {
          "line": 10,
          "column": 25
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "**\n     * Creates a store and sets its initial state to the optional value passed in\n     * @param state\n     ",
      "start": 337,
      "end": 451,
      "loc": {
        "start": {
          "line": 11,
          "column": 4
        },
        "end": {
          "line": 14,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "**\n         *\n         * @ignore\n         * @type {any[]}\n         * @private\n         ",
      "start": 488,
      "end": 579,
      "loc": {
        "start": {
          "line": 16,
          "column": 8
        },
        "end": {
          "line": 21,
          "column": 11
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* @private {function[]} ",
      "start": 656,
      "end": 684,
      "loc": {
        "start": {
          "line": 24,
          "column": 8
        },
        "end": {
          "line": 24,
          "column": 36
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* @property {object} [state={}] state - An object that represents the present state ",
      "start": 767,
      "end": 855,
      "loc": {
        "start": {
          "line": 28,
          "column": 8
        },
        "end": {
          "line": 28,
          "column": 96
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* @private ",
      "start": 898,
      "end": 913,
      "loc": {
        "start": {
          "line": 30,
          "column": 8
        },
        "end": {
          "line": 30,
          "column": 23
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " @ts-ignore",
      "start": 914,
      "end": 927,
      "loc": {
        "start": {
          "line": 30,
          "column": 24
        },
        "end": {
          "line": 30,
          "column": 37
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* @private An array of states from the first to the last, excluding the present state ",
      "start": 976,
      "end": 1066,
      "loc": {
        "start": {
          "line": 32,
          "column": 8
        },
        "end": {
          "line": 32,
          "column": 98
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Get an array of states from the first to the last\n     * @return {object[]} An array of states\n     ",
      "start": 1109,
      "end": 1222,
      "loc": {
        "start": {
          "line": 35,
          "column": 4
        },
        "end": {
          "line": 38,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Trims the history down to the last 'x' number of entries\n     * @param {number} length - max number of state history entries\n     ",
      "start": 1343,
      "end": 1486,
      "loc": {
        "start": {
          "line": 42,
          "column": 4
        },
        "end": {
          "line": 45,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "**\n     * Automaticly updates the state of stateParent\n     * @example <caption>Binding to a React component</caption>\n     * componentDidMount(){\n     *     // Don't forget to unbind on unmount\n     *     mainStore.bindState(this);\n     * }\n     * @param stateParent\n     * @param {function} mapping - (string)=>string\n     * @param {boolean} forward\n     ",
      "start": 1662,
      "end": 2023,
      "loc": {
        "start": {
          "line": 50,
          "column": 4
        },
        "end": {
          "line": 60,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "**\n     * Unbinds the state of stateParent\n     * @example <caption>Unbinding to a React component</caption>\n     * componentWillUnmount(){\n     *     mainStore.unbindState(this);\n     * }\n     * @param stateParent\n     ",
      "start": 2305,
      "end": 2529,
      "loc": {
        "start": {
          "line": 67,
          "column": 4
        },
        "end": {
          "line": 74,
          "column": 7
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " the new state that will be transferred to the receiving state",
      "start": 3006,
      "end": 3070,
      "loc": {
        "start": {
          "line": 88,
          "column": 8
        },
        "end": {
          "line": 88,
          "column": 72
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Loop through all of the values in this store's state",
      "start": 3175,
      "end": 3230,
      "loc": {
        "start": {
          "line": 91,
          "column": 8
        },
        "end": {
          "line": 91,
          "column": 63
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Map the sender's key to the receiver",
      "start": 3300,
      "end": 3339,
      "loc": {
        "start": {
          "line": 93,
          "column": 12
        },
        "end": {
          "line": 93,
          "column": 51
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " If the mappedKey can be found in the receiver add the value to the new state",
      "start": 3410,
      "end": 3489,
      "loc": {
        "start": {
          "line": 95,
          "column": 12
        },
        "end": {
          "line": 95,
          "column": 91
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Send the new state to the receiving store",
      "start": 3622,
      "end": 3666,
      "loc": {
        "start": {
          "line": 99,
          "column": 8
        },
        "end": {
          "line": 99,
          "column": 52
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Get the previous state of the store\n     * @return {object} previous state\n     ",
      "start": 3930,
      "end": 4023,
      "loc": {
        "start": {
          "line": 106,
          "column": 4
        },
        "end": {
          "line": 109,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Set the store's state and optionally save the last state to history\n     * @param {object} newState\n     * @param {boolean} historyMode\n     * @example <caption>Set state and record previous state to history</caption>\n     * myStore.setState({userName: \"John Doe\"});\n     * @example <caption>Set state and forget about recording previous state to history</caption>\n     * myStore.setState({userName: \"Billy Bob\", false});\n     ",
      "start": 4179,
      "end": 4619,
      "loc": {
        "start": {
          "line": 114,
          "column": 4
        },
        "end": {
          "line": 122,
          "column": 7
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Save the old state",
      "start": 4780,
      "end": 4801,
      "loc": {
        "start": {
          "line": 126,
          "column": 8
        },
        "end": {
          "line": 126,
          "column": 29
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Update the state",
      "start": 4845,
      "end": 4864,
      "loc": {
        "start": {
          "line": 128,
          "column": 8
        },
        "end": {
          "line": 128,
          "column": 27
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Loop through list of changes and trigger their respective callbacks",
      "start": 5042,
      "end": 5112,
      "loc": {
        "start": {
          "line": 132,
          "column": 8
        },
        "end": {
          "line": 132,
          "column": 78
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Get the name of the changed property",
      "start": 5164,
      "end": 5203,
      "loc": {
        "start": {
          "line": 134,
          "column": 12
        },
        "end": {
          "line": 134,
          "column": 51
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Get the new and old values of the property",
      "start": 5255,
      "end": 5300,
      "loc": {
        "start": {
          "line": 136,
          "column": 12
        },
        "end": {
          "line": 136,
          "column": 57
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Trigger the property's callback",
      "start": 5416,
      "end": 5450,
      "loc": {
        "start": {
          "line": 139,
          "column": 12
        },
        "end": {
          "line": 139,
          "column": 46
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " @ts-ignore",
      "start": 5584,
      "end": 5597,
      "loc": {
        "start": {
          "line": 143,
          "column": 12
        },
        "end": {
          "line": 143,
          "column": 25
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Subscribe to changes in the state\n     * @param {function(newValue: *, oldValue: *)} callback\n     * @param {string} property - Name of the property to watch\n     * @example <caption>Trigger callback when userName is updated</caption>\n     * myStore.subscribeToChanges((newVal)=>{ console.log(\"userName changed to...\", newVal)}, \"userName\");\n     ",
      "start": 5886,
      "end": 6246,
      "loc": {
        "start": {
          "line": 152,
          "column": 4
        },
        "end": {
          "line": 158,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Remove subscription to changes in the state\n     * @param {function} callback\n     * @param {string} property - Name of the property to unsubscribe from\n     ",
      "start": 6720,
      "end": 6891,
      "loc": {
        "start": {
          "line": 170,
          "column": 4
        },
        "end": {
          "line": 174,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     *\n     * @param {object} oldState\n     * @param {object} newState\n     * @return {Array}\n     ",
      "start": 7236,
      "end": 7341,
      "loc": {
        "start": {
          "line": 182,
          "column": 4
        },
        "end": {
          "line": 187,
          "column": 7
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Loop through state properties looking for changes",
      "start": 7408,
      "end": 7460,
      "loc": {
        "start": {
          "line": 189,
          "column": 8
        },
        "end": {
          "line": 189,
          "column": 60
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Generate change list",
      "start": 7704,
      "end": 7727,
      "loc": {
        "start": {
          "line": 196,
          "column": 12
        },
        "end": {
          "line": 196,
          "column": 35
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Returns difference between two states in human-readable form\n     * @param {object} oldState\n     * @param {object} newState\n     * @return {string}\n     ",
      "start": 8009,
      "end": 8176,
      "loc": {
        "start": {
          "line": 206,
          "column": 4
        },
        "end": {
          "line": 211,
          "column": 7
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " TODO: Should this be private",
      "start": 8581,
      "end": 8612,
      "loc": {
        "start": {
          "line": 222,
          "column": 4
        },
        "end": {
          "line": 222,
          "column": 35
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "**\n     *\n     * @ignore\n     * @param property\n     * @param newValue\n     * @param oldValue\n     * @private\n     ",
      "start": 8617,
      "end": 8736,
      "loc": {
        "start": {
          "line": 223,
          "column": 4
        },
        "end": {
          "line": 230,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Returns change log of entire history in human-readable form\n     * @return {string}\n     ",
      "start": 9025,
      "end": 9127,
      "loc": {
        "start": {
          "line": 236,
          "column": 4
        },
        "end": {
          "line": 239,
          "column": 7
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "# sourceMappingURL=Store.js.map",
      "start": 9555,
      "end": 9588,
      "loc": {
        "start": {
          "line": 254,
          "column": 0
        },
        "end": {
          "line": 254,
          "column": 33
        }
      }
    }
  ],
  "tokens": [
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "use strict",
      "start": 0,
      "end": 12,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12,
      "end": 13,
      "loc": {
        "start": {
          "line": 1,
          "column": 12
        },
        "end": {
          "line": 1,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Object",
      "start": 14,
      "end": 20,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 20,
      "end": 21,
      "loc": {
        "start": {
          "line": 2,
          "column": 6
        },
        "end": {
          "line": 2,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "defineProperty",
      "start": 21,
      "end": 35,
      "loc": {
        "start": {
          "line": 2,
          "column": 7
        },
        "end": {
          "line": 2,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 35,
      "end": 36,
      "loc": {
        "start": {
          "line": 2,
          "column": 21
        },
        "end": {
          "line": 2,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "exports",
      "start": 36,
      "end": 43,
      "loc": {
        "start": {
          "line": 2,
          "column": 22
        },
        "end": {
          "line": 2,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 43,
      "end": 44,
      "loc": {
        "start": {
          "line": 2,
          "column": 29
        },
        "end": {
          "line": 2,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "__esModule",
      "start": 45,
      "end": 57,
      "loc": {
        "start": {
          "line": 2,
          "column": 31
        },
        "end": {
          "line": 2,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 57,
      "end": 58,
      "loc": {
        "start": {
          "line": 2,
          "column": 43
        },
        "end": {
          "line": 2,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 59,
      "end": 60,
      "loc": {
        "start": {
          "line": 2,
          "column": 45
        },
        "end": {
          "line": 2,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 61,
      "end": 66,
      "loc": {
        "start": {
          "line": 2,
          "column": 47
        },
        "end": {
          "line": 2,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 66,
      "end": 67,
      "loc": {
        "start": {
          "line": 2,
          "column": 52
        },
        "end": {
          "line": 2,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 68,
      "end": 72,
      "loc": {
        "start": {
          "line": 2,
          "column": 54
        },
        "end": {
          "line": 2,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 73,
      "end": 74,
      "loc": {
        "start": {
          "line": 2,
          "column": 59
        },
        "end": {
          "line": 2,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 74,
      "end": 75,
      "loc": {
        "start": {
          "line": 2,
          "column": 60
        },
        "end": {
          "line": 2,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 75,
      "end": 76,
      "loc": {
        "start": {
          "line": 2,
          "column": 61
        },
        "end": {
          "line": 2,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "exports",
      "start": 77,
      "end": 84,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 84,
      "end": 85,
      "loc": {
        "start": {
          "line": 3,
          "column": 7
        },
        "end": {
          "line": 3,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Store",
      "start": 85,
      "end": 90,
      "loc": {
        "start": {
          "line": 3,
          "column": 8
        },
        "end": {
          "line": 3,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 91,
      "end": 92,
      "loc": {
        "start": {
          "line": 3,
          "column": 14
        },
        "end": {
          "line": 3,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "void",
        "keyword": "void",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "void",
      "start": 93,
      "end": 97,
      "loc": {
        "start": {
          "line": 3,
          "column": 16
        },
        "end": {
          "line": 3,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 98,
      "end": 99,
      "loc": {
        "start": {
          "line": 3,
          "column": 21
        },
        "end": {
          "line": 3,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 99,
      "end": 100,
      "loc": {
        "start": {
          "line": 3,
          "column": 22
        },
        "end": {
          "line": 3,
          "column": 23
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * Created by sam_g on 2/7/2017.\n ",
      "start": 101,
      "end": 141,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 142,
      "end": 145,
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_",
      "start": 146,
      "end": 147,
      "loc": {
        "start": {
          "line": 7,
          "column": 4
        },
        "end": {
          "line": 7,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 148,
      "end": 149,
      "loc": {
        "start": {
          "line": 7,
          "column": 6
        },
        "end": {
          "line": 7,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "require",
      "start": 150,
      "end": 157,
      "loc": {
        "start": {
          "line": 7,
          "column": 8
        },
        "end": {
          "line": 7,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 157,
      "end": 158,
      "loc": {
        "start": {
          "line": 7,
          "column": 15
        },
        "end": {
          "line": 7,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "lodash",
      "start": 158,
      "end": 166,
      "loc": {
        "start": {
          "line": 7,
          "column": 16
        },
        "end": {
          "line": 7,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 166,
      "end": 167,
      "loc": {
        "start": {
          "line": 7,
          "column": 24
        },
        "end": {
          "line": 7,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 167,
      "end": 168,
      "loc": {
        "start": {
          "line": 7,
          "column": 25
        },
        "end": {
          "line": 7,
          "column": 26
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " import * as areEqual from 'fbjs/lib/areEqual';s",
      "start": 169,
      "end": 219,
      "loc": {
        "start": {
          "line": 8,
          "column": 0
        },
        "end": {
          "line": 8,
          "column": 50
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* Simple data store with history recording and on change callbacks ",
      "start": 220,
      "end": 291,
      "loc": {
        "start": {
          "line": 9,
          "column": 0
        },
        "end": {
          "line": 9,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 292,
      "end": 295,
      "loc": {
        "start": {
          "line": 10,
          "column": 0
        },
        "end": {
          "line": 10,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Store",
      "start": 296,
      "end": 301,
      "loc": {
        "start": {
          "line": 10,
          "column": 4
        },
        "end": {
          "line": 10,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 302,
      "end": 303,
      "loc": {
        "start": {
          "line": 10,
          "column": 10
        },
        "end": {
          "line": 10,
          "column": 11
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* @class ",
      "start": 304,
      "end": 317,
      "loc": {
        "start": {
          "line": 10,
          "column": 12
        },
        "end": {
          "line": 10,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 318,
      "end": 319,
      "loc": {
        "start": {
          "line": 10,
          "column": 26
        },
        "end": {
          "line": 10,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 319,
      "end": 327,
      "loc": {
        "start": {
          "line": 10,
          "column": 27
        },
        "end": {
          "line": 10,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 328,
      "end": 329,
      "loc": {
        "start": {
          "line": 10,
          "column": 36
        },
        "end": {
          "line": 10,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 329,
      "end": 330,
      "loc": {
        "start": {
          "line": 10,
          "column": 37
        },
        "end": {
          "line": 10,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 331,
      "end": 332,
      "loc": {
        "start": {
          "line": 10,
          "column": 39
        },
        "end": {
          "line": 10,
          "column": 40
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "**\n     * Creates a store and sets its initial state to the optional value passed in\n     * @param state\n     ",
      "start": 337,
      "end": 451,
      "loc": {
        "start": {
          "line": 11,
          "column": 4
        },
        "end": {
          "line": 14,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 456,
      "end": 464,
      "loc": {
        "start": {
          "line": 15,
          "column": 4
        },
        "end": {
          "line": 15,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Store",
      "start": 465,
      "end": 470,
      "loc": {
        "start": {
          "line": 15,
          "column": 13
        },
        "end": {
          "line": 15,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 470,
      "end": 471,
      "loc": {
        "start": {
          "line": 15,
          "column": 18
        },
        "end": {
          "line": 15,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 471,
      "end": 476,
      "loc": {
        "start": {
          "line": 15,
          "column": 19
        },
        "end": {
          "line": 15,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 476,
      "end": 477,
      "loc": {
        "start": {
          "line": 15,
          "column": 24
        },
        "end": {
          "line": 15,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 478,
      "end": 479,
      "loc": {
        "start": {
          "line": 15,
          "column": 26
        },
        "end": {
          "line": 15,
          "column": 27
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "**\n         *\n         * @ignore\n         * @type {any[]}\n         * @private\n         ",
      "start": 488,
      "end": 579,
      "loc": {
        "start": {
          "line": 16,
          "column": 8
        },
        "end": {
          "line": 21,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 588,
      "end": 592,
      "loc": {
        "start": {
          "line": 22,
          "column": 8
        },
        "end": {
          "line": 22,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 592,
      "end": 593,
      "loc": {
        "start": {
          "line": 22,
          "column": 12
        },
        "end": {
          "line": 22,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_boundStates",
      "start": 593,
      "end": 605,
      "loc": {
        "start": {
          "line": 22,
          "column": 13
        },
        "end": {
          "line": 22,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 606,
      "end": 607,
      "loc": {
        "start": {
          "line": 22,
          "column": 26
        },
        "end": {
          "line": 22,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 608,
      "end": 609,
      "loc": {
        "start": {
          "line": 22,
          "column": 28
        },
        "end": {
          "line": 22,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 609,
      "end": 610,
      "loc": {
        "start": {
          "line": 22,
          "column": 29
        },
        "end": {
          "line": 22,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 610,
      "end": 611,
      "loc": {
        "start": {
          "line": 22,
          "column": 30
        },
        "end": {
          "line": 22,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 620,
      "end": 624,
      "loc": {
        "start": {
          "line": 23,
          "column": 8
        },
        "end": {
          "line": 23,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 624,
      "end": 625,
      "loc": {
        "start": {
          "line": 23,
          "column": 12
        },
        "end": {
          "line": 23,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "maxHistoryLength",
      "start": 625,
      "end": 641,
      "loc": {
        "start": {
          "line": 23,
          "column": 13
        },
        "end": {
          "line": 23,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 642,
      "end": 643,
      "loc": {
        "start": {
          "line": 23,
          "column": 30
        },
        "end": {
          "line": 23,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 32,
      "start": 644,
      "end": 646,
      "loc": {
        "start": {
          "line": 23,
          "column": 32
        },
        "end": {
          "line": 23,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 646,
      "end": 647,
      "loc": {
        "start": {
          "line": 23,
          "column": 34
        },
        "end": {
          "line": 23,
          "column": 35
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* @private {function[]} ",
      "start": 656,
      "end": 684,
      "loc": {
        "start": {
          "line": 24,
          "column": 8
        },
        "end": {
          "line": 24,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 693,
      "end": 697,
      "loc": {
        "start": {
          "line": 25,
          "column": 8
        },
        "end": {
          "line": 25,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 697,
      "end": 698,
      "loc": {
        "start": {
          "line": 25,
          "column": 12
        },
        "end": {
          "line": 25,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onChangeCallbacks",
      "start": 698,
      "end": 715,
      "loc": {
        "start": {
          "line": 25,
          "column": 13
        },
        "end": {
          "line": 25,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 716,
      "end": 717,
      "loc": {
        "start": {
          "line": 25,
          "column": 31
        },
        "end": {
          "line": 25,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 718,
      "end": 719,
      "loc": {
        "start": {
          "line": 25,
          "column": 33
        },
        "end": {
          "line": 25,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "__anyChange",
      "start": 732,
      "end": 743,
      "loc": {
        "start": {
          "line": 26,
          "column": 12
        },
        "end": {
          "line": 26,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 743,
      "end": 744,
      "loc": {
        "start": {
          "line": 26,
          "column": 23
        },
        "end": {
          "line": 26,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 745,
      "end": 746,
      "loc": {
        "start": {
          "line": 26,
          "column": 25
        },
        "end": {
          "line": 26,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 746,
      "end": 747,
      "loc": {
        "start": {
          "line": 26,
          "column": 26
        },
        "end": {
          "line": 26,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 756,
      "end": 757,
      "loc": {
        "start": {
          "line": 27,
          "column": 8
        },
        "end": {
          "line": 27,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 757,
      "end": 758,
      "loc": {
        "start": {
          "line": 27,
          "column": 9
        },
        "end": {
          "line": 27,
          "column": 10
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* @property {object} [state={}] state - An object that represents the present state ",
      "start": 767,
      "end": 855,
      "loc": {
        "start": {
          "line": 28,
          "column": 8
        },
        "end": {
          "line": 28,
          "column": 96
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 864,
      "end": 868,
      "loc": {
        "start": {
          "line": 29,
          "column": 8
        },
        "end": {
          "line": 29,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 868,
      "end": 869,
      "loc": {
        "start": {
          "line": 29,
          "column": 12
        },
        "end": {
          "line": 29,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 869,
      "end": 874,
      "loc": {
        "start": {
          "line": 29,
          "column": 13
        },
        "end": {
          "line": 29,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 875,
      "end": 876,
      "loc": {
        "start": {
          "line": 29,
          "column": 19
        },
        "end": {
          "line": 29,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 877,
      "end": 882,
      "loc": {
        "start": {
          "line": 29,
          "column": 21
        },
        "end": {
          "line": 29,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 883,
      "end": 885,
      "loc": {
        "start": {
          "line": 29,
          "column": 27
        },
        "end": {
          "line": 29,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 886,
      "end": 887,
      "loc": {
        "start": {
          "line": 29,
          "column": 30
        },
        "end": {
          "line": 29,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 887,
      "end": 888,
      "loc": {
        "start": {
          "line": 29,
          "column": 31
        },
        "end": {
          "line": 29,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 888,
      "end": 889,
      "loc": {
        "start": {
          "line": 29,
          "column": 32
        },
        "end": {
          "line": 29,
          "column": 33
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* @private ",
      "start": 898,
      "end": 913,
      "loc": {
        "start": {
          "line": 30,
          "column": 8
        },
        "end": {
          "line": 30,
          "column": 23
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " @ts-ignore",
      "start": 914,
      "end": 927,
      "loc": {
        "start": {
          "line": 30,
          "column": 24
        },
        "end": {
          "line": 30,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 936,
      "end": 940,
      "loc": {
        "start": {
          "line": 31,
          "column": 8
        },
        "end": {
          "line": 31,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 940,
      "end": 941,
      "loc": {
        "start": {
          "line": 31,
          "column": 12
        },
        "end": {
          "line": 31,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 941,
      "end": 946,
      "loc": {
        "start": {
          "line": 31,
          "column": 13
        },
        "end": {
          "line": 31,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 946,
      "end": 947,
      "loc": {
        "start": {
          "line": 31,
          "column": 18
        },
        "end": {
          "line": 31,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "__time",
      "start": 947,
      "end": 953,
      "loc": {
        "start": {
          "line": 31,
          "column": 19
        },
        "end": {
          "line": 31,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 954,
      "end": 955,
      "loc": {
        "start": {
          "line": 31,
          "column": 26
        },
        "end": {
          "line": 31,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Date",
      "start": 956,
      "end": 960,
      "loc": {
        "start": {
          "line": 31,
          "column": 28
        },
        "end": {
          "line": 31,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 960,
      "end": 961,
      "loc": {
        "start": {
          "line": 31,
          "column": 32
        },
        "end": {
          "line": 31,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "now",
      "start": 961,
      "end": 964,
      "loc": {
        "start": {
          "line": 31,
          "column": 33
        },
        "end": {
          "line": 31,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 964,
      "end": 965,
      "loc": {
        "start": {
          "line": 31,
          "column": 36
        },
        "end": {
          "line": 31,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 965,
      "end": 966,
      "loc": {
        "start": {
          "line": 31,
          "column": 37
        },
        "end": {
          "line": 31,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 966,
      "end": 967,
      "loc": {
        "start": {
          "line": 31,
          "column": 38
        },
        "end": {
          "line": 31,
          "column": 39
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* @private An array of states from the first to the last, excluding the present state ",
      "start": 976,
      "end": 1066,
      "loc": {
        "start": {
          "line": 32,
          "column": 8
        },
        "end": {
          "line": 32,
          "column": 98
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1075,
      "end": 1079,
      "loc": {
        "start": {
          "line": 33,
          "column": 8
        },
        "end": {
          "line": 33,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1079,
      "end": 1080,
      "loc": {
        "start": {
          "line": 33,
          "column": 12
        },
        "end": {
          "line": 33,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "stateHistory",
      "start": 1080,
      "end": 1092,
      "loc": {
        "start": {
          "line": 33,
          "column": 13
        },
        "end": {
          "line": 33,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1093,
      "end": 1094,
      "loc": {
        "start": {
          "line": 33,
          "column": 26
        },
        "end": {
          "line": 33,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1095,
      "end": 1096,
      "loc": {
        "start": {
          "line": 33,
          "column": 28
        },
        "end": {
          "line": 33,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1096,
      "end": 1097,
      "loc": {
        "start": {
          "line": 33,
          "column": 29
        },
        "end": {
          "line": 33,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1097,
      "end": 1098,
      "loc": {
        "start": {
          "line": 33,
          "column": 30
        },
        "end": {
          "line": 33,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1103,
      "end": 1104,
      "loc": {
        "start": {
          "line": 34,
          "column": 4
        },
        "end": {
          "line": 34,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Get an array of states from the first to the last\n     * @return {object[]} An array of states\n     ",
      "start": 1109,
      "end": 1222,
      "loc": {
        "start": {
          "line": 35,
          "column": 4
        },
        "end": {
          "line": 38,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Store",
      "start": 1227,
      "end": 1232,
      "loc": {
        "start": {
          "line": 39,
          "column": 4
        },
        "end": {
          "line": 39,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1232,
      "end": 1233,
      "loc": {
        "start": {
          "line": 39,
          "column": 9
        },
        "end": {
          "line": 39,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 1233,
      "end": 1242,
      "loc": {
        "start": {
          "line": 39,
          "column": 10
        },
        "end": {
          "line": 39,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1242,
      "end": 1243,
      "loc": {
        "start": {
          "line": 39,
          "column": 19
        },
        "end": {
          "line": 39,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getFullHistory",
      "start": 1243,
      "end": 1257,
      "loc": {
        "start": {
          "line": 39,
          "column": 20
        },
        "end": {
          "line": 39,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1258,
      "end": 1259,
      "loc": {
        "start": {
          "line": 39,
          "column": 35
        },
        "end": {
          "line": 39,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 1260,
      "end": 1268,
      "loc": {
        "start": {
          "line": 39,
          "column": 37
        },
        "end": {
          "line": 39,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1269,
      "end": 1270,
      "loc": {
        "start": {
          "line": 39,
          "column": 46
        },
        "end": {
          "line": 39,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1270,
      "end": 1271,
      "loc": {
        "start": {
          "line": 39,
          "column": 47
        },
        "end": {
          "line": 39,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1272,
      "end": 1273,
      "loc": {
        "start": {
          "line": 39,
          "column": 49
        },
        "end": {
          "line": 39,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 1282,
      "end": 1288,
      "loc": {
        "start": {
          "line": 40,
          "column": 8
        },
        "end": {
          "line": 40,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_",
      "start": 1289,
      "end": 1290,
      "loc": {
        "start": {
          "line": 40,
          "column": 15
        },
        "end": {
          "line": 40,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1290,
      "end": 1291,
      "loc": {
        "start": {
          "line": 40,
          "column": 16
        },
        "end": {
          "line": 40,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "concat",
      "start": 1291,
      "end": 1297,
      "loc": {
        "start": {
          "line": 40,
          "column": 17
        },
        "end": {
          "line": 40,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1297,
      "end": 1298,
      "loc": {
        "start": {
          "line": 40,
          "column": 23
        },
        "end": {
          "line": 40,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1298,
      "end": 1302,
      "loc": {
        "start": {
          "line": 40,
          "column": 24
        },
        "end": {
          "line": 40,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1302,
      "end": 1303,
      "loc": {
        "start": {
          "line": 40,
          "column": 28
        },
        "end": {
          "line": 40,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "stateHistory",
      "start": 1303,
      "end": 1315,
      "loc": {
        "start": {
          "line": 40,
          "column": 29
        },
        "end": {
          "line": 40,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1315,
      "end": 1316,
      "loc": {
        "start": {
          "line": 40,
          "column": 41
        },
        "end": {
          "line": 40,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1317,
      "end": 1318,
      "loc": {
        "start": {
          "line": 40,
          "column": 43
        },
        "end": {
          "line": 40,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1318,
      "end": 1322,
      "loc": {
        "start": {
          "line": 40,
          "column": 44
        },
        "end": {
          "line": 40,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1322,
      "end": 1323,
      "loc": {
        "start": {
          "line": 40,
          "column": 48
        },
        "end": {
          "line": 40,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 1323,
      "end": 1328,
      "loc": {
        "start": {
          "line": 40,
          "column": 49
        },
        "end": {
          "line": 40,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1328,
      "end": 1329,
      "loc": {
        "start": {
          "line": 40,
          "column": 54
        },
        "end": {
          "line": 40,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1329,
      "end": 1330,
      "loc": {
        "start": {
          "line": 40,
          "column": 55
        },
        "end": {
          "line": 40,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1330,
      "end": 1331,
      "loc": {
        "start": {
          "line": 40,
          "column": 56
        },
        "end": {
          "line": 40,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1336,
      "end": 1337,
      "loc": {
        "start": {
          "line": 41,
          "column": 4
        },
        "end": {
          "line": 41,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1337,
      "end": 1338,
      "loc": {
        "start": {
          "line": 41,
          "column": 5
        },
        "end": {
          "line": 41,
          "column": 6
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Trims the history down to the last 'x' number of entries\n     * @param {number} length - max number of state history entries\n     ",
      "start": 1343,
      "end": 1486,
      "loc": {
        "start": {
          "line": 42,
          "column": 4
        },
        "end": {
          "line": 45,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Store",
      "start": 1491,
      "end": 1496,
      "loc": {
        "start": {
          "line": 46,
          "column": 4
        },
        "end": {
          "line": 46,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1496,
      "end": 1497,
      "loc": {
        "start": {
          "line": 46,
          "column": 9
        },
        "end": {
          "line": 46,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 1497,
      "end": 1506,
      "loc": {
        "start": {
          "line": 46,
          "column": 10
        },
        "end": {
          "line": 46,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1506,
      "end": 1507,
      "loc": {
        "start": {
          "line": 46,
          "column": 19
        },
        "end": {
          "line": 46,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "trimHistory",
      "start": 1507,
      "end": 1518,
      "loc": {
        "start": {
          "line": 46,
          "column": 20
        },
        "end": {
          "line": 46,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1519,
      "end": 1520,
      "loc": {
        "start": {
          "line": 46,
          "column": 32
        },
        "end": {
          "line": 46,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 1521,
      "end": 1529,
      "loc": {
        "start": {
          "line": 46,
          "column": 34
        },
        "end": {
          "line": 46,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1530,
      "end": 1531,
      "loc": {
        "start": {
          "line": 46,
          "column": 43
        },
        "end": {
          "line": 46,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 1531,
      "end": 1537,
      "loc": {
        "start": {
          "line": 46,
          "column": 44
        },
        "end": {
          "line": 46,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1537,
      "end": 1538,
      "loc": {
        "start": {
          "line": 46,
          "column": 50
        },
        "end": {
          "line": 46,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1539,
      "end": 1540,
      "loc": {
        "start": {
          "line": 46,
          "column": 52
        },
        "end": {
          "line": 46,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1549,
      "end": 1551,
      "loc": {
        "start": {
          "line": 47,
          "column": 8
        },
        "end": {
          "line": 47,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1552,
      "end": 1553,
      "loc": {
        "start": {
          "line": 47,
          "column": 11
        },
        "end": {
          "line": 47,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 1553,
      "end": 1559,
      "loc": {
        "start": {
          "line": 47,
          "column": 12
        },
        "end": {
          "line": 47,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 1560,
      "end": 1563,
      "loc": {
        "start": {
          "line": 47,
          "column": 19
        },
        "end": {
          "line": 47,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "void",
        "keyword": "void",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "void",
      "start": 1564,
      "end": 1568,
      "loc": {
        "start": {
          "line": 47,
          "column": 23
        },
        "end": {
          "line": 47,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 1569,
      "end": 1570,
      "loc": {
        "start": {
          "line": 47,
          "column": 28
        },
        "end": {
          "line": 47,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1570,
      "end": 1571,
      "loc": {
        "start": {
          "line": 47,
          "column": 29
        },
        "end": {
          "line": 47,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1572,
      "end": 1573,
      "loc": {
        "start": {
          "line": 47,
          "column": 31
        },
        "end": {
          "line": 47,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 1574,
      "end": 1580,
      "loc": {
        "start": {
          "line": 47,
          "column": 33
        },
        "end": {
          "line": 47,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1581,
      "end": 1582,
      "loc": {
        "start": {
          "line": 47,
          "column": 40
        },
        "end": {
          "line": 47,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 32,
      "start": 1583,
      "end": 1585,
      "loc": {
        "start": {
          "line": 47,
          "column": 42
        },
        "end": {
          "line": 47,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1585,
      "end": 1586,
      "loc": {
        "start": {
          "line": 47,
          "column": 44
        },
        "end": {
          "line": 47,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1587,
      "end": 1588,
      "loc": {
        "start": {
          "line": 47,
          "column": 46
        },
        "end": {
          "line": 47,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1597,
      "end": 1601,
      "loc": {
        "start": {
          "line": 48,
          "column": 8
        },
        "end": {
          "line": 48,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1601,
      "end": 1602,
      "loc": {
        "start": {
          "line": 48,
          "column": 12
        },
        "end": {
          "line": 48,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "stateHistory",
      "start": 1602,
      "end": 1614,
      "loc": {
        "start": {
          "line": 48,
          "column": 13
        },
        "end": {
          "line": 48,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1615,
      "end": 1616,
      "loc": {
        "start": {
          "line": 48,
          "column": 26
        },
        "end": {
          "line": 48,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1617,
      "end": 1621,
      "loc": {
        "start": {
          "line": 48,
          "column": 28
        },
        "end": {
          "line": 48,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1621,
      "end": 1622,
      "loc": {
        "start": {
          "line": 48,
          "column": 32
        },
        "end": {
          "line": 48,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "stateHistory",
      "start": 1622,
      "end": 1634,
      "loc": {
        "start": {
          "line": 48,
          "column": 33
        },
        "end": {
          "line": 48,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1634,
      "end": 1635,
      "loc": {
        "start": {
          "line": 48,
          "column": 45
        },
        "end": {
          "line": 48,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "slice",
      "start": 1635,
      "end": 1640,
      "loc": {
        "start": {
          "line": 48,
          "column": 46
        },
        "end": {
          "line": 48,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1640,
      "end": 1641,
      "loc": {
        "start": {
          "line": 48,
          "column": 51
        },
        "end": {
          "line": 48,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 1641,
      "end": 1642,
      "loc": {
        "start": {
          "line": 48,
          "column": 52
        },
        "end": {
          "line": 48,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 1642,
      "end": 1648,
      "loc": {
        "start": {
          "line": 48,
          "column": 53
        },
        "end": {
          "line": 48,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1648,
      "end": 1649,
      "loc": {
        "start": {
          "line": 48,
          "column": 59
        },
        "end": {
          "line": 48,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1649,
      "end": 1650,
      "loc": {
        "start": {
          "line": 48,
          "column": 60
        },
        "end": {
          "line": 48,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1655,
      "end": 1656,
      "loc": {
        "start": {
          "line": 49,
          "column": 4
        },
        "end": {
          "line": 49,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1656,
      "end": 1657,
      "loc": {
        "start": {
          "line": 49,
          "column": 5
        },
        "end": {
          "line": 49,
          "column": 6
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "**\n     * Automaticly updates the state of stateParent\n     * @example <caption>Binding to a React component</caption>\n     * componentDidMount(){\n     *     // Don't forget to unbind on unmount\n     *     mainStore.bindState(this);\n     * }\n     * @param stateParent\n     * @param {function} mapping - (string)=>string\n     * @param {boolean} forward\n     ",
      "start": 1662,
      "end": 2023,
      "loc": {
        "start": {
          "line": 50,
          "column": 4
        },
        "end": {
          "line": 60,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Store",
      "start": 2028,
      "end": 2033,
      "loc": {
        "start": {
          "line": 61,
          "column": 4
        },
        "end": {
          "line": 61,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2033,
      "end": 2034,
      "loc": {
        "start": {
          "line": 61,
          "column": 9
        },
        "end": {
          "line": 61,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 2034,
      "end": 2043,
      "loc": {
        "start": {
          "line": 61,
          "column": 10
        },
        "end": {
          "line": 61,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2043,
      "end": 2044,
      "loc": {
        "start": {
          "line": 61,
          "column": 19
        },
        "end": {
          "line": 61,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bindState",
      "start": 2044,
      "end": 2053,
      "loc": {
        "start": {
          "line": 61,
          "column": 20
        },
        "end": {
          "line": 61,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2054,
      "end": 2055,
      "loc": {
        "start": {
          "line": 61,
          "column": 30
        },
        "end": {
          "line": 61,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 2056,
      "end": 2064,
      "loc": {
        "start": {
          "line": 61,
          "column": 32
        },
        "end": {
          "line": 61,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2065,
      "end": 2066,
      "loc": {
        "start": {
          "line": 61,
          "column": 41
        },
        "end": {
          "line": 61,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "stateParent",
      "start": 2066,
      "end": 2077,
      "loc": {
        "start": {
          "line": 61,
          "column": 42
        },
        "end": {
          "line": 61,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2077,
      "end": 2078,
      "loc": {
        "start": {
          "line": 61,
          "column": 53
        },
        "end": {
          "line": 61,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "mapping",
      "start": 2079,
      "end": 2086,
      "loc": {
        "start": {
          "line": 61,
          "column": 55
        },
        "end": {
          "line": 61,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2086,
      "end": 2087,
      "loc": {
        "start": {
          "line": 61,
          "column": 62
        },
        "end": {
          "line": 61,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "forward",
      "start": 2088,
      "end": 2095,
      "loc": {
        "start": {
          "line": 61,
          "column": 64
        },
        "end": {
          "line": 61,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2095,
      "end": 2096,
      "loc": {
        "start": {
          "line": 61,
          "column": 71
        },
        "end": {
          "line": 61,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2097,
      "end": 2098,
      "loc": {
        "start": {
          "line": 61,
          "column": 73
        },
        "end": {
          "line": 61,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2107,
      "end": 2109,
      "loc": {
        "start": {
          "line": 62,
          "column": 8
        },
        "end": {
          "line": 62,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2110,
      "end": 2111,
      "loc": {
        "start": {
          "line": 62,
          "column": 11
        },
        "end": {
          "line": 62,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "forward",
      "start": 2111,
      "end": 2118,
      "loc": {
        "start": {
          "line": 62,
          "column": 12
        },
        "end": {
          "line": 62,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 2119,
      "end": 2122,
      "loc": {
        "start": {
          "line": 62,
          "column": 20
        },
        "end": {
          "line": 62,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "void",
        "keyword": "void",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "void",
      "start": 2123,
      "end": 2127,
      "loc": {
        "start": {
          "line": 62,
          "column": 24
        },
        "end": {
          "line": 62,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 2128,
      "end": 2129,
      "loc": {
        "start": {
          "line": 62,
          "column": 29
        },
        "end": {
          "line": 62,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2129,
      "end": 2130,
      "loc": {
        "start": {
          "line": 62,
          "column": 30
        },
        "end": {
          "line": 62,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2131,
      "end": 2132,
      "loc": {
        "start": {
          "line": 62,
          "column": 32
        },
        "end": {
          "line": 62,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "forward",
      "start": 2133,
      "end": 2140,
      "loc": {
        "start": {
          "line": 62,
          "column": 34
        },
        "end": {
          "line": 62,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2141,
      "end": 2142,
      "loc": {
        "start": {
          "line": 62,
          "column": 42
        },
        "end": {
          "line": 62,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 2143,
      "end": 2147,
      "loc": {
        "start": {
          "line": 62,
          "column": 44
        },
        "end": {
          "line": 62,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2147,
      "end": 2148,
      "loc": {
        "start": {
          "line": 62,
          "column": 48
        },
        "end": {
          "line": 62,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2149,
      "end": 2150,
      "loc": {
        "start": {
          "line": 62,
          "column": 50
        },
        "end": {
          "line": 62,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2159,
      "end": 2163,
      "loc": {
        "start": {
          "line": 63,
          "column": 8
        },
        "end": {
          "line": 63,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2163,
      "end": 2164,
      "loc": {
        "start": {
          "line": 63,
          "column": 12
        },
        "end": {
          "line": 63,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_boundStates",
      "start": 2164,
      "end": 2176,
      "loc": {
        "start": {
          "line": 63,
          "column": 13
        },
        "end": {
          "line": 63,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2176,
      "end": 2177,
      "loc": {
        "start": {
          "line": 63,
          "column": 25
        },
        "end": {
          "line": 63,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "push",
      "start": 2177,
      "end": 2181,
      "loc": {
        "start": {
          "line": 63,
          "column": 26
        },
        "end": {
          "line": 63,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2181,
      "end": 2182,
      "loc": {
        "start": {
          "line": 63,
          "column": 30
        },
        "end": {
          "line": 63,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2182,
      "end": 2183,
      "loc": {
        "start": {
          "line": 63,
          "column": 31
        },
        "end": {
          "line": 63,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "boundState",
      "start": 2184,
      "end": 2194,
      "loc": {
        "start": {
          "line": 63,
          "column": 33
        },
        "end": {
          "line": 63,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2194,
      "end": 2195,
      "loc": {
        "start": {
          "line": 63,
          "column": 43
        },
        "end": {
          "line": 63,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "stateParent",
      "start": 2196,
      "end": 2207,
      "loc": {
        "start": {
          "line": 63,
          "column": 45
        },
        "end": {
          "line": 63,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2207,
      "end": 2208,
      "loc": {
        "start": {
          "line": 63,
          "column": 56
        },
        "end": {
          "line": 63,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "mapper",
      "start": 2209,
      "end": 2215,
      "loc": {
        "start": {
          "line": 63,
          "column": 58
        },
        "end": {
          "line": 63,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2215,
      "end": 2216,
      "loc": {
        "start": {
          "line": 63,
          "column": 64
        },
        "end": {
          "line": 63,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "mapping",
      "start": 2217,
      "end": 2224,
      "loc": {
        "start": {
          "line": 63,
          "column": 66
        },
        "end": {
          "line": 63,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2225,
      "end": 2226,
      "loc": {
        "start": {
          "line": 63,
          "column": 74
        },
        "end": {
          "line": 63,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2226,
      "end": 2227,
      "loc": {
        "start": {
          "line": 63,
          "column": 75
        },
        "end": {
          "line": 63,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2227,
      "end": 2228,
      "loc": {
        "start": {
          "line": 63,
          "column": 76
        },
        "end": {
          "line": 63,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2237,
      "end": 2239,
      "loc": {
        "start": {
          "line": 64,
          "column": 8
        },
        "end": {
          "line": 64,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2240,
      "end": 2241,
      "loc": {
        "start": {
          "line": 64,
          "column": 11
        },
        "end": {
          "line": 64,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "forward",
      "start": 2241,
      "end": 2248,
      "loc": {
        "start": {
          "line": 64,
          "column": 12
        },
        "end": {
          "line": 64,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2248,
      "end": 2249,
      "loc": {
        "start": {
          "line": 64,
          "column": 19
        },
        "end": {
          "line": 64,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2262,
      "end": 2266,
      "loc": {
        "start": {
          "line": 65,
          "column": 12
        },
        "end": {
          "line": 65,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2266,
      "end": 2267,
      "loc": {
        "start": {
          "line": 65,
          "column": 16
        },
        "end": {
          "line": 65,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "forwardState",
      "start": 2267,
      "end": 2279,
      "loc": {
        "start": {
          "line": 65,
          "column": 17
        },
        "end": {
          "line": 65,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2279,
      "end": 2280,
      "loc": {
        "start": {
          "line": 65,
          "column": 29
        },
        "end": {
          "line": 65,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "stateParent",
      "start": 2280,
      "end": 2291,
      "loc": {
        "start": {
          "line": 65,
          "column": 30
        },
        "end": {
          "line": 65,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2291,
      "end": 2292,
      "loc": {
        "start": {
          "line": 65,
          "column": 41
        },
        "end": {
          "line": 65,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2292,
      "end": 2293,
      "loc": {
        "start": {
          "line": 65,
          "column": 42
        },
        "end": {
          "line": 65,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2298,
      "end": 2299,
      "loc": {
        "start": {
          "line": 66,
          "column": 4
        },
        "end": {
          "line": 66,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2299,
      "end": 2300,
      "loc": {
        "start": {
          "line": 66,
          "column": 5
        },
        "end": {
          "line": 66,
          "column": 6
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "**\n     * Unbinds the state of stateParent\n     * @example <caption>Unbinding to a React component</caption>\n     * componentWillUnmount(){\n     *     mainStore.unbindState(this);\n     * }\n     * @param stateParent\n     ",
      "start": 2305,
      "end": 2529,
      "loc": {
        "start": {
          "line": 67,
          "column": 4
        },
        "end": {
          "line": 74,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Store",
      "start": 2534,
      "end": 2539,
      "loc": {
        "start": {
          "line": 75,
          "column": 4
        },
        "end": {
          "line": 75,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2539,
      "end": 2540,
      "loc": {
        "start": {
          "line": 75,
          "column": 9
        },
        "end": {
          "line": 75,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 2540,
      "end": 2549,
      "loc": {
        "start": {
          "line": 75,
          "column": 10
        },
        "end": {
          "line": 75,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2549,
      "end": 2550,
      "loc": {
        "start": {
          "line": 75,
          "column": 19
        },
        "end": {
          "line": 75,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "unbindState",
      "start": 2550,
      "end": 2561,
      "loc": {
        "start": {
          "line": 75,
          "column": 20
        },
        "end": {
          "line": 75,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2562,
      "end": 2563,
      "loc": {
        "start": {
          "line": 75,
          "column": 32
        },
        "end": {
          "line": 75,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 2564,
      "end": 2572,
      "loc": {
        "start": {
          "line": 75,
          "column": 34
        },
        "end": {
          "line": 75,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2573,
      "end": 2574,
      "loc": {
        "start": {
          "line": 75,
          "column": 43
        },
        "end": {
          "line": 75,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "stateParent",
      "start": 2574,
      "end": 2585,
      "loc": {
        "start": {
          "line": 75,
          "column": 44
        },
        "end": {
          "line": 75,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2585,
      "end": 2586,
      "loc": {
        "start": {
          "line": 75,
          "column": 55
        },
        "end": {
          "line": 75,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2587,
      "end": 2588,
      "loc": {
        "start": {
          "line": 75,
          "column": 57
        },
        "end": {
          "line": 75,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 2597,
      "end": 2600,
      "loc": {
        "start": {
          "line": 76,
          "column": 8
        },
        "end": {
          "line": 76,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "index",
      "start": 2601,
      "end": 2606,
      "loc": {
        "start": {
          "line": 76,
          "column": 12
        },
        "end": {
          "line": 76,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2607,
      "end": 2608,
      "loc": {
        "start": {
          "line": 76,
          "column": 18
        },
        "end": {
          "line": 76,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 2609,
      "end": 2610,
      "loc": {
        "start": {
          "line": 76,
          "column": 20
        },
        "end": {
          "line": 76,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 2610,
      "end": 2611,
      "loc": {
        "start": {
          "line": 76,
          "column": 21
        },
        "end": {
          "line": 76,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2611,
      "end": 2612,
      "loc": {
        "start": {
          "line": 76,
          "column": 22
        },
        "end": {
          "line": 76,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 2621,
      "end": 2624,
      "loc": {
        "start": {
          "line": 77,
          "column": 8
        },
        "end": {
          "line": 77,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "boundStates",
      "start": 2625,
      "end": 2636,
      "loc": {
        "start": {
          "line": 77,
          "column": 12
        },
        "end": {
          "line": 77,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2637,
      "end": 2638,
      "loc": {
        "start": {
          "line": 77,
          "column": 24
        },
        "end": {
          "line": 77,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2639,
      "end": 2643,
      "loc": {
        "start": {
          "line": 77,
          "column": 26
        },
        "end": {
          "line": 77,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2643,
      "end": 2644,
      "loc": {
        "start": {
          "line": 77,
          "column": 30
        },
        "end": {
          "line": 77,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_boundStates",
      "start": 2644,
      "end": 2656,
      "loc": {
        "start": {
          "line": 77,
          "column": 31
        },
        "end": {
          "line": 77,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2656,
      "end": 2657,
      "loc": {
        "start": {
          "line": 77,
          "column": 43
        },
        "end": {
          "line": 77,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 2666,
      "end": 2669,
      "loc": {
        "start": {
          "line": 78,
          "column": 8
        },
        "end": {
          "line": 78,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2670,
      "end": 2671,
      "loc": {
        "start": {
          "line": 78,
          "column": 12
        },
        "end": {
          "line": 78,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 2671,
      "end": 2674,
      "loc": {
        "start": {
          "line": 78,
          "column": 13
        },
        "end": {
          "line": 78,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 2675,
      "end": 2676,
      "loc": {
        "start": {
          "line": 78,
          "column": 17
        },
        "end": {
          "line": 78,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2677,
      "end": 2678,
      "loc": {
        "start": {
          "line": 78,
          "column": 19
        },
        "end": {
          "line": 78,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 2679,
      "end": 2680,
      "loc": {
        "start": {
          "line": 78,
          "column": 21
        },
        "end": {
          "line": 78,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2680,
      "end": 2681,
      "loc": {
        "start": {
          "line": 78,
          "column": 22
        },
        "end": {
          "line": 78,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 2682,
      "end": 2683,
      "loc": {
        "start": {
          "line": 78,
          "column": 24
        },
        "end": {
          "line": 78,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "<",
      "start": 2684,
      "end": 2685,
      "loc": {
        "start": {
          "line": 78,
          "column": 26
        },
        "end": {
          "line": 78,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "boundStates",
      "start": 2686,
      "end": 2697,
      "loc": {
        "start": {
          "line": 78,
          "column": 28
        },
        "end": {
          "line": 78,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2697,
      "end": 2698,
      "loc": {
        "start": {
          "line": 78,
          "column": 39
        },
        "end": {
          "line": 78,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 2698,
      "end": 2704,
      "loc": {
        "start": {
          "line": 78,
          "column": 40
        },
        "end": {
          "line": 78,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2704,
      "end": 2705,
      "loc": {
        "start": {
          "line": 78,
          "column": 46
        },
        "end": {
          "line": 78,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 2706,
      "end": 2707,
      "loc": {
        "start": {
          "line": 78,
          "column": 48
        },
        "end": {
          "line": 78,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "++/--",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": true,
        "binop": null
      },
      "value": "++",
      "start": 2707,
      "end": 2709,
      "loc": {
        "start": {
          "line": 78,
          "column": 49
        },
        "end": {
          "line": 78,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2709,
      "end": 2710,
      "loc": {
        "start": {
          "line": 78,
          "column": 51
        },
        "end": {
          "line": 78,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2711,
      "end": 2712,
      "loc": {
        "start": {
          "line": 78,
          "column": 53
        },
        "end": {
          "line": 78,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2725,
      "end": 2727,
      "loc": {
        "start": {
          "line": 79,
          "column": 12
        },
        "end": {
          "line": 79,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2728,
      "end": 2729,
      "loc": {
        "start": {
          "line": 79,
          "column": 15
        },
        "end": {
          "line": 79,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "boundStates",
      "start": 2729,
      "end": 2740,
      "loc": {
        "start": {
          "line": 79,
          "column": 16
        },
        "end": {
          "line": 79,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2740,
      "end": 2741,
      "loc": {
        "start": {
          "line": 79,
          "column": 27
        },
        "end": {
          "line": 79,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 2741,
      "end": 2742,
      "loc": {
        "start": {
          "line": 79,
          "column": 28
        },
        "end": {
          "line": 79,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2742,
      "end": 2743,
      "loc": {
        "start": {
          "line": 79,
          "column": 29
        },
        "end": {
          "line": 79,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2743,
      "end": 2744,
      "loc": {
        "start": {
          "line": 79,
          "column": 30
        },
        "end": {
          "line": 79,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "boundState",
      "start": 2744,
      "end": 2754,
      "loc": {
        "start": {
          "line": 79,
          "column": 31
        },
        "end": {
          "line": 79,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 2755,
      "end": 2758,
      "loc": {
        "start": {
          "line": 79,
          "column": 42
        },
        "end": {
          "line": 79,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "stateParent",
      "start": 2759,
      "end": 2770,
      "loc": {
        "start": {
          "line": 79,
          "column": 46
        },
        "end": {
          "line": 79,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2770,
      "end": 2771,
      "loc": {
        "start": {
          "line": 79,
          "column": 57
        },
        "end": {
          "line": 79,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "index",
      "start": 2788,
      "end": 2793,
      "loc": {
        "start": {
          "line": 80,
          "column": 16
        },
        "end": {
          "line": 80,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2794,
      "end": 2795,
      "loc": {
        "start": {
          "line": 80,
          "column": 22
        },
        "end": {
          "line": 80,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 2796,
      "end": 2797,
      "loc": {
        "start": {
          "line": 80,
          "column": 24
        },
        "end": {
          "line": 80,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2797,
      "end": 2798,
      "loc": {
        "start": {
          "line": 80,
          "column": 25
        },
        "end": {
          "line": 80,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2807,
      "end": 2808,
      "loc": {
        "start": {
          "line": 81,
          "column": 8
        },
        "end": {
          "line": 81,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2817,
      "end": 2819,
      "loc": {
        "start": {
          "line": 82,
          "column": 8
        },
        "end": {
          "line": 82,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2820,
      "end": 2821,
      "loc": {
        "start": {
          "line": 82,
          "column": 11
        },
        "end": {
          "line": 82,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "index",
      "start": 2821,
      "end": 2826,
      "loc": {
        "start": {
          "line": 82,
          "column": 12
        },
        "end": {
          "line": 82,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">",
      "start": 2827,
      "end": 2828,
      "loc": {
        "start": {
          "line": 82,
          "column": 18
        },
        "end": {
          "line": 82,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 2829,
      "end": 2830,
      "loc": {
        "start": {
          "line": 82,
          "column": 20
        },
        "end": {
          "line": 82,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 2830,
      "end": 2831,
      "loc": {
        "start": {
          "line": 82,
          "column": 21
        },
        "end": {
          "line": 82,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2831,
      "end": 2832,
      "loc": {
        "start": {
          "line": 82,
          "column": 22
        },
        "end": {
          "line": 82,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2833,
      "end": 2834,
      "loc": {
        "start": {
          "line": 82,
          "column": 24
        },
        "end": {
          "line": 82,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "boundStates",
      "start": 2847,
      "end": 2858,
      "loc": {
        "start": {
          "line": 83,
          "column": 12
        },
        "end": {
          "line": 83,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2858,
      "end": 2859,
      "loc": {
        "start": {
          "line": 83,
          "column": 23
        },
        "end": {
          "line": 83,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "splice",
      "start": 2859,
      "end": 2865,
      "loc": {
        "start": {
          "line": 83,
          "column": 24
        },
        "end": {
          "line": 83,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2865,
      "end": 2866,
      "loc": {
        "start": {
          "line": 83,
          "column": 30
        },
        "end": {
          "line": 83,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "index",
      "start": 2866,
      "end": 2871,
      "loc": {
        "start": {
          "line": 83,
          "column": 31
        },
        "end": {
          "line": 83,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2871,
      "end": 2872,
      "loc": {
        "start": {
          "line": 83,
          "column": 36
        },
        "end": {
          "line": 83,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 2873,
      "end": 2874,
      "loc": {
        "start": {
          "line": 83,
          "column": 38
        },
        "end": {
          "line": 83,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2874,
      "end": 2875,
      "loc": {
        "start": {
          "line": 83,
          "column": 39
        },
        "end": {
          "line": 83,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2875,
      "end": 2876,
      "loc": {
        "start": {
          "line": 83,
          "column": 40
        },
        "end": {
          "line": 83,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2885,
      "end": 2886,
      "loc": {
        "start": {
          "line": 84,
          "column": 8
        },
        "end": {
          "line": 84,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2891,
      "end": 2892,
      "loc": {
        "start": {
          "line": 85,
          "column": 4
        },
        "end": {
          "line": 85,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2892,
      "end": 2893,
      "loc": {
        "start": {
          "line": 85,
          "column": 5
        },
        "end": {
          "line": 85,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Store",
      "start": 2898,
      "end": 2903,
      "loc": {
        "start": {
          "line": 86,
          "column": 4
        },
        "end": {
          "line": 86,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2903,
      "end": 2904,
      "loc": {
        "start": {
          "line": 86,
          "column": 9
        },
        "end": {
          "line": 86,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 2904,
      "end": 2913,
      "loc": {
        "start": {
          "line": 86,
          "column": 10
        },
        "end": {
          "line": 86,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2913,
      "end": 2914,
      "loc": {
        "start": {
          "line": 86,
          "column": 19
        },
        "end": {
          "line": 86,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "forwardState",
      "start": 2914,
      "end": 2926,
      "loc": {
        "start": {
          "line": 86,
          "column": 20
        },
        "end": {
          "line": 86,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2927,
      "end": 2928,
      "loc": {
        "start": {
          "line": 86,
          "column": 33
        },
        "end": {
          "line": 86,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 2929,
      "end": 2937,
      "loc": {
        "start": {
          "line": 86,
          "column": 35
        },
        "end": {
          "line": 86,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2938,
      "end": 2939,
      "loc": {
        "start": {
          "line": 86,
          "column": 44
        },
        "end": {
          "line": 86,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "receivingStateParent",
      "start": 2939,
      "end": 2959,
      "loc": {
        "start": {
          "line": 86,
          "column": 45
        },
        "end": {
          "line": 86,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2959,
      "end": 2960,
      "loc": {
        "start": {
          "line": 86,
          "column": 65
        },
        "end": {
          "line": 86,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "mapping",
      "start": 2961,
      "end": 2968,
      "loc": {
        "start": {
          "line": 86,
          "column": 67
        },
        "end": {
          "line": 86,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2968,
      "end": 2969,
      "loc": {
        "start": {
          "line": 86,
          "column": 74
        },
        "end": {
          "line": 86,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2970,
      "end": 2971,
      "loc": {
        "start": {
          "line": 86,
          "column": 76
        },
        "end": {
          "line": 86,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 2980,
      "end": 2983,
      "loc": {
        "start": {
          "line": 87,
          "column": 8
        },
        "end": {
          "line": 87,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_this",
      "start": 2984,
      "end": 2989,
      "loc": {
        "start": {
          "line": 87,
          "column": 12
        },
        "end": {
          "line": 87,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2990,
      "end": 2991,
      "loc": {
        "start": {
          "line": 87,
          "column": 18
        },
        "end": {
          "line": 87,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2992,
      "end": 2996,
      "loc": {
        "start": {
          "line": 87,
          "column": 20
        },
        "end": {
          "line": 87,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2996,
      "end": 2997,
      "loc": {
        "start": {
          "line": 87,
          "column": 24
        },
        "end": {
          "line": 87,
          "column": 25
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " the new state that will be transferred to the receiving state",
      "start": 3006,
      "end": 3070,
      "loc": {
        "start": {
          "line": 88,
          "column": 8
        },
        "end": {
          "line": 88,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 3079,
      "end": 3082,
      "loc": {
        "start": {
          "line": 89,
          "column": 8
        },
        "end": {
          "line": 89,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newState",
      "start": 3083,
      "end": 3091,
      "loc": {
        "start": {
          "line": 89,
          "column": 12
        },
        "end": {
          "line": 89,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3092,
      "end": 3093,
      "loc": {
        "start": {
          "line": 89,
          "column": 21
        },
        "end": {
          "line": 89,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3094,
      "end": 3095,
      "loc": {
        "start": {
          "line": 89,
          "column": 23
        },
        "end": {
          "line": 89,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3095,
      "end": 3096,
      "loc": {
        "start": {
          "line": 89,
          "column": 24
        },
        "end": {
          "line": 89,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3096,
      "end": 3097,
      "loc": {
        "start": {
          "line": 89,
          "column": 25
        },
        "end": {
          "line": 89,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 3106,
      "end": 3109,
      "loc": {
        "start": {
          "line": 90,
          "column": 8
        },
        "end": {
          "line": 90,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "receivingKeys",
      "start": 3110,
      "end": 3123,
      "loc": {
        "start": {
          "line": 90,
          "column": 12
        },
        "end": {
          "line": 90,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3124,
      "end": 3125,
      "loc": {
        "start": {
          "line": 90,
          "column": 26
        },
        "end": {
          "line": 90,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Object",
      "start": 3126,
      "end": 3132,
      "loc": {
        "start": {
          "line": 90,
          "column": 28
        },
        "end": {
          "line": 90,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3132,
      "end": 3133,
      "loc": {
        "start": {
          "line": 90,
          "column": 34
        },
        "end": {
          "line": 90,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "keys",
      "start": 3133,
      "end": 3137,
      "loc": {
        "start": {
          "line": 90,
          "column": 35
        },
        "end": {
          "line": 90,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3137,
      "end": 3138,
      "loc": {
        "start": {
          "line": 90,
          "column": 39
        },
        "end": {
          "line": 90,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "receivingStateParent",
      "start": 3138,
      "end": 3158,
      "loc": {
        "start": {
          "line": 90,
          "column": 40
        },
        "end": {
          "line": 90,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3158,
      "end": 3159,
      "loc": {
        "start": {
          "line": 90,
          "column": 60
        },
        "end": {
          "line": 90,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 3159,
      "end": 3164,
      "loc": {
        "start": {
          "line": 90,
          "column": 61
        },
        "end": {
          "line": 90,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3164,
      "end": 3165,
      "loc": {
        "start": {
          "line": 90,
          "column": 66
        },
        "end": {
          "line": 90,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3165,
      "end": 3166,
      "loc": {
        "start": {
          "line": 90,
          "column": 67
        },
        "end": {
          "line": 90,
          "column": 68
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Loop through all of the values in this store's state",
      "start": 3175,
      "end": 3230,
      "loc": {
        "start": {
          "line": 91,
          "column": 8
        },
        "end": {
          "line": 91,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Object",
      "start": 3239,
      "end": 3245,
      "loc": {
        "start": {
          "line": 92,
          "column": 8
        },
        "end": {
          "line": 92,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3245,
      "end": 3246,
      "loc": {
        "start": {
          "line": 92,
          "column": 14
        },
        "end": {
          "line": 92,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "keys",
      "start": 3246,
      "end": 3250,
      "loc": {
        "start": {
          "line": 92,
          "column": 15
        },
        "end": {
          "line": 92,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3250,
      "end": 3251,
      "loc": {
        "start": {
          "line": 92,
          "column": 19
        },
        "end": {
          "line": 92,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3251,
      "end": 3255,
      "loc": {
        "start": {
          "line": 92,
          "column": 20
        },
        "end": {
          "line": 92,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3255,
      "end": 3256,
      "loc": {
        "start": {
          "line": 92,
          "column": 24
        },
        "end": {
          "line": 92,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 3256,
      "end": 3261,
      "loc": {
        "start": {
          "line": 92,
          "column": 25
        },
        "end": {
          "line": 92,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3261,
      "end": 3262,
      "loc": {
        "start": {
          "line": 92,
          "column": 30
        },
        "end": {
          "line": 92,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3262,
      "end": 3263,
      "loc": {
        "start": {
          "line": 92,
          "column": 31
        },
        "end": {
          "line": 92,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "forEach",
      "start": 3263,
      "end": 3270,
      "loc": {
        "start": {
          "line": 92,
          "column": 32
        },
        "end": {
          "line": 92,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3270,
      "end": 3271,
      "loc": {
        "start": {
          "line": 92,
          "column": 39
        },
        "end": {
          "line": 92,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 3271,
      "end": 3279,
      "loc": {
        "start": {
          "line": 92,
          "column": 40
        },
        "end": {
          "line": 92,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3280,
      "end": 3281,
      "loc": {
        "start": {
          "line": 92,
          "column": 49
        },
        "end": {
          "line": 92,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 3281,
      "end": 3284,
      "loc": {
        "start": {
          "line": 92,
          "column": 50
        },
        "end": {
          "line": 92,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3284,
      "end": 3285,
      "loc": {
        "start": {
          "line": 92,
          "column": 53
        },
        "end": {
          "line": 92,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3286,
      "end": 3287,
      "loc": {
        "start": {
          "line": 92,
          "column": 55
        },
        "end": {
          "line": 92,
          "column": 56
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Map the sender's key to the receiver",
      "start": 3300,
      "end": 3339,
      "loc": {
        "start": {
          "line": 93,
          "column": 12
        },
        "end": {
          "line": 93,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 3352,
      "end": 3355,
      "loc": {
        "start": {
          "line": 94,
          "column": 12
        },
        "end": {
          "line": 94,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "mappedKey",
      "start": 3356,
      "end": 3365,
      "loc": {
        "start": {
          "line": 94,
          "column": 16
        },
        "end": {
          "line": 94,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3366,
      "end": 3367,
      "loc": {
        "start": {
          "line": 94,
          "column": 26
        },
        "end": {
          "line": 94,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "mapping",
      "start": 3368,
      "end": 3375,
      "loc": {
        "start": {
          "line": 94,
          "column": 28
        },
        "end": {
          "line": 94,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "?",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3376,
      "end": 3377,
      "loc": {
        "start": {
          "line": 94,
          "column": 36
        },
        "end": {
          "line": 94,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "mapping",
      "start": 3378,
      "end": 3385,
      "loc": {
        "start": {
          "line": 94,
          "column": 38
        },
        "end": {
          "line": 94,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3385,
      "end": 3386,
      "loc": {
        "start": {
          "line": 94,
          "column": 45
        },
        "end": {
          "line": 94,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 3386,
      "end": 3389,
      "loc": {
        "start": {
          "line": 94,
          "column": 46
        },
        "end": {
          "line": 94,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3389,
      "end": 3390,
      "loc": {
        "start": {
          "line": 94,
          "column": 49
        },
        "end": {
          "line": 94,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3391,
      "end": 3392,
      "loc": {
        "start": {
          "line": 94,
          "column": 51
        },
        "end": {
          "line": 94,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 3393,
      "end": 3396,
      "loc": {
        "start": {
          "line": 94,
          "column": 53
        },
        "end": {
          "line": 94,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3396,
      "end": 3397,
      "loc": {
        "start": {
          "line": 94,
          "column": 56
        },
        "end": {
          "line": 94,
          "column": 57
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " If the mappedKey can be found in the receiver add the value to the new state",
      "start": 3410,
      "end": 3489,
      "loc": {
        "start": {
          "line": 95,
          "column": 12
        },
        "end": {
          "line": 95,
          "column": 91
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 3502,
      "end": 3504,
      "loc": {
        "start": {
          "line": 96,
          "column": 12
        },
        "end": {
          "line": 96,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3505,
      "end": 3506,
      "loc": {
        "start": {
          "line": 96,
          "column": 15
        },
        "end": {
          "line": 96,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "receivingKeys",
      "start": 3506,
      "end": 3519,
      "loc": {
        "start": {
          "line": 96,
          "column": 16
        },
        "end": {
          "line": 96,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3519,
      "end": 3520,
      "loc": {
        "start": {
          "line": 96,
          "column": 29
        },
        "end": {
          "line": 96,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "indexOf",
      "start": 3520,
      "end": 3527,
      "loc": {
        "start": {
          "line": 96,
          "column": 30
        },
        "end": {
          "line": 96,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3527,
      "end": 3528,
      "loc": {
        "start": {
          "line": 96,
          "column": 37
        },
        "end": {
          "line": 96,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "mappedKey",
      "start": 3528,
      "end": 3537,
      "loc": {
        "start": {
          "line": 96,
          "column": 38
        },
        "end": {
          "line": 96,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3537,
      "end": 3538,
      "loc": {
        "start": {
          "line": 96,
          "column": 47
        },
        "end": {
          "line": 96,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!=",
      "start": 3539,
      "end": 3541,
      "loc": {
        "start": {
          "line": 96,
          "column": 49
        },
        "end": {
          "line": 96,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 3542,
      "end": 3543,
      "loc": {
        "start": {
          "line": 96,
          "column": 52
        },
        "end": {
          "line": 96,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 3543,
      "end": 3544,
      "loc": {
        "start": {
          "line": 96,
          "column": 53
        },
        "end": {
          "line": 96,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3544,
      "end": 3545,
      "loc": {
        "start": {
          "line": 96,
          "column": 54
        },
        "end": {
          "line": 96,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newState",
      "start": 3562,
      "end": 3570,
      "loc": {
        "start": {
          "line": 97,
          "column": 16
        },
        "end": {
          "line": 97,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3570,
      "end": 3571,
      "loc": {
        "start": {
          "line": 97,
          "column": 24
        },
        "end": {
          "line": 97,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "mappedKey",
      "start": 3571,
      "end": 3580,
      "loc": {
        "start": {
          "line": 97,
          "column": 25
        },
        "end": {
          "line": 97,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3580,
      "end": 3581,
      "loc": {
        "start": {
          "line": 97,
          "column": 34
        },
        "end": {
          "line": 97,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3582,
      "end": 3583,
      "loc": {
        "start": {
          "line": 97,
          "column": 36
        },
        "end": {
          "line": 97,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_this",
      "start": 3584,
      "end": 3589,
      "loc": {
        "start": {
          "line": 97,
          "column": 38
        },
        "end": {
          "line": 97,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3589,
      "end": 3590,
      "loc": {
        "start": {
          "line": 97,
          "column": 43
        },
        "end": {
          "line": 97,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 3590,
      "end": 3595,
      "loc": {
        "start": {
          "line": 97,
          "column": 44
        },
        "end": {
          "line": 97,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3595,
      "end": 3596,
      "loc": {
        "start": {
          "line": 97,
          "column": 49
        },
        "end": {
          "line": 97,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 3596,
      "end": 3599,
      "loc": {
        "start": {
          "line": 97,
          "column": 50
        },
        "end": {
          "line": 97,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3599,
      "end": 3600,
      "loc": {
        "start": {
          "line": 97,
          "column": 53
        },
        "end": {
          "line": 97,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3600,
      "end": 3601,
      "loc": {
        "start": {
          "line": 97,
          "column": 54
        },
        "end": {
          "line": 97,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3610,
      "end": 3611,
      "loc": {
        "start": {
          "line": 98,
          "column": 8
        },
        "end": {
          "line": 98,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3611,
      "end": 3612,
      "loc": {
        "start": {
          "line": 98,
          "column": 9
        },
        "end": {
          "line": 98,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3612,
      "end": 3613,
      "loc": {
        "start": {
          "line": 98,
          "column": 10
        },
        "end": {
          "line": 98,
          "column": 11
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Send the new state to the receiving store",
      "start": 3622,
      "end": 3666,
      "loc": {
        "start": {
          "line": 99,
          "column": 8
        },
        "end": {
          "line": 99,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "receivingStateParent",
      "start": 3675,
      "end": 3695,
      "loc": {
        "start": {
          "line": 100,
          "column": 8
        },
        "end": {
          "line": 100,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3695,
      "end": 3696,
      "loc": {
        "start": {
          "line": 100,
          "column": 28
        },
        "end": {
          "line": 100,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "setState",
      "start": 3696,
      "end": 3704,
      "loc": {
        "start": {
          "line": 100,
          "column": 29
        },
        "end": {
          "line": 100,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3704,
      "end": 3705,
      "loc": {
        "start": {
          "line": 100,
          "column": 37
        },
        "end": {
          "line": 100,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newState",
      "start": 3705,
      "end": 3713,
      "loc": {
        "start": {
          "line": 100,
          "column": 38
        },
        "end": {
          "line": 100,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3713,
      "end": 3714,
      "loc": {
        "start": {
          "line": 100,
          "column": 46
        },
        "end": {
          "line": 100,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3714,
      "end": 3715,
      "loc": {
        "start": {
          "line": 100,
          "column": 47
        },
        "end": {
          "line": 100,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3720,
      "end": 3721,
      "loc": {
        "start": {
          "line": 101,
          "column": 4
        },
        "end": {
          "line": 101,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3721,
      "end": 3722,
      "loc": {
        "start": {
          "line": 101,
          "column": 5
        },
        "end": {
          "line": 101,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Store",
      "start": 3727,
      "end": 3732,
      "loc": {
        "start": {
          "line": 102,
          "column": 4
        },
        "end": {
          "line": 102,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3732,
      "end": 3733,
      "loc": {
        "start": {
          "line": 102,
          "column": 9
        },
        "end": {
          "line": 102,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 3733,
      "end": 3742,
      "loc": {
        "start": {
          "line": 102,
          "column": 10
        },
        "end": {
          "line": 102,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3742,
      "end": 3743,
      "loc": {
        "start": {
          "line": 102,
          "column": 19
        },
        "end": {
          "line": 102,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "forwardToBoundStates",
      "start": 3743,
      "end": 3763,
      "loc": {
        "start": {
          "line": 102,
          "column": 20
        },
        "end": {
          "line": 102,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3764,
      "end": 3765,
      "loc": {
        "start": {
          "line": 102,
          "column": 41
        },
        "end": {
          "line": 102,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 3766,
      "end": 3774,
      "loc": {
        "start": {
          "line": 102,
          "column": 43
        },
        "end": {
          "line": 102,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3775,
      "end": 3776,
      "loc": {
        "start": {
          "line": 102,
          "column": 52
        },
        "end": {
          "line": 102,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3776,
      "end": 3777,
      "loc": {
        "start": {
          "line": 102,
          "column": 53
        },
        "end": {
          "line": 102,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3778,
      "end": 3779,
      "loc": {
        "start": {
          "line": 102,
          "column": 55
        },
        "end": {
          "line": 102,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 3788,
      "end": 3791,
      "loc": {
        "start": {
          "line": 103,
          "column": 8
        },
        "end": {
          "line": 103,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_this",
      "start": 3792,
      "end": 3797,
      "loc": {
        "start": {
          "line": 103,
          "column": 12
        },
        "end": {
          "line": 103,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3798,
      "end": 3799,
      "loc": {
        "start": {
          "line": 103,
          "column": 18
        },
        "end": {
          "line": 103,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3800,
      "end": 3804,
      "loc": {
        "start": {
          "line": 103,
          "column": 20
        },
        "end": {
          "line": 103,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3804,
      "end": 3805,
      "loc": {
        "start": {
          "line": 103,
          "column": 24
        },
        "end": {
          "line": 103,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3814,
      "end": 3818,
      "loc": {
        "start": {
          "line": 104,
          "column": 8
        },
        "end": {
          "line": 104,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3818,
      "end": 3819,
      "loc": {
        "start": {
          "line": 104,
          "column": 12
        },
        "end": {
          "line": 104,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_boundStates",
      "start": 3819,
      "end": 3831,
      "loc": {
        "start": {
          "line": 104,
          "column": 13
        },
        "end": {
          "line": 104,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3831,
      "end": 3832,
      "loc": {
        "start": {
          "line": 104,
          "column": 25
        },
        "end": {
          "line": 104,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "forEach",
      "start": 3832,
      "end": 3839,
      "loc": {
        "start": {
          "line": 104,
          "column": 26
        },
        "end": {
          "line": 104,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3839,
      "end": 3840,
      "loc": {
        "start": {
          "line": 104,
          "column": 33
        },
        "end": {
          "line": 104,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 3840,
      "end": 3848,
      "loc": {
        "start": {
          "line": 104,
          "column": 34
        },
        "end": {
          "line": 104,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3849,
      "end": 3850,
      "loc": {
        "start": {
          "line": 104,
          "column": 43
        },
        "end": {
          "line": 104,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "info",
      "start": 3850,
      "end": 3854,
      "loc": {
        "start": {
          "line": 104,
          "column": 44
        },
        "end": {
          "line": 104,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3854,
      "end": 3855,
      "loc": {
        "start": {
          "line": 104,
          "column": 48
        },
        "end": {
          "line": 104,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3856,
      "end": 3857,
      "loc": {
        "start": {
          "line": 104,
          "column": 50
        },
        "end": {
          "line": 104,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 3858,
      "end": 3864,
      "loc": {
        "start": {
          "line": 104,
          "column": 52
        },
        "end": {
          "line": 104,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_this",
      "start": 3865,
      "end": 3870,
      "loc": {
        "start": {
          "line": 104,
          "column": 59
        },
        "end": {
          "line": 104,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3870,
      "end": 3871,
      "loc": {
        "start": {
          "line": 104,
          "column": 64
        },
        "end": {
          "line": 104,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "forwardState",
      "start": 3871,
      "end": 3883,
      "loc": {
        "start": {
          "line": 104,
          "column": 65
        },
        "end": {
          "line": 104,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3883,
      "end": 3884,
      "loc": {
        "start": {
          "line": 104,
          "column": 77
        },
        "end": {
          "line": 104,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "info",
      "start": 3884,
      "end": 3888,
      "loc": {
        "start": {
          "line": 104,
          "column": 78
        },
        "end": {
          "line": 104,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3888,
      "end": 3889,
      "loc": {
        "start": {
          "line": 104,
          "column": 82
        },
        "end": {
          "line": 104,
          "column": 83
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "boundState",
      "start": 3889,
      "end": 3899,
      "loc": {
        "start": {
          "line": 104,
          "column": 83
        },
        "end": {
          "line": 104,
          "column": 93
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3899,
      "end": 3900,
      "loc": {
        "start": {
          "line": 104,
          "column": 93
        },
        "end": {
          "line": 104,
          "column": 94
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "info",
      "start": 3901,
      "end": 3905,
      "loc": {
        "start": {
          "line": 104,
          "column": 95
        },
        "end": {
          "line": 104,
          "column": 99
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3905,
      "end": 3906,
      "loc": {
        "start": {
          "line": 104,
          "column": 99
        },
        "end": {
          "line": 104,
          "column": 100
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "mapper",
      "start": 3906,
      "end": 3912,
      "loc": {
        "start": {
          "line": 104,
          "column": 100
        },
        "end": {
          "line": 104,
          "column": 106
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3912,
      "end": 3913,
      "loc": {
        "start": {
          "line": 104,
          "column": 106
        },
        "end": {
          "line": 104,
          "column": 107
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3913,
      "end": 3914,
      "loc": {
        "start": {
          "line": 104,
          "column": 107
        },
        "end": {
          "line": 104,
          "column": 108
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3915,
      "end": 3916,
      "loc": {
        "start": {
          "line": 104,
          "column": 109
        },
        "end": {
          "line": 104,
          "column": 110
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3916,
      "end": 3917,
      "loc": {
        "start": {
          "line": 104,
          "column": 110
        },
        "end": {
          "line": 104,
          "column": 111
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3917,
      "end": 3918,
      "loc": {
        "start": {
          "line": 104,
          "column": 111
        },
        "end": {
          "line": 104,
          "column": 112
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3923,
      "end": 3924,
      "loc": {
        "start": {
          "line": 105,
          "column": 4
        },
        "end": {
          "line": 105,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3924,
      "end": 3925,
      "loc": {
        "start": {
          "line": 105,
          "column": 5
        },
        "end": {
          "line": 105,
          "column": 6
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Get the previous state of the store\n     * @return {object} previous state\n     ",
      "start": 3930,
      "end": 4023,
      "loc": {
        "start": {
          "line": 106,
          "column": 4
        },
        "end": {
          "line": 109,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Store",
      "start": 4028,
      "end": 4033,
      "loc": {
        "start": {
          "line": 110,
          "column": 4
        },
        "end": {
          "line": 110,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4033,
      "end": 4034,
      "loc": {
        "start": {
          "line": 110,
          "column": 9
        },
        "end": {
          "line": 110,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 4034,
      "end": 4043,
      "loc": {
        "start": {
          "line": 110,
          "column": 10
        },
        "end": {
          "line": 110,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4043,
      "end": 4044,
      "loc": {
        "start": {
          "line": 110,
          "column": 19
        },
        "end": {
          "line": 110,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getPreviousState",
      "start": 4044,
      "end": 4060,
      "loc": {
        "start": {
          "line": 110,
          "column": 20
        },
        "end": {
          "line": 110,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4061,
      "end": 4062,
      "loc": {
        "start": {
          "line": 110,
          "column": 37
        },
        "end": {
          "line": 110,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 4063,
      "end": 4071,
      "loc": {
        "start": {
          "line": 110,
          "column": 39
        },
        "end": {
          "line": 110,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4072,
      "end": 4073,
      "loc": {
        "start": {
          "line": 110,
          "column": 48
        },
        "end": {
          "line": 110,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4073,
      "end": 4074,
      "loc": {
        "start": {
          "line": 110,
          "column": 49
        },
        "end": {
          "line": 110,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4075,
      "end": 4076,
      "loc": {
        "start": {
          "line": 110,
          "column": 51
        },
        "end": {
          "line": 110,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 4085,
      "end": 4088,
      "loc": {
        "start": {
          "line": 111,
          "column": 8
        },
        "end": {
          "line": 111,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "index",
      "start": 4089,
      "end": 4094,
      "loc": {
        "start": {
          "line": 111,
          "column": 12
        },
        "end": {
          "line": 111,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4095,
      "end": 4096,
      "loc": {
        "start": {
          "line": 111,
          "column": 18
        },
        "end": {
          "line": 111,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4097,
      "end": 4101,
      "loc": {
        "start": {
          "line": 111,
          "column": 20
        },
        "end": {
          "line": 111,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4101,
      "end": 4102,
      "loc": {
        "start": {
          "line": 111,
          "column": 24
        },
        "end": {
          "line": 111,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "stateHistory",
      "start": 4102,
      "end": 4114,
      "loc": {
        "start": {
          "line": 111,
          "column": 25
        },
        "end": {
          "line": 111,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4114,
      "end": 4115,
      "loc": {
        "start": {
          "line": 111,
          "column": 37
        },
        "end": {
          "line": 111,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 4115,
      "end": 4121,
      "loc": {
        "start": {
          "line": 111,
          "column": 38
        },
        "end": {
          "line": 111,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 4122,
      "end": 4123,
      "loc": {
        "start": {
          "line": 111,
          "column": 45
        },
        "end": {
          "line": 111,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 4124,
      "end": 4125,
      "loc": {
        "start": {
          "line": 111,
          "column": 47
        },
        "end": {
          "line": 111,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4125,
      "end": 4126,
      "loc": {
        "start": {
          "line": 111,
          "column": 48
        },
        "end": {
          "line": 111,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 4135,
      "end": 4141,
      "loc": {
        "start": {
          "line": 112,
          "column": 8
        },
        "end": {
          "line": 112,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4142,
      "end": 4146,
      "loc": {
        "start": {
          "line": 112,
          "column": 15
        },
        "end": {
          "line": 112,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4146,
      "end": 4147,
      "loc": {
        "start": {
          "line": 112,
          "column": 19
        },
        "end": {
          "line": 112,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "stateHistory",
      "start": 4147,
      "end": 4159,
      "loc": {
        "start": {
          "line": 112,
          "column": 20
        },
        "end": {
          "line": 112,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4159,
      "end": 4160,
      "loc": {
        "start": {
          "line": 112,
          "column": 32
        },
        "end": {
          "line": 112,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "index",
      "start": 4160,
      "end": 4165,
      "loc": {
        "start": {
          "line": 112,
          "column": 33
        },
        "end": {
          "line": 112,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4165,
      "end": 4166,
      "loc": {
        "start": {
          "line": 112,
          "column": 38
        },
        "end": {
          "line": 112,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4166,
      "end": 4167,
      "loc": {
        "start": {
          "line": 112,
          "column": 39
        },
        "end": {
          "line": 112,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4172,
      "end": 4173,
      "loc": {
        "start": {
          "line": 113,
          "column": 4
        },
        "end": {
          "line": 113,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4173,
      "end": 4174,
      "loc": {
        "start": {
          "line": 113,
          "column": 5
        },
        "end": {
          "line": 113,
          "column": 6
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Set the store's state and optionally save the last state to history\n     * @param {object} newState\n     * @param {boolean} historyMode\n     * @example <caption>Set state and record previous state to history</caption>\n     * myStore.setState({userName: \"John Doe\"});\n     * @example <caption>Set state and forget about recording previous state to history</caption>\n     * myStore.setState({userName: \"Billy Bob\", false});\n     ",
      "start": 4179,
      "end": 4619,
      "loc": {
        "start": {
          "line": 114,
          "column": 4
        },
        "end": {
          "line": 122,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Store",
      "start": 4624,
      "end": 4629,
      "loc": {
        "start": {
          "line": 123,
          "column": 4
        },
        "end": {
          "line": 123,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4629,
      "end": 4630,
      "loc": {
        "start": {
          "line": 123,
          "column": 9
        },
        "end": {
          "line": 123,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 4630,
      "end": 4639,
      "loc": {
        "start": {
          "line": 123,
          "column": 10
        },
        "end": {
          "line": 123,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4639,
      "end": 4640,
      "loc": {
        "start": {
          "line": 123,
          "column": 19
        },
        "end": {
          "line": 123,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "setState",
      "start": 4640,
      "end": 4648,
      "loc": {
        "start": {
          "line": 123,
          "column": 20
        },
        "end": {
          "line": 123,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4649,
      "end": 4650,
      "loc": {
        "start": {
          "line": 123,
          "column": 29
        },
        "end": {
          "line": 123,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 4651,
      "end": 4659,
      "loc": {
        "start": {
          "line": 123,
          "column": 31
        },
        "end": {
          "line": 123,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4660,
      "end": 4661,
      "loc": {
        "start": {
          "line": 123,
          "column": 40
        },
        "end": {
          "line": 123,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newState",
      "start": 4661,
      "end": 4669,
      "loc": {
        "start": {
          "line": 123,
          "column": 41
        },
        "end": {
          "line": 123,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4669,
      "end": 4670,
      "loc": {
        "start": {
          "line": 123,
          "column": 49
        },
        "end": {
          "line": 123,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "historyMode",
      "start": 4671,
      "end": 4682,
      "loc": {
        "start": {
          "line": 123,
          "column": 51
        },
        "end": {
          "line": 123,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4682,
      "end": 4683,
      "loc": {
        "start": {
          "line": 123,
          "column": 62
        },
        "end": {
          "line": 123,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4684,
      "end": 4685,
      "loc": {
        "start": {
          "line": 123,
          "column": 64
        },
        "end": {
          "line": 123,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 4694,
      "end": 4697,
      "loc": {
        "start": {
          "line": 124,
          "column": 8
        },
        "end": {
          "line": 124,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_this",
      "start": 4698,
      "end": 4703,
      "loc": {
        "start": {
          "line": 124,
          "column": 12
        },
        "end": {
          "line": 124,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4704,
      "end": 4705,
      "loc": {
        "start": {
          "line": 124,
          "column": 18
        },
        "end": {
          "line": 124,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4706,
      "end": 4710,
      "loc": {
        "start": {
          "line": 124,
          "column": 20
        },
        "end": {
          "line": 124,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4710,
      "end": 4711,
      "loc": {
        "start": {
          "line": 124,
          "column": 24
        },
        "end": {
          "line": 124,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 4720,
      "end": 4722,
      "loc": {
        "start": {
          "line": 125,
          "column": 8
        },
        "end": {
          "line": 125,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4723,
      "end": 4724,
      "loc": {
        "start": {
          "line": 125,
          "column": 11
        },
        "end": {
          "line": 125,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "historyMode",
      "start": 4724,
      "end": 4735,
      "loc": {
        "start": {
          "line": 125,
          "column": 12
        },
        "end": {
          "line": 125,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 4736,
      "end": 4739,
      "loc": {
        "start": {
          "line": 125,
          "column": 24
        },
        "end": {
          "line": 125,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "void",
        "keyword": "void",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "void",
      "start": 4740,
      "end": 4744,
      "loc": {
        "start": {
          "line": 125,
          "column": 28
        },
        "end": {
          "line": 125,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 4745,
      "end": 4746,
      "loc": {
        "start": {
          "line": 125,
          "column": 33
        },
        "end": {
          "line": 125,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4746,
      "end": 4747,
      "loc": {
        "start": {
          "line": 125,
          "column": 34
        },
        "end": {
          "line": 125,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4748,
      "end": 4749,
      "loc": {
        "start": {
          "line": 125,
          "column": 36
        },
        "end": {
          "line": 125,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "historyMode",
      "start": 4750,
      "end": 4761,
      "loc": {
        "start": {
          "line": 125,
          "column": 38
        },
        "end": {
          "line": 125,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4762,
      "end": 4763,
      "loc": {
        "start": {
          "line": 125,
          "column": 50
        },
        "end": {
          "line": 125,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 4764,
      "end": 4768,
      "loc": {
        "start": {
          "line": 125,
          "column": 52
        },
        "end": {
          "line": 125,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4768,
      "end": 4769,
      "loc": {
        "start": {
          "line": 125,
          "column": 56
        },
        "end": {
          "line": 125,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4770,
      "end": 4771,
      "loc": {
        "start": {
          "line": 125,
          "column": 58
        },
        "end": {
          "line": 125,
          "column": 59
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Save the old state",
      "start": 4780,
      "end": 4801,
      "loc": {
        "start": {
          "line": 126,
          "column": 8
        },
        "end": {
          "line": 126,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 4810,
      "end": 4813,
      "loc": {
        "start": {
          "line": 127,
          "column": 8
        },
        "end": {
          "line": 127,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "oldState",
      "start": 4814,
      "end": 4822,
      "loc": {
        "start": {
          "line": 127,
          "column": 12
        },
        "end": {
          "line": 127,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4823,
      "end": 4824,
      "loc": {
        "start": {
          "line": 127,
          "column": 21
        },
        "end": {
          "line": 127,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4825,
      "end": 4829,
      "loc": {
        "start": {
          "line": 127,
          "column": 23
        },
        "end": {
          "line": 127,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4829,
      "end": 4830,
      "loc": {
        "start": {
          "line": 127,
          "column": 27
        },
        "end": {
          "line": 127,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 4830,
      "end": 4835,
      "loc": {
        "start": {
          "line": 127,
          "column": 28
        },
        "end": {
          "line": 127,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4835,
      "end": 4836,
      "loc": {
        "start": {
          "line": 127,
          "column": 33
        },
        "end": {
          "line": 127,
          "column": 34
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Update the state",
      "start": 4845,
      "end": 4864,
      "loc": {
        "start": {
          "line": 128,
          "column": 8
        },
        "end": {
          "line": 128,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4873,
      "end": 4877,
      "loc": {
        "start": {
          "line": 129,
          "column": 8
        },
        "end": {
          "line": 129,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4877,
      "end": 4878,
      "loc": {
        "start": {
          "line": 129,
          "column": 12
        },
        "end": {
          "line": 129,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 4878,
      "end": 4883,
      "loc": {
        "start": {
          "line": 129,
          "column": 13
        },
        "end": {
          "line": 129,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4884,
      "end": 4885,
      "loc": {
        "start": {
          "line": 129,
          "column": 19
        },
        "end": {
          "line": 129,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_",
      "start": 4886,
      "end": 4887,
      "loc": {
        "start": {
          "line": 129,
          "column": 21
        },
        "end": {
          "line": 129,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4887,
      "end": 4888,
      "loc": {
        "start": {
          "line": 129,
          "column": 22
        },
        "end": {
          "line": 129,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "assign",
      "start": 4888,
      "end": 4894,
      "loc": {
        "start": {
          "line": 129,
          "column": 23
        },
        "end": {
          "line": 129,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4894,
      "end": 4895,
      "loc": {
        "start": {
          "line": 129,
          "column": 29
        },
        "end": {
          "line": 129,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4895,
      "end": 4896,
      "loc": {
        "start": {
          "line": 129,
          "column": 30
        },
        "end": {
          "line": 129,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4896,
      "end": 4897,
      "loc": {
        "start": {
          "line": 129,
          "column": 31
        },
        "end": {
          "line": 129,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4897,
      "end": 4898,
      "loc": {
        "start": {
          "line": 129,
          "column": 32
        },
        "end": {
          "line": 129,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "oldState",
      "start": 4899,
      "end": 4907,
      "loc": {
        "start": {
          "line": 129,
          "column": 34
        },
        "end": {
          "line": 129,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4907,
      "end": 4908,
      "loc": {
        "start": {
          "line": 129,
          "column": 42
        },
        "end": {
          "line": 129,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newState",
      "start": 4909,
      "end": 4917,
      "loc": {
        "start": {
          "line": 129,
          "column": 44
        },
        "end": {
          "line": 129,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4917,
      "end": 4918,
      "loc": {
        "start": {
          "line": 129,
          "column": 52
        },
        "end": {
          "line": 129,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4918,
      "end": 4919,
      "loc": {
        "start": {
          "line": 129,
          "column": 53
        },
        "end": {
          "line": 129,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 4928,
      "end": 4931,
      "loc": {
        "start": {
          "line": 130,
          "column": 8
        },
        "end": {
          "line": 130,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "changes",
      "start": 4932,
      "end": 4939,
      "loc": {
        "start": {
          "line": 130,
          "column": 12
        },
        "end": {
          "line": 130,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4940,
      "end": 4941,
      "loc": {
        "start": {
          "line": 130,
          "column": 20
        },
        "end": {
          "line": 130,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Store",
      "start": 4942,
      "end": 4947,
      "loc": {
        "start": {
          "line": 130,
          "column": 22
        },
        "end": {
          "line": 130,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4947,
      "end": 4948,
      "loc": {
        "start": {
          "line": 130,
          "column": 27
        },
        "end": {
          "line": 130,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getChangeList",
      "start": 4948,
      "end": 4961,
      "loc": {
        "start": {
          "line": 130,
          "column": 28
        },
        "end": {
          "line": 130,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4961,
      "end": 4962,
      "loc": {
        "start": {
          "line": 130,
          "column": 41
        },
        "end": {
          "line": 130,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "oldState",
      "start": 4962,
      "end": 4970,
      "loc": {
        "start": {
          "line": 130,
          "column": 42
        },
        "end": {
          "line": 130,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4970,
      "end": 4971,
      "loc": {
        "start": {
          "line": 130,
          "column": 50
        },
        "end": {
          "line": 130,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4972,
      "end": 4976,
      "loc": {
        "start": {
          "line": 130,
          "column": 52
        },
        "end": {
          "line": 130,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4976,
      "end": 4977,
      "loc": {
        "start": {
          "line": 130,
          "column": 56
        },
        "end": {
          "line": 130,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 4977,
      "end": 4982,
      "loc": {
        "start": {
          "line": 130,
          "column": 57
        },
        "end": {
          "line": 130,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4982,
      "end": 4983,
      "loc": {
        "start": {
          "line": 130,
          "column": 62
        },
        "end": {
          "line": 130,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4983,
      "end": 4984,
      "loc": {
        "start": {
          "line": 130,
          "column": 63
        },
        "end": {
          "line": 130,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4993,
      "end": 4997,
      "loc": {
        "start": {
          "line": 131,
          "column": 8
        },
        "end": {
          "line": 131,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4997,
      "end": 4998,
      "loc": {
        "start": {
          "line": 131,
          "column": 12
        },
        "end": {
          "line": 131,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "trimHistory",
      "start": 4998,
      "end": 5009,
      "loc": {
        "start": {
          "line": 131,
          "column": 13
        },
        "end": {
          "line": 131,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5009,
      "end": 5010,
      "loc": {
        "start": {
          "line": 131,
          "column": 24
        },
        "end": {
          "line": 131,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 5010,
      "end": 5014,
      "loc": {
        "start": {
          "line": 131,
          "column": 25
        },
        "end": {
          "line": 131,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5014,
      "end": 5015,
      "loc": {
        "start": {
          "line": 131,
          "column": 29
        },
        "end": {
          "line": 131,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "maxHistoryLength",
      "start": 5015,
      "end": 5031,
      "loc": {
        "start": {
          "line": 131,
          "column": 30
        },
        "end": {
          "line": 131,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5031,
      "end": 5032,
      "loc": {
        "start": {
          "line": 131,
          "column": 46
        },
        "end": {
          "line": 131,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5032,
      "end": 5033,
      "loc": {
        "start": {
          "line": 131,
          "column": 47
        },
        "end": {
          "line": 131,
          "column": 48
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Loop through list of changes and trigger their respective callbacks",
      "start": 5042,
      "end": 5112,
      "loc": {
        "start": {
          "line": 132,
          "column": 8
        },
        "end": {
          "line": 132,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "changes",
      "start": 5121,
      "end": 5128,
      "loc": {
        "start": {
          "line": 133,
          "column": 8
        },
        "end": {
          "line": 133,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5128,
      "end": 5129,
      "loc": {
        "start": {
          "line": 133,
          "column": 15
        },
        "end": {
          "line": 133,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "forEach",
      "start": 5129,
      "end": 5136,
      "loc": {
        "start": {
          "line": 133,
          "column": 16
        },
        "end": {
          "line": 133,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5136,
      "end": 5137,
      "loc": {
        "start": {
          "line": 133,
          "column": 23
        },
        "end": {
          "line": 133,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 5137,
      "end": 5145,
      "loc": {
        "start": {
          "line": 133,
          "column": 24
        },
        "end": {
          "line": 133,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5146,
      "end": 5147,
      "loc": {
        "start": {
          "line": 133,
          "column": 33
        },
        "end": {
          "line": 133,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "o",
      "start": 5147,
      "end": 5148,
      "loc": {
        "start": {
          "line": 133,
          "column": 34
        },
        "end": {
          "line": 133,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5148,
      "end": 5149,
      "loc": {
        "start": {
          "line": 133,
          "column": 35
        },
        "end": {
          "line": 133,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5150,
      "end": 5151,
      "loc": {
        "start": {
          "line": 133,
          "column": 37
        },
        "end": {
          "line": 133,
          "column": 38
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Get the name of the changed property",
      "start": 5164,
      "end": 5203,
      "loc": {
        "start": {
          "line": 134,
          "column": 12
        },
        "end": {
          "line": 134,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 5216,
      "end": 5219,
      "loc": {
        "start": {
          "line": 135,
          "column": 12
        },
        "end": {
          "line": 135,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 5220,
      "end": 5228,
      "loc": {
        "start": {
          "line": 135,
          "column": 16
        },
        "end": {
          "line": 135,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5229,
      "end": 5230,
      "loc": {
        "start": {
          "line": 135,
          "column": 25
        },
        "end": {
          "line": 135,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "o",
      "start": 5231,
      "end": 5232,
      "loc": {
        "start": {
          "line": 135,
          "column": 27
        },
        "end": {
          "line": 135,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5232,
      "end": 5233,
      "loc": {
        "start": {
          "line": 135,
          "column": 28
        },
        "end": {
          "line": 135,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 5233,
      "end": 5241,
      "loc": {
        "start": {
          "line": 135,
          "column": 29
        },
        "end": {
          "line": 135,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5241,
      "end": 5242,
      "loc": {
        "start": {
          "line": 135,
          "column": 37
        },
        "end": {
          "line": 135,
          "column": 38
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Get the new and old values of the property",
      "start": 5255,
      "end": 5300,
      "loc": {
        "start": {
          "line": 136,
          "column": 12
        },
        "end": {
          "line": 136,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 5313,
      "end": 5316,
      "loc": {
        "start": {
          "line": 137,
          "column": 12
        },
        "end": {
          "line": 137,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newProperty",
      "start": 5317,
      "end": 5328,
      "loc": {
        "start": {
          "line": 137,
          "column": 16
        },
        "end": {
          "line": 137,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5329,
      "end": 5330,
      "loc": {
        "start": {
          "line": 137,
          "column": 28
        },
        "end": {
          "line": 137,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_this",
      "start": 5331,
      "end": 5336,
      "loc": {
        "start": {
          "line": 137,
          "column": 30
        },
        "end": {
          "line": 137,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5336,
      "end": 5337,
      "loc": {
        "start": {
          "line": 137,
          "column": 35
        },
        "end": {
          "line": 137,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 5337,
      "end": 5342,
      "loc": {
        "start": {
          "line": 137,
          "column": 36
        },
        "end": {
          "line": 137,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5342,
      "end": 5343,
      "loc": {
        "start": {
          "line": 137,
          "column": 41
        },
        "end": {
          "line": 137,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 5343,
      "end": 5351,
      "loc": {
        "start": {
          "line": 137,
          "column": 42
        },
        "end": {
          "line": 137,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5351,
      "end": 5352,
      "loc": {
        "start": {
          "line": 137,
          "column": 50
        },
        "end": {
          "line": 137,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5352,
      "end": 5353,
      "loc": {
        "start": {
          "line": 137,
          "column": 51
        },
        "end": {
          "line": 137,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 5366,
      "end": 5369,
      "loc": {
        "start": {
          "line": 138,
          "column": 12
        },
        "end": {
          "line": 138,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "oldProperty",
      "start": 5370,
      "end": 5381,
      "loc": {
        "start": {
          "line": 138,
          "column": 16
        },
        "end": {
          "line": 138,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5382,
      "end": 5383,
      "loc": {
        "start": {
          "line": 138,
          "column": 28
        },
        "end": {
          "line": 138,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "oldState",
      "start": 5384,
      "end": 5392,
      "loc": {
        "start": {
          "line": 138,
          "column": 30
        },
        "end": {
          "line": 138,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5392,
      "end": 5393,
      "loc": {
        "start": {
          "line": 138,
          "column": 38
        },
        "end": {
          "line": 138,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 5393,
      "end": 5401,
      "loc": {
        "start": {
          "line": 138,
          "column": 39
        },
        "end": {
          "line": 138,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5401,
      "end": 5402,
      "loc": {
        "start": {
          "line": 138,
          "column": 47
        },
        "end": {
          "line": 138,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5402,
      "end": 5403,
      "loc": {
        "start": {
          "line": 138,
          "column": 48
        },
        "end": {
          "line": 138,
          "column": 49
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Trigger the property's callback",
      "start": 5416,
      "end": 5450,
      "loc": {
        "start": {
          "line": 139,
          "column": 12
        },
        "end": {
          "line": 139,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_this",
      "start": 5463,
      "end": 5468,
      "loc": {
        "start": {
          "line": 140,
          "column": 12
        },
        "end": {
          "line": 140,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5468,
      "end": 5469,
      "loc": {
        "start": {
          "line": 140,
          "column": 17
        },
        "end": {
          "line": 140,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_triggerChangeCallbacks",
      "start": 5469,
      "end": 5492,
      "loc": {
        "start": {
          "line": 140,
          "column": 18
        },
        "end": {
          "line": 140,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5492,
      "end": 5493,
      "loc": {
        "start": {
          "line": 140,
          "column": 41
        },
        "end": {
          "line": 140,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 5493,
      "end": 5501,
      "loc": {
        "start": {
          "line": 140,
          "column": 42
        },
        "end": {
          "line": 140,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5501,
      "end": 5502,
      "loc": {
        "start": {
          "line": 140,
          "column": 50
        },
        "end": {
          "line": 140,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newProperty",
      "start": 5503,
      "end": 5514,
      "loc": {
        "start": {
          "line": 140,
          "column": 52
        },
        "end": {
          "line": 140,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5514,
      "end": 5515,
      "loc": {
        "start": {
          "line": 140,
          "column": 63
        },
        "end": {
          "line": 140,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "oldProperty",
      "start": 5516,
      "end": 5527,
      "loc": {
        "start": {
          "line": 140,
          "column": 65
        },
        "end": {
          "line": 140,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5527,
      "end": 5528,
      "loc": {
        "start": {
          "line": 140,
          "column": 76
        },
        "end": {
          "line": 140,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5528,
      "end": 5529,
      "loc": {
        "start": {
          "line": 140,
          "column": 77
        },
        "end": {
          "line": 140,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5538,
      "end": 5539,
      "loc": {
        "start": {
          "line": 141,
          "column": 8
        },
        "end": {
          "line": 141,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5539,
      "end": 5540,
      "loc": {
        "start": {
          "line": 141,
          "column": 9
        },
        "end": {
          "line": 141,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5540,
      "end": 5541,
      "loc": {
        "start": {
          "line": 141,
          "column": 10
        },
        "end": {
          "line": 141,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 5550,
      "end": 5552,
      "loc": {
        "start": {
          "line": 142,
          "column": 8
        },
        "end": {
          "line": 142,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5553,
      "end": 5554,
      "loc": {
        "start": {
          "line": 142,
          "column": 11
        },
        "end": {
          "line": 142,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "changes",
      "start": 5554,
      "end": 5561,
      "loc": {
        "start": {
          "line": 142,
          "column": 12
        },
        "end": {
          "line": 142,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5561,
      "end": 5562,
      "loc": {
        "start": {
          "line": 142,
          "column": 19
        },
        "end": {
          "line": 142,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 5562,
      "end": 5568,
      "loc": {
        "start": {
          "line": 142,
          "column": 20
        },
        "end": {
          "line": 142,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5568,
      "end": 5569,
      "loc": {
        "start": {
          "line": 142,
          "column": 26
        },
        "end": {
          "line": 142,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5570,
      "end": 5571,
      "loc": {
        "start": {
          "line": 142,
          "column": 28
        },
        "end": {
          "line": 142,
          "column": 29
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " @ts-ignore",
      "start": 5584,
      "end": 5597,
      "loc": {
        "start": {
          "line": 143,
          "column": 12
        },
        "end": {
          "line": 143,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 5610,
      "end": 5614,
      "loc": {
        "start": {
          "line": 144,
          "column": 12
        },
        "end": {
          "line": 144,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5614,
      "end": 5615,
      "loc": {
        "start": {
          "line": 144,
          "column": 16
        },
        "end": {
          "line": 144,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 5615,
      "end": 5620,
      "loc": {
        "start": {
          "line": 144,
          "column": 17
        },
        "end": {
          "line": 144,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5620,
      "end": 5621,
      "loc": {
        "start": {
          "line": 144,
          "column": 22
        },
        "end": {
          "line": 144,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "__time",
      "start": 5621,
      "end": 5627,
      "loc": {
        "start": {
          "line": 144,
          "column": 23
        },
        "end": {
          "line": 144,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5628,
      "end": 5629,
      "loc": {
        "start": {
          "line": 144,
          "column": 30
        },
        "end": {
          "line": 144,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Date",
      "start": 5630,
      "end": 5634,
      "loc": {
        "start": {
          "line": 144,
          "column": 32
        },
        "end": {
          "line": 144,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5634,
      "end": 5635,
      "loc": {
        "start": {
          "line": 144,
          "column": 36
        },
        "end": {
          "line": 144,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "now",
      "start": 5635,
      "end": 5638,
      "loc": {
        "start": {
          "line": 144,
          "column": 37
        },
        "end": {
          "line": 144,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5638,
      "end": 5639,
      "loc": {
        "start": {
          "line": 144,
          "column": 40
        },
        "end": {
          "line": 144,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5639,
      "end": 5640,
      "loc": {
        "start": {
          "line": 144,
          "column": 41
        },
        "end": {
          "line": 144,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5640,
      "end": 5641,
      "loc": {
        "start": {
          "line": 144,
          "column": 42
        },
        "end": {
          "line": 144,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 5654,
      "end": 5656,
      "loc": {
        "start": {
          "line": 145,
          "column": 12
        },
        "end": {
          "line": 145,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5657,
      "end": 5658,
      "loc": {
        "start": {
          "line": 145,
          "column": 15
        },
        "end": {
          "line": 145,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "historyMode",
      "start": 5658,
      "end": 5669,
      "loc": {
        "start": {
          "line": 145,
          "column": 16
        },
        "end": {
          "line": 145,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "==",
      "start": 5670,
      "end": 5672,
      "loc": {
        "start": {
          "line": 145,
          "column": 28
        },
        "end": {
          "line": 145,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 5673,
      "end": 5677,
      "loc": {
        "start": {
          "line": 145,
          "column": 31
        },
        "end": {
          "line": 145,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5677,
      "end": 5678,
      "loc": {
        "start": {
          "line": 145,
          "column": 35
        },
        "end": {
          "line": 145,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5679,
      "end": 5680,
      "loc": {
        "start": {
          "line": 145,
          "column": 37
        },
        "end": {
          "line": 145,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 5697,
      "end": 5701,
      "loc": {
        "start": {
          "line": 146,
          "column": 16
        },
        "end": {
          "line": 146,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5701,
      "end": 5702,
      "loc": {
        "start": {
          "line": 146,
          "column": 20
        },
        "end": {
          "line": 146,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "stateHistory",
      "start": 5702,
      "end": 5714,
      "loc": {
        "start": {
          "line": 146,
          "column": 21
        },
        "end": {
          "line": 146,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5714,
      "end": 5715,
      "loc": {
        "start": {
          "line": 146,
          "column": 33
        },
        "end": {
          "line": 146,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "push",
      "start": 5715,
      "end": 5719,
      "loc": {
        "start": {
          "line": 146,
          "column": 34
        },
        "end": {
          "line": 146,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5719,
      "end": 5720,
      "loc": {
        "start": {
          "line": 146,
          "column": 38
        },
        "end": {
          "line": 146,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "oldState",
      "start": 5720,
      "end": 5728,
      "loc": {
        "start": {
          "line": 146,
          "column": 39
        },
        "end": {
          "line": 146,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5728,
      "end": 5729,
      "loc": {
        "start": {
          "line": 146,
          "column": 47
        },
        "end": {
          "line": 146,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5729,
      "end": 5730,
      "loc": {
        "start": {
          "line": 146,
          "column": 48
        },
        "end": {
          "line": 146,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5743,
      "end": 5744,
      "loc": {
        "start": {
          "line": 147,
          "column": 12
        },
        "end": {
          "line": 147,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 5757,
      "end": 5761,
      "loc": {
        "start": {
          "line": 148,
          "column": 12
        },
        "end": {
          "line": 148,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5761,
      "end": 5762,
      "loc": {
        "start": {
          "line": 148,
          "column": 16
        },
        "end": {
          "line": 148,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_triggerChangeCallbacks",
      "start": 5762,
      "end": 5785,
      "loc": {
        "start": {
          "line": 148,
          "column": 17
        },
        "end": {
          "line": 148,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5785,
      "end": 5786,
      "loc": {
        "start": {
          "line": 148,
          "column": 40
        },
        "end": {
          "line": 148,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "__anyChange",
      "start": 5786,
      "end": 5799,
      "loc": {
        "start": {
          "line": 148,
          "column": 41
        },
        "end": {
          "line": 148,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5799,
      "end": 5800,
      "loc": {
        "start": {
          "line": 148,
          "column": 54
        },
        "end": {
          "line": 148,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 5801,
      "end": 5805,
      "loc": {
        "start": {
          "line": 148,
          "column": 56
        },
        "end": {
          "line": 148,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5805,
      "end": 5806,
      "loc": {
        "start": {
          "line": 148,
          "column": 60
        },
        "end": {
          "line": 148,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 5806,
      "end": 5811,
      "loc": {
        "start": {
          "line": 148,
          "column": 61
        },
        "end": {
          "line": 148,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5811,
      "end": 5812,
      "loc": {
        "start": {
          "line": 148,
          "column": 66
        },
        "end": {
          "line": 148,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "oldState",
      "start": 5813,
      "end": 5821,
      "loc": {
        "start": {
          "line": 148,
          "column": 68
        },
        "end": {
          "line": 148,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5821,
      "end": 5822,
      "loc": {
        "start": {
          "line": 148,
          "column": 76
        },
        "end": {
          "line": 148,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5822,
      "end": 5823,
      "loc": {
        "start": {
          "line": 148,
          "column": 77
        },
        "end": {
          "line": 148,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 5836,
      "end": 5840,
      "loc": {
        "start": {
          "line": 149,
          "column": 12
        },
        "end": {
          "line": 149,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5840,
      "end": 5841,
      "loc": {
        "start": {
          "line": 149,
          "column": 16
        },
        "end": {
          "line": 149,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "forwardToBoundStates",
      "start": 5841,
      "end": 5861,
      "loc": {
        "start": {
          "line": 149,
          "column": 17
        },
        "end": {
          "line": 149,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5861,
      "end": 5862,
      "loc": {
        "start": {
          "line": 149,
          "column": 37
        },
        "end": {
          "line": 149,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5862,
      "end": 5863,
      "loc": {
        "start": {
          "line": 149,
          "column": 38
        },
        "end": {
          "line": 149,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5863,
      "end": 5864,
      "loc": {
        "start": {
          "line": 149,
          "column": 39
        },
        "end": {
          "line": 149,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5873,
      "end": 5874,
      "loc": {
        "start": {
          "line": 150,
          "column": 8
        },
        "end": {
          "line": 150,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5879,
      "end": 5880,
      "loc": {
        "start": {
          "line": 151,
          "column": 4
        },
        "end": {
          "line": 151,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5880,
      "end": 5881,
      "loc": {
        "start": {
          "line": 151,
          "column": 5
        },
        "end": {
          "line": 151,
          "column": 6
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Subscribe to changes in the state\n     * @param {function(newValue: *, oldValue: *)} callback\n     * @param {string} property - Name of the property to watch\n     * @example <caption>Trigger callback when userName is updated</caption>\n     * myStore.subscribeToChanges((newVal)=>{ console.log(\"userName changed to...\", newVal)}, \"userName\");\n     ",
      "start": 5886,
      "end": 6246,
      "loc": {
        "start": {
          "line": 152,
          "column": 4
        },
        "end": {
          "line": 158,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Store",
      "start": 6251,
      "end": 6256,
      "loc": {
        "start": {
          "line": 159,
          "column": 4
        },
        "end": {
          "line": 159,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6256,
      "end": 6257,
      "loc": {
        "start": {
          "line": 159,
          "column": 9
        },
        "end": {
          "line": 159,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 6257,
      "end": 6266,
      "loc": {
        "start": {
          "line": 159,
          "column": 10
        },
        "end": {
          "line": 159,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6266,
      "end": 6267,
      "loc": {
        "start": {
          "line": 159,
          "column": 19
        },
        "end": {
          "line": 159,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "subscribeToChanges",
      "start": 6267,
      "end": 6285,
      "loc": {
        "start": {
          "line": 159,
          "column": 20
        },
        "end": {
          "line": 159,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 6286,
      "end": 6287,
      "loc": {
        "start": {
          "line": 159,
          "column": 39
        },
        "end": {
          "line": 159,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 6288,
      "end": 6296,
      "loc": {
        "start": {
          "line": 159,
          "column": 41
        },
        "end": {
          "line": 159,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6297,
      "end": 6298,
      "loc": {
        "start": {
          "line": 159,
          "column": 50
        },
        "end": {
          "line": 159,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "callback",
      "start": 6298,
      "end": 6306,
      "loc": {
        "start": {
          "line": 159,
          "column": 51
        },
        "end": {
          "line": 159,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6306,
      "end": 6307,
      "loc": {
        "start": {
          "line": 159,
          "column": 59
        },
        "end": {
          "line": 159,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 6308,
      "end": 6316,
      "loc": {
        "start": {
          "line": 159,
          "column": 61
        },
        "end": {
          "line": 159,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6316,
      "end": 6317,
      "loc": {
        "start": {
          "line": 159,
          "column": 69
        },
        "end": {
          "line": 159,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6318,
      "end": 6319,
      "loc": {
        "start": {
          "line": 159,
          "column": 71
        },
        "end": {
          "line": 159,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 6328,
      "end": 6330,
      "loc": {
        "start": {
          "line": 160,
          "column": 8
        },
        "end": {
          "line": 160,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6331,
      "end": 6332,
      "loc": {
        "start": {
          "line": 160,
          "column": 11
        },
        "end": {
          "line": 160,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 6332,
      "end": 6340,
      "loc": {
        "start": {
          "line": 160,
          "column": 12
        },
        "end": {
          "line": 160,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 6341,
      "end": 6344,
      "loc": {
        "start": {
          "line": 160,
          "column": 21
        },
        "end": {
          "line": 160,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "void",
        "keyword": "void",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "void",
      "start": 6345,
      "end": 6349,
      "loc": {
        "start": {
          "line": 160,
          "column": 25
        },
        "end": {
          "line": 160,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 6350,
      "end": 6351,
      "loc": {
        "start": {
          "line": 160,
          "column": 30
        },
        "end": {
          "line": 160,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6351,
      "end": 6352,
      "loc": {
        "start": {
          "line": 160,
          "column": 31
        },
        "end": {
          "line": 160,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6353,
      "end": 6354,
      "loc": {
        "start": {
          "line": 160,
          "column": 33
        },
        "end": {
          "line": 160,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 6355,
      "end": 6363,
      "loc": {
        "start": {
          "line": 160,
          "column": 35
        },
        "end": {
          "line": 160,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 6364,
      "end": 6365,
      "loc": {
        "start": {
          "line": 160,
          "column": 44
        },
        "end": {
          "line": 160,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "__anyChange",
      "start": 6366,
      "end": 6379,
      "loc": {
        "start": {
          "line": 160,
          "column": 46
        },
        "end": {
          "line": 160,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6379,
      "end": 6380,
      "loc": {
        "start": {
          "line": 160,
          "column": 59
        },
        "end": {
          "line": 160,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6381,
      "end": 6382,
      "loc": {
        "start": {
          "line": 160,
          "column": 61
        },
        "end": {
          "line": 160,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 6391,
      "end": 6393,
      "loc": {
        "start": {
          "line": 161,
          "column": 8
        },
        "end": {
          "line": 161,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6394,
      "end": 6395,
      "loc": {
        "start": {
          "line": 161,
          "column": 11
        },
        "end": {
          "line": 161,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 6395,
      "end": 6399,
      "loc": {
        "start": {
          "line": 161,
          "column": 12
        },
        "end": {
          "line": 161,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6399,
      "end": 6400,
      "loc": {
        "start": {
          "line": 161,
          "column": 16
        },
        "end": {
          "line": 161,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onChangeCallbacks",
      "start": 6400,
      "end": 6417,
      "loc": {
        "start": {
          "line": 161,
          "column": 17
        },
        "end": {
          "line": 161,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6417,
      "end": 6418,
      "loc": {
        "start": {
          "line": 161,
          "column": 34
        },
        "end": {
          "line": 161,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 6418,
      "end": 6426,
      "loc": {
        "start": {
          "line": 161,
          "column": 35
        },
        "end": {
          "line": 161,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6426,
      "end": 6427,
      "loc": {
        "start": {
          "line": 161,
          "column": 43
        },
        "end": {
          "line": 161,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "==",
      "start": 6428,
      "end": 6430,
      "loc": {
        "start": {
          "line": 161,
          "column": 45
        },
        "end": {
          "line": 161,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 6431,
      "end": 6440,
      "loc": {
        "start": {
          "line": 161,
          "column": 48
        },
        "end": {
          "line": 161,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6440,
      "end": 6441,
      "loc": {
        "start": {
          "line": 161,
          "column": 57
        },
        "end": {
          "line": 161,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 6454,
      "end": 6458,
      "loc": {
        "start": {
          "line": 162,
          "column": 12
        },
        "end": {
          "line": 162,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6458,
      "end": 6459,
      "loc": {
        "start": {
          "line": 162,
          "column": 16
        },
        "end": {
          "line": 162,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onChangeCallbacks",
      "start": 6459,
      "end": 6476,
      "loc": {
        "start": {
          "line": 162,
          "column": 17
        },
        "end": {
          "line": 162,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6476,
      "end": 6477,
      "loc": {
        "start": {
          "line": 162,
          "column": 34
        },
        "end": {
          "line": 162,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 6477,
      "end": 6485,
      "loc": {
        "start": {
          "line": 162,
          "column": 35
        },
        "end": {
          "line": 162,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6485,
      "end": 6486,
      "loc": {
        "start": {
          "line": 162,
          "column": 43
        },
        "end": {
          "line": 162,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 6487,
      "end": 6488,
      "loc": {
        "start": {
          "line": 162,
          "column": 45
        },
        "end": {
          "line": 162,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6489,
      "end": 6490,
      "loc": {
        "start": {
          "line": 162,
          "column": 47
        },
        "end": {
          "line": 162,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6490,
      "end": 6491,
      "loc": {
        "start": {
          "line": 162,
          "column": 48
        },
        "end": {
          "line": 162,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6491,
      "end": 6492,
      "loc": {
        "start": {
          "line": 162,
          "column": 49
        },
        "end": {
          "line": 162,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 6501,
      "end": 6503,
      "loc": {
        "start": {
          "line": 163,
          "column": 8
        },
        "end": {
          "line": 163,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6504,
      "end": 6505,
      "loc": {
        "start": {
          "line": 163,
          "column": 11
        },
        "end": {
          "line": 163,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "typeof",
        "keyword": "typeof",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "typeof",
      "start": 6505,
      "end": 6511,
      "loc": {
        "start": {
          "line": 163,
          "column": 12
        },
        "end": {
          "line": 163,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "callback",
      "start": 6512,
      "end": 6520,
      "loc": {
        "start": {
          "line": 163,
          "column": 19
        },
        "end": {
          "line": 163,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!=",
      "start": 6521,
      "end": 6523,
      "loc": {
        "start": {
          "line": 163,
          "column": 28
        },
        "end": {
          "line": 163,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "function",
      "start": 6524,
      "end": 6534,
      "loc": {
        "start": {
          "line": 163,
          "column": 31
        },
        "end": {
          "line": 163,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6534,
      "end": 6535,
      "loc": {
        "start": {
          "line": 163,
          "column": 41
        },
        "end": {
          "line": 163,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6536,
      "end": 6537,
      "loc": {
        "start": {
          "line": 163,
          "column": 43
        },
        "end": {
          "line": 163,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "console",
      "start": 6550,
      "end": 6557,
      "loc": {
        "start": {
          "line": 164,
          "column": 12
        },
        "end": {
          "line": 164,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6557,
      "end": 6558,
      "loc": {
        "start": {
          "line": 164,
          "column": 19
        },
        "end": {
          "line": 164,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "error",
      "start": 6558,
      "end": 6563,
      "loc": {
        "start": {
          "line": 164,
          "column": 20
        },
        "end": {
          "line": 164,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6563,
      "end": 6564,
      "loc": {
        "start": {
          "line": 164,
          "column": 25
        },
        "end": {
          "line": 164,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Callback given is not a function as expected",
      "start": 6564,
      "end": 6610,
      "loc": {
        "start": {
          "line": 164,
          "column": 26
        },
        "end": {
          "line": 164,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6610,
      "end": 6611,
      "loc": {
        "start": {
          "line": 164,
          "column": 72
        },
        "end": {
          "line": 164,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6611,
      "end": 6612,
      "loc": {
        "start": {
          "line": 164,
          "column": 73
        },
        "end": {
          "line": 164,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6621,
      "end": 6622,
      "loc": {
        "start": {
          "line": 165,
          "column": 8
        },
        "end": {
          "line": 165,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 6631,
      "end": 6635,
      "loc": {
        "start": {
          "line": 166,
          "column": 8
        },
        "end": {
          "line": 166,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6636,
      "end": 6637,
      "loc": {
        "start": {
          "line": 166,
          "column": 13
        },
        "end": {
          "line": 166,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 6650,
      "end": 6654,
      "loc": {
        "start": {
          "line": 167,
          "column": 12
        },
        "end": {
          "line": 167,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6654,
      "end": 6655,
      "loc": {
        "start": {
          "line": 167,
          "column": 16
        },
        "end": {
          "line": 167,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onChangeCallbacks",
      "start": 6655,
      "end": 6672,
      "loc": {
        "start": {
          "line": 167,
          "column": 17
        },
        "end": {
          "line": 167,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6672,
      "end": 6673,
      "loc": {
        "start": {
          "line": 167,
          "column": 34
        },
        "end": {
          "line": 167,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 6673,
      "end": 6681,
      "loc": {
        "start": {
          "line": 167,
          "column": 35
        },
        "end": {
          "line": 167,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6681,
      "end": 6682,
      "loc": {
        "start": {
          "line": 167,
          "column": 43
        },
        "end": {
          "line": 167,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6682,
      "end": 6683,
      "loc": {
        "start": {
          "line": 167,
          "column": 44
        },
        "end": {
          "line": 167,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "push",
      "start": 6683,
      "end": 6687,
      "loc": {
        "start": {
          "line": 167,
          "column": 45
        },
        "end": {
          "line": 167,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6687,
      "end": 6688,
      "loc": {
        "start": {
          "line": 167,
          "column": 49
        },
        "end": {
          "line": 167,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "callback",
      "start": 6688,
      "end": 6696,
      "loc": {
        "start": {
          "line": 167,
          "column": 50
        },
        "end": {
          "line": 167,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6696,
      "end": 6697,
      "loc": {
        "start": {
          "line": 167,
          "column": 58
        },
        "end": {
          "line": 167,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6697,
      "end": 6698,
      "loc": {
        "start": {
          "line": 167,
          "column": 59
        },
        "end": {
          "line": 167,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6707,
      "end": 6708,
      "loc": {
        "start": {
          "line": 168,
          "column": 8
        },
        "end": {
          "line": 168,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6713,
      "end": 6714,
      "loc": {
        "start": {
          "line": 169,
          "column": 4
        },
        "end": {
          "line": 169,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6714,
      "end": 6715,
      "loc": {
        "start": {
          "line": 169,
          "column": 5
        },
        "end": {
          "line": 169,
          "column": 6
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Remove subscription to changes in the state\n     * @param {function} callback\n     * @param {string} property - Name of the property to unsubscribe from\n     ",
      "start": 6720,
      "end": 6891,
      "loc": {
        "start": {
          "line": 170,
          "column": 4
        },
        "end": {
          "line": 174,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Store",
      "start": 6896,
      "end": 6901,
      "loc": {
        "start": {
          "line": 175,
          "column": 4
        },
        "end": {
          "line": 175,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6901,
      "end": 6902,
      "loc": {
        "start": {
          "line": 175,
          "column": 9
        },
        "end": {
          "line": 175,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 6902,
      "end": 6911,
      "loc": {
        "start": {
          "line": 175,
          "column": 10
        },
        "end": {
          "line": 175,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6911,
      "end": 6912,
      "loc": {
        "start": {
          "line": 175,
          "column": 19
        },
        "end": {
          "line": 175,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "unSubscribeToChanges",
      "start": 6912,
      "end": 6932,
      "loc": {
        "start": {
          "line": 175,
          "column": 20
        },
        "end": {
          "line": 175,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 6933,
      "end": 6934,
      "loc": {
        "start": {
          "line": 175,
          "column": 41
        },
        "end": {
          "line": 175,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 6935,
      "end": 6943,
      "loc": {
        "start": {
          "line": 175,
          "column": 43
        },
        "end": {
          "line": 175,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6944,
      "end": 6945,
      "loc": {
        "start": {
          "line": 175,
          "column": 52
        },
        "end": {
          "line": 175,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "callback",
      "start": 6945,
      "end": 6953,
      "loc": {
        "start": {
          "line": 175,
          "column": 53
        },
        "end": {
          "line": 175,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6953,
      "end": 6954,
      "loc": {
        "start": {
          "line": 175,
          "column": 61
        },
        "end": {
          "line": 175,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 6955,
      "end": 6963,
      "loc": {
        "start": {
          "line": 175,
          "column": 63
        },
        "end": {
          "line": 175,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6963,
      "end": 6964,
      "loc": {
        "start": {
          "line": 175,
          "column": 71
        },
        "end": {
          "line": 175,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6965,
      "end": 6966,
      "loc": {
        "start": {
          "line": 175,
          "column": 73
        },
        "end": {
          "line": 175,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 6975,
      "end": 6977,
      "loc": {
        "start": {
          "line": 176,
          "column": 8
        },
        "end": {
          "line": 176,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6978,
      "end": 6979,
      "loc": {
        "start": {
          "line": 176,
          "column": 11
        },
        "end": {
          "line": 176,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 6979,
      "end": 6987,
      "loc": {
        "start": {
          "line": 176,
          "column": 12
        },
        "end": {
          "line": 176,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 6988,
      "end": 6991,
      "loc": {
        "start": {
          "line": 176,
          "column": 21
        },
        "end": {
          "line": 176,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "void",
        "keyword": "void",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "void",
      "start": 6992,
      "end": 6996,
      "loc": {
        "start": {
          "line": 176,
          "column": 25
        },
        "end": {
          "line": 176,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 6997,
      "end": 6998,
      "loc": {
        "start": {
          "line": 176,
          "column": 30
        },
        "end": {
          "line": 176,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6998,
      "end": 6999,
      "loc": {
        "start": {
          "line": 176,
          "column": 31
        },
        "end": {
          "line": 176,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7000,
      "end": 7001,
      "loc": {
        "start": {
          "line": 176,
          "column": 33
        },
        "end": {
          "line": 176,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 7002,
      "end": 7010,
      "loc": {
        "start": {
          "line": 176,
          "column": 35
        },
        "end": {
          "line": 176,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 7011,
      "end": 7012,
      "loc": {
        "start": {
          "line": 176,
          "column": 44
        },
        "end": {
          "line": 176,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "__anyChange",
      "start": 7013,
      "end": 7026,
      "loc": {
        "start": {
          "line": 176,
          "column": 46
        },
        "end": {
          "line": 176,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7026,
      "end": 7027,
      "loc": {
        "start": {
          "line": 176,
          "column": 59
        },
        "end": {
          "line": 176,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7028,
      "end": 7029,
      "loc": {
        "start": {
          "line": 176,
          "column": 61
        },
        "end": {
          "line": 176,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 7038,
      "end": 7041,
      "loc": {
        "start": {
          "line": 177,
          "column": 8
        },
        "end": {
          "line": 177,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "callbackList",
      "start": 7042,
      "end": 7054,
      "loc": {
        "start": {
          "line": 177,
          "column": 12
        },
        "end": {
          "line": 177,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 7055,
      "end": 7056,
      "loc": {
        "start": {
          "line": 177,
          "column": 25
        },
        "end": {
          "line": 177,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 7057,
      "end": 7061,
      "loc": {
        "start": {
          "line": 177,
          "column": 27
        },
        "end": {
          "line": 177,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7061,
      "end": 7062,
      "loc": {
        "start": {
          "line": 177,
          "column": 31
        },
        "end": {
          "line": 177,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onChangeCallbacks",
      "start": 7062,
      "end": 7079,
      "loc": {
        "start": {
          "line": 177,
          "column": 32
        },
        "end": {
          "line": 177,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7079,
      "end": 7080,
      "loc": {
        "start": {
          "line": 177,
          "column": 49
        },
        "end": {
          "line": 177,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 7080,
      "end": 7088,
      "loc": {
        "start": {
          "line": 177,
          "column": 50
        },
        "end": {
          "line": 177,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7088,
      "end": 7089,
      "loc": {
        "start": {
          "line": 177,
          "column": 58
        },
        "end": {
          "line": 177,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7089,
      "end": 7090,
      "loc": {
        "start": {
          "line": 177,
          "column": 59
        },
        "end": {
          "line": 177,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 7099,
      "end": 7101,
      "loc": {
        "start": {
          "line": 178,
          "column": 8
        },
        "end": {
          "line": 178,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7102,
      "end": 7103,
      "loc": {
        "start": {
          "line": 178,
          "column": 11
        },
        "end": {
          "line": 178,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "callbackList",
      "start": 7103,
      "end": 7115,
      "loc": {
        "start": {
          "line": 178,
          "column": 12
        },
        "end": {
          "line": 178,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "==",
      "start": 7116,
      "end": 7118,
      "loc": {
        "start": {
          "line": 178,
          "column": 25
        },
        "end": {
          "line": 178,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 7119,
      "end": 7128,
      "loc": {
        "start": {
          "line": 178,
          "column": 28
        },
        "end": {
          "line": 178,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7128,
      "end": 7129,
      "loc": {
        "start": {
          "line": 178,
          "column": 37
        },
        "end": {
          "line": 178,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 7142,
      "end": 7148,
      "loc": {
        "start": {
          "line": 179,
          "column": 12
        },
        "end": {
          "line": 179,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7148,
      "end": 7149,
      "loc": {
        "start": {
          "line": 179,
          "column": 18
        },
        "end": {
          "line": 179,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 7158,
      "end": 7162,
      "loc": {
        "start": {
          "line": 180,
          "column": 8
        },
        "end": {
          "line": 180,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7162,
      "end": 7163,
      "loc": {
        "start": {
          "line": 180,
          "column": 12
        },
        "end": {
          "line": 180,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onChangeCallbacks",
      "start": 7163,
      "end": 7180,
      "loc": {
        "start": {
          "line": 180,
          "column": 13
        },
        "end": {
          "line": 180,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7180,
      "end": 7181,
      "loc": {
        "start": {
          "line": 180,
          "column": 30
        },
        "end": {
          "line": 180,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 7181,
      "end": 7189,
      "loc": {
        "start": {
          "line": 180,
          "column": 31
        },
        "end": {
          "line": 180,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7189,
      "end": 7190,
      "loc": {
        "start": {
          "line": 180,
          "column": 39
        },
        "end": {
          "line": 180,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 7191,
      "end": 7192,
      "loc": {
        "start": {
          "line": 180,
          "column": 41
        },
        "end": {
          "line": 180,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_",
      "start": 7193,
      "end": 7194,
      "loc": {
        "start": {
          "line": 180,
          "column": 43
        },
        "end": {
          "line": 180,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7194,
      "end": 7195,
      "loc": {
        "start": {
          "line": 180,
          "column": 44
        },
        "end": {
          "line": 180,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pull",
      "start": 7195,
      "end": 7199,
      "loc": {
        "start": {
          "line": 180,
          "column": 45
        },
        "end": {
          "line": 180,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7199,
      "end": 7200,
      "loc": {
        "start": {
          "line": 180,
          "column": 49
        },
        "end": {
          "line": 180,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "callbackList",
      "start": 7200,
      "end": 7212,
      "loc": {
        "start": {
          "line": 180,
          "column": 50
        },
        "end": {
          "line": 180,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7212,
      "end": 7213,
      "loc": {
        "start": {
          "line": 180,
          "column": 62
        },
        "end": {
          "line": 180,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "callback",
      "start": 7214,
      "end": 7222,
      "loc": {
        "start": {
          "line": 180,
          "column": 64
        },
        "end": {
          "line": 180,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7222,
      "end": 7223,
      "loc": {
        "start": {
          "line": 180,
          "column": 72
        },
        "end": {
          "line": 180,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7223,
      "end": 7224,
      "loc": {
        "start": {
          "line": 180,
          "column": 73
        },
        "end": {
          "line": 180,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7229,
      "end": 7230,
      "loc": {
        "start": {
          "line": 181,
          "column": 4
        },
        "end": {
          "line": 181,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7230,
      "end": 7231,
      "loc": {
        "start": {
          "line": 181,
          "column": 5
        },
        "end": {
          "line": 181,
          "column": 6
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     *\n     * @param {object} oldState\n     * @param {object} newState\n     * @return {Array}\n     ",
      "start": 7236,
      "end": 7341,
      "loc": {
        "start": {
          "line": 182,
          "column": 4
        },
        "end": {
          "line": 187,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Store",
      "start": 7346,
      "end": 7351,
      "loc": {
        "start": {
          "line": 188,
          "column": 4
        },
        "end": {
          "line": 188,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7351,
      "end": 7352,
      "loc": {
        "start": {
          "line": 188,
          "column": 9
        },
        "end": {
          "line": 188,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getChangeList",
      "start": 7352,
      "end": 7365,
      "loc": {
        "start": {
          "line": 188,
          "column": 10
        },
        "end": {
          "line": 188,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 7366,
      "end": 7367,
      "loc": {
        "start": {
          "line": 188,
          "column": 24
        },
        "end": {
          "line": 188,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 7368,
      "end": 7376,
      "loc": {
        "start": {
          "line": 188,
          "column": 26
        },
        "end": {
          "line": 188,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7377,
      "end": 7378,
      "loc": {
        "start": {
          "line": 188,
          "column": 35
        },
        "end": {
          "line": 188,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "oldState",
      "start": 7378,
      "end": 7386,
      "loc": {
        "start": {
          "line": 188,
          "column": 36
        },
        "end": {
          "line": 188,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7386,
      "end": 7387,
      "loc": {
        "start": {
          "line": 188,
          "column": 44
        },
        "end": {
          "line": 188,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newState",
      "start": 7388,
      "end": 7396,
      "loc": {
        "start": {
          "line": 188,
          "column": 46
        },
        "end": {
          "line": 188,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7396,
      "end": 7397,
      "loc": {
        "start": {
          "line": 188,
          "column": 54
        },
        "end": {
          "line": 188,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7398,
      "end": 7399,
      "loc": {
        "start": {
          "line": 188,
          "column": 56
        },
        "end": {
          "line": 188,
          "column": 57
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Loop through state properties looking for changes",
      "start": 7408,
      "end": 7460,
      "loc": {
        "start": {
          "line": 189,
          "column": 8
        },
        "end": {
          "line": 189,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 7469,
      "end": 7472,
      "loc": {
        "start": {
          "line": 190,
          "column": 8
        },
        "end": {
          "line": 190,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "changes",
      "start": 7473,
      "end": 7480,
      "loc": {
        "start": {
          "line": 190,
          "column": 12
        },
        "end": {
          "line": 190,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 7481,
      "end": 7482,
      "loc": {
        "start": {
          "line": 190,
          "column": 20
        },
        "end": {
          "line": 190,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7483,
      "end": 7484,
      "loc": {
        "start": {
          "line": 190,
          "column": 22
        },
        "end": {
          "line": 190,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7484,
      "end": 7485,
      "loc": {
        "start": {
          "line": 190,
          "column": 23
        },
        "end": {
          "line": 190,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7485,
      "end": 7486,
      "loc": {
        "start": {
          "line": 190,
          "column": 24
        },
        "end": {
          "line": 190,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 7495,
      "end": 7498,
      "loc": {
        "start": {
          "line": 191,
          "column": 8
        },
        "end": {
          "line": 191,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7499,
      "end": 7500,
      "loc": {
        "start": {
          "line": 191,
          "column": 12
        },
        "end": {
          "line": 191,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 7500,
      "end": 7503,
      "loc": {
        "start": {
          "line": 191,
          "column": 13
        },
        "end": {
          "line": 191,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 7504,
      "end": 7512,
      "loc": {
        "start": {
          "line": 191,
          "column": 17
        },
        "end": {
          "line": 191,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "in",
        "keyword": "in",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "in",
      "start": 7513,
      "end": 7515,
      "loc": {
        "start": {
          "line": 191,
          "column": 26
        },
        "end": {
          "line": 191,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newState",
      "start": 7516,
      "end": 7524,
      "loc": {
        "start": {
          "line": 191,
          "column": 29
        },
        "end": {
          "line": 191,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7524,
      "end": 7525,
      "loc": {
        "start": {
          "line": 191,
          "column": 37
        },
        "end": {
          "line": 191,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7526,
      "end": 7527,
      "loc": {
        "start": {
          "line": 191,
          "column": 39
        },
        "end": {
          "line": 191,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 7540,
      "end": 7543,
      "loc": {
        "start": {
          "line": 192,
          "column": 12
        },
        "end": {
          "line": 192,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newProperty",
      "start": 7544,
      "end": 7555,
      "loc": {
        "start": {
          "line": 192,
          "column": 16
        },
        "end": {
          "line": 192,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 7556,
      "end": 7557,
      "loc": {
        "start": {
          "line": 192,
          "column": 28
        },
        "end": {
          "line": 192,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newState",
      "start": 7558,
      "end": 7566,
      "loc": {
        "start": {
          "line": 192,
          "column": 30
        },
        "end": {
          "line": 192,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7566,
      "end": 7567,
      "loc": {
        "start": {
          "line": 192,
          "column": 38
        },
        "end": {
          "line": 192,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 7567,
      "end": 7575,
      "loc": {
        "start": {
          "line": 192,
          "column": 39
        },
        "end": {
          "line": 192,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7575,
      "end": 7576,
      "loc": {
        "start": {
          "line": 192,
          "column": 47
        },
        "end": {
          "line": 192,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7576,
      "end": 7577,
      "loc": {
        "start": {
          "line": 192,
          "column": 48
        },
        "end": {
          "line": 192,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 7590,
      "end": 7593,
      "loc": {
        "start": {
          "line": 193,
          "column": 12
        },
        "end": {
          "line": 193,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "oldProperty",
      "start": 7594,
      "end": 7605,
      "loc": {
        "start": {
          "line": 193,
          "column": 16
        },
        "end": {
          "line": 193,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 7606,
      "end": 7607,
      "loc": {
        "start": {
          "line": 193,
          "column": 28
        },
        "end": {
          "line": 193,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "oldState",
      "start": 7608,
      "end": 7616,
      "loc": {
        "start": {
          "line": 193,
          "column": 30
        },
        "end": {
          "line": 193,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7616,
      "end": 7617,
      "loc": {
        "start": {
          "line": 193,
          "column": 38
        },
        "end": {
          "line": 193,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 7617,
      "end": 7625,
      "loc": {
        "start": {
          "line": 193,
          "column": 39
        },
        "end": {
          "line": 193,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7625,
      "end": 7626,
      "loc": {
        "start": {
          "line": 193,
          "column": 47
        },
        "end": {
          "line": 193,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7626,
      "end": 7627,
      "loc": {
        "start": {
          "line": 193,
          "column": 48
        },
        "end": {
          "line": 193,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 7640,
      "end": 7642,
      "loc": {
        "start": {
          "line": 194,
          "column": 12
        },
        "end": {
          "line": 194,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7643,
      "end": 7644,
      "loc": {
        "start": {
          "line": 194,
          "column": 15
        },
        "end": {
          "line": 194,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 7644,
      "end": 7652,
      "loc": {
        "start": {
          "line": 194,
          "column": 16
        },
        "end": {
          "line": 194,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "==",
      "start": 7653,
      "end": 7655,
      "loc": {
        "start": {
          "line": 194,
          "column": 25
        },
        "end": {
          "line": 194,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "__time",
      "start": 7656,
      "end": 7664,
      "loc": {
        "start": {
          "line": 194,
          "column": 28
        },
        "end": {
          "line": 194,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7664,
      "end": 7665,
      "loc": {
        "start": {
          "line": 194,
          "column": 36
        },
        "end": {
          "line": 194,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "continue",
        "keyword": "continue",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "continue",
      "start": 7682,
      "end": 7690,
      "loc": {
        "start": {
          "line": 195,
          "column": 16
        },
        "end": {
          "line": 195,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7690,
      "end": 7691,
      "loc": {
        "start": {
          "line": 195,
          "column": 24
        },
        "end": {
          "line": 195,
          "column": 25
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Generate change list",
      "start": 7704,
      "end": 7727,
      "loc": {
        "start": {
          "line": 196,
          "column": 12
        },
        "end": {
          "line": 196,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 7740,
      "end": 7742,
      "loc": {
        "start": {
          "line": 197,
          "column": 12
        },
        "end": {
          "line": 197,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7743,
      "end": 7744,
      "loc": {
        "start": {
          "line": 197,
          "column": 15
        },
        "end": {
          "line": 197,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 7744,
      "end": 7745,
      "loc": {
        "start": {
          "line": 197,
          "column": 16
        },
        "end": {
          "line": 197,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_",
      "start": 7745,
      "end": 7746,
      "loc": {
        "start": {
          "line": 197,
          "column": 17
        },
        "end": {
          "line": 197,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7746,
      "end": 7747,
      "loc": {
        "start": {
          "line": 197,
          "column": 18
        },
        "end": {
          "line": 197,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isEqual",
      "start": 7747,
      "end": 7754,
      "loc": {
        "start": {
          "line": 197,
          "column": 19
        },
        "end": {
          "line": 197,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7754,
      "end": 7755,
      "loc": {
        "start": {
          "line": 197,
          "column": 26
        },
        "end": {
          "line": 197,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newProperty",
      "start": 7755,
      "end": 7766,
      "loc": {
        "start": {
          "line": 197,
          "column": 27
        },
        "end": {
          "line": 197,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7766,
      "end": 7767,
      "loc": {
        "start": {
          "line": 197,
          "column": 38
        },
        "end": {
          "line": 197,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "oldProperty",
      "start": 7768,
      "end": 7779,
      "loc": {
        "start": {
          "line": 197,
          "column": 40
        },
        "end": {
          "line": 197,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7779,
      "end": 7780,
      "loc": {
        "start": {
          "line": 197,
          "column": 51
        },
        "end": {
          "line": 197,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7780,
      "end": 7781,
      "loc": {
        "start": {
          "line": 197,
          "column": 52
        },
        "end": {
          "line": 197,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7782,
      "end": 7783,
      "loc": {
        "start": {
          "line": 197,
          "column": 54
        },
        "end": {
          "line": 197,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "changes",
      "start": 7800,
      "end": 7807,
      "loc": {
        "start": {
          "line": 198,
          "column": 16
        },
        "end": {
          "line": 198,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7807,
      "end": 7808,
      "loc": {
        "start": {
          "line": 198,
          "column": 23
        },
        "end": {
          "line": 198,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "push",
      "start": 7808,
      "end": 7812,
      "loc": {
        "start": {
          "line": 198,
          "column": 24
        },
        "end": {
          "line": 198,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7812,
      "end": 7813,
      "loc": {
        "start": {
          "line": 198,
          "column": 28
        },
        "end": {
          "line": 198,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7813,
      "end": 7814,
      "loc": {
        "start": {
          "line": 198,
          "column": 29
        },
        "end": {
          "line": 198,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 7835,
      "end": 7843,
      "loc": {
        "start": {
          "line": 199,
          "column": 20
        },
        "end": {
          "line": 199,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7843,
      "end": 7844,
      "loc": {
        "start": {
          "line": 199,
          "column": 28
        },
        "end": {
          "line": 199,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 7845,
      "end": 7853,
      "loc": {
        "start": {
          "line": 199,
          "column": 30
        },
        "end": {
          "line": 199,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7853,
      "end": 7854,
      "loc": {
        "start": {
          "line": 199,
          "column": 38
        },
        "end": {
          "line": 199,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isNew",
      "start": 7875,
      "end": 7880,
      "loc": {
        "start": {
          "line": 200,
          "column": 20
        },
        "end": {
          "line": 200,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7880,
      "end": 7881,
      "loc": {
        "start": {
          "line": 200,
          "column": 25
        },
        "end": {
          "line": 200,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "oldProperty",
      "start": 7882,
      "end": 7893,
      "loc": {
        "start": {
          "line": 200,
          "column": 27
        },
        "end": {
          "line": 200,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "==",
      "start": 7894,
      "end": 7896,
      "loc": {
        "start": {
          "line": 200,
          "column": 39
        },
        "end": {
          "line": 200,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 7897,
      "end": 7906,
      "loc": {
        "start": {
          "line": 200,
          "column": 42
        },
        "end": {
          "line": 200,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 7907,
      "end": 7909,
      "loc": {
        "start": {
          "line": 200,
          "column": 52
        },
        "end": {
          "line": 200,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "oldProperty",
      "start": 7910,
      "end": 7921,
      "loc": {
        "start": {
          "line": 200,
          "column": 55
        },
        "end": {
          "line": 200,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "==",
      "start": 7922,
      "end": 7924,
      "loc": {
        "start": {
          "line": 200,
          "column": 67
        },
        "end": {
          "line": 200,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 7925,
      "end": 7929,
      "loc": {
        "start": {
          "line": 200,
          "column": 70
        },
        "end": {
          "line": 200,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7946,
      "end": 7947,
      "loc": {
        "start": {
          "line": 201,
          "column": 16
        },
        "end": {
          "line": 201,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7947,
      "end": 7948,
      "loc": {
        "start": {
          "line": 201,
          "column": 17
        },
        "end": {
          "line": 201,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7948,
      "end": 7949,
      "loc": {
        "start": {
          "line": 201,
          "column": 18
        },
        "end": {
          "line": 201,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7962,
      "end": 7963,
      "loc": {
        "start": {
          "line": 202,
          "column": 12
        },
        "end": {
          "line": 202,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7972,
      "end": 7973,
      "loc": {
        "start": {
          "line": 203,
          "column": 8
        },
        "end": {
          "line": 203,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 7982,
      "end": 7988,
      "loc": {
        "start": {
          "line": 204,
          "column": 8
        },
        "end": {
          "line": 204,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "changes",
      "start": 7989,
      "end": 7996,
      "loc": {
        "start": {
          "line": 204,
          "column": 15
        },
        "end": {
          "line": 204,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7996,
      "end": 7997,
      "loc": {
        "start": {
          "line": 204,
          "column": 22
        },
        "end": {
          "line": 204,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8002,
      "end": 8003,
      "loc": {
        "start": {
          "line": 205,
          "column": 4
        },
        "end": {
          "line": 205,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8003,
      "end": 8004,
      "loc": {
        "start": {
          "line": 205,
          "column": 5
        },
        "end": {
          "line": 205,
          "column": 6
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Returns difference between two states in human-readable form\n     * @param {object} oldState\n     * @param {object} newState\n     * @return {string}\n     ",
      "start": 8009,
      "end": 8176,
      "loc": {
        "start": {
          "line": 206,
          "column": 4
        },
        "end": {
          "line": 211,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Store",
      "start": 8181,
      "end": 8186,
      "loc": {
        "start": {
          "line": 212,
          "column": 4
        },
        "end": {
          "line": 212,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8186,
      "end": 8187,
      "loc": {
        "start": {
          "line": 212,
          "column": 9
        },
        "end": {
          "line": 212,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getChangeLog",
      "start": 8187,
      "end": 8199,
      "loc": {
        "start": {
          "line": 212,
          "column": 10
        },
        "end": {
          "line": 212,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 8200,
      "end": 8201,
      "loc": {
        "start": {
          "line": 212,
          "column": 23
        },
        "end": {
          "line": 212,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 8202,
      "end": 8210,
      "loc": {
        "start": {
          "line": 212,
          "column": 25
        },
        "end": {
          "line": 212,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8211,
      "end": 8212,
      "loc": {
        "start": {
          "line": 212,
          "column": 34
        },
        "end": {
          "line": 212,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "oldState",
      "start": 8212,
      "end": 8220,
      "loc": {
        "start": {
          "line": 212,
          "column": 35
        },
        "end": {
          "line": 212,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8220,
      "end": 8221,
      "loc": {
        "start": {
          "line": 212,
          "column": 43
        },
        "end": {
          "line": 212,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newState",
      "start": 8222,
      "end": 8230,
      "loc": {
        "start": {
          "line": 212,
          "column": 45
        },
        "end": {
          "line": 212,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8230,
      "end": 8231,
      "loc": {
        "start": {
          "line": 212,
          "column": 53
        },
        "end": {
          "line": 212,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8232,
      "end": 8233,
      "loc": {
        "start": {
          "line": 212,
          "column": 55
        },
        "end": {
          "line": 212,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 8242,
      "end": 8245,
      "loc": {
        "start": {
          "line": 213,
          "column": 8
        },
        "end": {
          "line": 213,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "changes",
      "start": 8246,
      "end": 8253,
      "loc": {
        "start": {
          "line": 213,
          "column": 12
        },
        "end": {
          "line": 213,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 8254,
      "end": 8255,
      "loc": {
        "start": {
          "line": 213,
          "column": 20
        },
        "end": {
          "line": 213,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 8256,
      "end": 8260,
      "loc": {
        "start": {
          "line": 213,
          "column": 22
        },
        "end": {
          "line": 213,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8260,
      "end": 8261,
      "loc": {
        "start": {
          "line": 213,
          "column": 26
        },
        "end": {
          "line": 213,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getChangeList",
      "start": 8261,
      "end": 8274,
      "loc": {
        "start": {
          "line": 213,
          "column": 27
        },
        "end": {
          "line": 213,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8274,
      "end": 8275,
      "loc": {
        "start": {
          "line": 213,
          "column": 40
        },
        "end": {
          "line": 213,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "oldState",
      "start": 8275,
      "end": 8283,
      "loc": {
        "start": {
          "line": 213,
          "column": 41
        },
        "end": {
          "line": 213,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8283,
      "end": 8284,
      "loc": {
        "start": {
          "line": 213,
          "column": 49
        },
        "end": {
          "line": 213,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newState",
      "start": 8285,
      "end": 8293,
      "loc": {
        "start": {
          "line": 213,
          "column": 51
        },
        "end": {
          "line": 213,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8293,
      "end": 8294,
      "loc": {
        "start": {
          "line": 213,
          "column": 59
        },
        "end": {
          "line": 213,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8294,
      "end": 8295,
      "loc": {
        "start": {
          "line": 213,
          "column": 60
        },
        "end": {
          "line": 213,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 8304,
      "end": 8307,
      "loc": {
        "start": {
          "line": 214,
          "column": 8
        },
        "end": {
          "line": 214,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "log",
      "start": 8308,
      "end": 8311,
      "loc": {
        "start": {
          "line": 214,
          "column": 12
        },
        "end": {
          "line": 214,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 8312,
      "end": 8313,
      "loc": {
        "start": {
          "line": 214,
          "column": 16
        },
        "end": {
          "line": 214,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "changes",
      "start": 8314,
      "end": 8321,
      "loc": {
        "start": {
          "line": 214,
          "column": 18
        },
        "end": {
          "line": 214,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8321,
      "end": 8322,
      "loc": {
        "start": {
          "line": 214,
          "column": 25
        },
        "end": {
          "line": 214,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "map",
      "start": 8322,
      "end": 8325,
      "loc": {
        "start": {
          "line": 214,
          "column": 26
        },
        "end": {
          "line": 214,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8325,
      "end": 8326,
      "loc": {
        "start": {
          "line": 214,
          "column": 29
        },
        "end": {
          "line": 214,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 8326,
      "end": 8334,
      "loc": {
        "start": {
          "line": 214,
          "column": 30
        },
        "end": {
          "line": 214,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8335,
      "end": 8336,
      "loc": {
        "start": {
          "line": 214,
          "column": 39
        },
        "end": {
          "line": 214,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "o",
      "start": 8336,
      "end": 8337,
      "loc": {
        "start": {
          "line": 214,
          "column": 40
        },
        "end": {
          "line": 214,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8337,
      "end": 8338,
      "loc": {
        "start": {
          "line": 214,
          "column": 41
        },
        "end": {
          "line": 214,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8339,
      "end": 8340,
      "loc": {
        "start": {
          "line": 214,
          "column": 43
        },
        "end": {
          "line": 214,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 8353,
      "end": 8355,
      "loc": {
        "start": {
          "line": 215,
          "column": 12
        },
        "end": {
          "line": 215,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8356,
      "end": 8357,
      "loc": {
        "start": {
          "line": 215,
          "column": 15
        },
        "end": {
          "line": 215,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "o",
      "start": 8357,
      "end": 8358,
      "loc": {
        "start": {
          "line": 215,
          "column": 16
        },
        "end": {
          "line": 215,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8358,
      "end": 8359,
      "loc": {
        "start": {
          "line": 215,
          "column": 17
        },
        "end": {
          "line": 215,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isNew",
      "start": 8359,
      "end": 8364,
      "loc": {
        "start": {
          "line": 215,
          "column": 18
        },
        "end": {
          "line": 215,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8364,
      "end": 8365,
      "loc": {
        "start": {
          "line": 215,
          "column": 23
        },
        "end": {
          "line": 215,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 8382,
      "end": 8388,
      "loc": {
        "start": {
          "line": 216,
          "column": 16
        },
        "end": {
          "line": 216,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Added new property \"",
      "start": 8389,
      "end": 8412,
      "loc": {
        "start": {
          "line": 216,
          "column": 23
        },
        "end": {
          "line": 216,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8412,
      "end": 8413,
      "loc": {
        "start": {
          "line": 216,
          "column": 46
        },
        "end": {
          "line": 216,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "concat",
      "start": 8413,
      "end": 8419,
      "loc": {
        "start": {
          "line": 216,
          "column": 47
        },
        "end": {
          "line": 216,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8419,
      "end": 8420,
      "loc": {
        "start": {
          "line": 216,
          "column": 53
        },
        "end": {
          "line": 216,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "o",
      "start": 8420,
      "end": 8421,
      "loc": {
        "start": {
          "line": 216,
          "column": 54
        },
        "end": {
          "line": 216,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8421,
      "end": 8422,
      "loc": {
        "start": {
          "line": 216,
          "column": 55
        },
        "end": {
          "line": 216,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 8422,
      "end": 8430,
      "loc": {
        "start": {
          "line": 216,
          "column": 56
        },
        "end": {
          "line": 216,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8430,
      "end": 8431,
      "loc": {
        "start": {
          "line": 216,
          "column": 64
        },
        "end": {
          "line": 216,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "\"",
      "start": 8432,
      "end": 8436,
      "loc": {
        "start": {
          "line": 216,
          "column": 66
        },
        "end": {
          "line": 216,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8436,
      "end": 8437,
      "loc": {
        "start": {
          "line": 216,
          "column": 70
        },
        "end": {
          "line": 216,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8437,
      "end": 8438,
      "loc": {
        "start": {
          "line": 216,
          "column": 71
        },
        "end": {
          "line": 216,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 8451,
      "end": 8455,
      "loc": {
        "start": {
          "line": 217,
          "column": 12
        },
        "end": {
          "line": 217,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 8472,
      "end": 8478,
      "loc": {
        "start": {
          "line": 218,
          "column": 16
        },
        "end": {
          "line": 218,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Changed value of \"",
      "start": 8479,
      "end": 8500,
      "loc": {
        "start": {
          "line": 218,
          "column": 23
        },
        "end": {
          "line": 218,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8500,
      "end": 8501,
      "loc": {
        "start": {
          "line": 218,
          "column": 44
        },
        "end": {
          "line": 218,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "concat",
      "start": 8501,
      "end": 8507,
      "loc": {
        "start": {
          "line": 218,
          "column": 45
        },
        "end": {
          "line": 218,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8507,
      "end": 8508,
      "loc": {
        "start": {
          "line": 218,
          "column": 51
        },
        "end": {
          "line": 218,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "o",
      "start": 8508,
      "end": 8509,
      "loc": {
        "start": {
          "line": 218,
          "column": 52
        },
        "end": {
          "line": 218,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8509,
      "end": 8510,
      "loc": {
        "start": {
          "line": 218,
          "column": 53
        },
        "end": {
          "line": 218,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 8510,
      "end": 8518,
      "loc": {
        "start": {
          "line": 218,
          "column": 54
        },
        "end": {
          "line": 218,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8518,
      "end": 8519,
      "loc": {
        "start": {
          "line": 218,
          "column": 62
        },
        "end": {
          "line": 218,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "\"",
      "start": 8520,
      "end": 8524,
      "loc": {
        "start": {
          "line": 218,
          "column": 64
        },
        "end": {
          "line": 218,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8524,
      "end": 8525,
      "loc": {
        "start": {
          "line": 218,
          "column": 68
        },
        "end": {
          "line": 218,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8525,
      "end": 8526,
      "loc": {
        "start": {
          "line": 218,
          "column": 69
        },
        "end": {
          "line": 218,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8535,
      "end": 8536,
      "loc": {
        "start": {
          "line": 219,
          "column": 8
        },
        "end": {
          "line": 219,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8536,
      "end": 8537,
      "loc": {
        "start": {
          "line": 219,
          "column": 9
        },
        "end": {
          "line": 219,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8537,
      "end": 8538,
      "loc": {
        "start": {
          "line": 219,
          "column": 10
        },
        "end": {
          "line": 219,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 8547,
      "end": 8553,
      "loc": {
        "start": {
          "line": 220,
          "column": 8
        },
        "end": {
          "line": 220,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "log",
      "start": 8554,
      "end": 8557,
      "loc": {
        "start": {
          "line": 220,
          "column": 15
        },
        "end": {
          "line": 220,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8557,
      "end": 8558,
      "loc": {
        "start": {
          "line": 220,
          "column": 18
        },
        "end": {
          "line": 220,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "join",
      "start": 8558,
      "end": 8562,
      "loc": {
        "start": {
          "line": 220,
          "column": 19
        },
        "end": {
          "line": 220,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8562,
      "end": 8563,
      "loc": {
        "start": {
          "line": 220,
          "column": 23
        },
        "end": {
          "line": 220,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "\n",
      "start": 8563,
      "end": 8567,
      "loc": {
        "start": {
          "line": 220,
          "column": 24
        },
        "end": {
          "line": 220,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8567,
      "end": 8568,
      "loc": {
        "start": {
          "line": 220,
          "column": 28
        },
        "end": {
          "line": 220,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8568,
      "end": 8569,
      "loc": {
        "start": {
          "line": 220,
          "column": 29
        },
        "end": {
          "line": 220,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8574,
      "end": 8575,
      "loc": {
        "start": {
          "line": 221,
          "column": 4
        },
        "end": {
          "line": 221,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8575,
      "end": 8576,
      "loc": {
        "start": {
          "line": 221,
          "column": 5
        },
        "end": {
          "line": 221,
          "column": 6
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " TODO: Should this be private",
      "start": 8581,
      "end": 8612,
      "loc": {
        "start": {
          "line": 222,
          "column": 4
        },
        "end": {
          "line": 222,
          "column": 35
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "**\n     *\n     * @ignore\n     * @param property\n     * @param newValue\n     * @param oldValue\n     * @private\n     ",
      "start": 8617,
      "end": 8736,
      "loc": {
        "start": {
          "line": 223,
          "column": 4
        },
        "end": {
          "line": 230,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Store",
      "start": 8741,
      "end": 8746,
      "loc": {
        "start": {
          "line": 231,
          "column": 4
        },
        "end": {
          "line": 231,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8746,
      "end": 8747,
      "loc": {
        "start": {
          "line": 231,
          "column": 9
        },
        "end": {
          "line": 231,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 8747,
      "end": 8756,
      "loc": {
        "start": {
          "line": 231,
          "column": 10
        },
        "end": {
          "line": 231,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8756,
      "end": 8757,
      "loc": {
        "start": {
          "line": 231,
          "column": 19
        },
        "end": {
          "line": 231,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_triggerChangeCallbacks",
      "start": 8757,
      "end": 8780,
      "loc": {
        "start": {
          "line": 231,
          "column": 20
        },
        "end": {
          "line": 231,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 8781,
      "end": 8782,
      "loc": {
        "start": {
          "line": 231,
          "column": 44
        },
        "end": {
          "line": 231,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 8783,
      "end": 8791,
      "loc": {
        "start": {
          "line": 231,
          "column": 46
        },
        "end": {
          "line": 231,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8792,
      "end": 8793,
      "loc": {
        "start": {
          "line": 231,
          "column": 55
        },
        "end": {
          "line": 231,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 8793,
      "end": 8801,
      "loc": {
        "start": {
          "line": 231,
          "column": 56
        },
        "end": {
          "line": 231,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8801,
      "end": 8802,
      "loc": {
        "start": {
          "line": 231,
          "column": 64
        },
        "end": {
          "line": 231,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newValue",
      "start": 8803,
      "end": 8811,
      "loc": {
        "start": {
          "line": 231,
          "column": 66
        },
        "end": {
          "line": 231,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8811,
      "end": 8812,
      "loc": {
        "start": {
          "line": 231,
          "column": 74
        },
        "end": {
          "line": 231,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "oldValue",
      "start": 8813,
      "end": 8821,
      "loc": {
        "start": {
          "line": 231,
          "column": 76
        },
        "end": {
          "line": 231,
          "column": 84
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8821,
      "end": 8822,
      "loc": {
        "start": {
          "line": 231,
          "column": 84
        },
        "end": {
          "line": 231,
          "column": 85
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8823,
      "end": 8824,
      "loc": {
        "start": {
          "line": 231,
          "column": 86
        },
        "end": {
          "line": 231,
          "column": 87
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 8833,
      "end": 8835,
      "loc": {
        "start": {
          "line": 232,
          "column": 8
        },
        "end": {
          "line": 232,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8836,
      "end": 8837,
      "loc": {
        "start": {
          "line": 232,
          "column": 11
        },
        "end": {
          "line": 232,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 8837,
      "end": 8838,
      "loc": {
        "start": {
          "line": 232,
          "column": 12
        },
        "end": {
          "line": 232,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 8838,
      "end": 8842,
      "loc": {
        "start": {
          "line": 232,
          "column": 13
        },
        "end": {
          "line": 232,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8842,
      "end": 8843,
      "loc": {
        "start": {
          "line": 232,
          "column": 17
        },
        "end": {
          "line": 232,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onChangeCallbacks",
      "start": 8843,
      "end": 8860,
      "loc": {
        "start": {
          "line": 232,
          "column": 18
        },
        "end": {
          "line": 232,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8860,
      "end": 8861,
      "loc": {
        "start": {
          "line": 232,
          "column": 35
        },
        "end": {
          "line": 232,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 8861,
      "end": 8869,
      "loc": {
        "start": {
          "line": 232,
          "column": 36
        },
        "end": {
          "line": 232,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8869,
      "end": 8870,
      "loc": {
        "start": {
          "line": 232,
          "column": 44
        },
        "end": {
          "line": 232,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8870,
      "end": 8871,
      "loc": {
        "start": {
          "line": 232,
          "column": 45
        },
        "end": {
          "line": 232,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 8884,
      "end": 8890,
      "loc": {
        "start": {
          "line": 233,
          "column": 12
        },
        "end": {
          "line": 233,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8890,
      "end": 8891,
      "loc": {
        "start": {
          "line": 233,
          "column": 18
        },
        "end": {
          "line": 233,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 8900,
      "end": 8904,
      "loc": {
        "start": {
          "line": 234,
          "column": 8
        },
        "end": {
          "line": 234,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8904,
      "end": 8905,
      "loc": {
        "start": {
          "line": 234,
          "column": 12
        },
        "end": {
          "line": 234,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onChangeCallbacks",
      "start": 8905,
      "end": 8922,
      "loc": {
        "start": {
          "line": 234,
          "column": 13
        },
        "end": {
          "line": 234,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8922,
      "end": 8923,
      "loc": {
        "start": {
          "line": 234,
          "column": 30
        },
        "end": {
          "line": 234,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 8923,
      "end": 8931,
      "loc": {
        "start": {
          "line": 234,
          "column": 31
        },
        "end": {
          "line": 234,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8931,
      "end": 8932,
      "loc": {
        "start": {
          "line": 234,
          "column": 39
        },
        "end": {
          "line": 234,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8932,
      "end": 8933,
      "loc": {
        "start": {
          "line": 234,
          "column": 40
        },
        "end": {
          "line": 234,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "forEach",
      "start": 8933,
      "end": 8940,
      "loc": {
        "start": {
          "line": 234,
          "column": 41
        },
        "end": {
          "line": 234,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8940,
      "end": 8941,
      "loc": {
        "start": {
          "line": 234,
          "column": 48
        },
        "end": {
          "line": 234,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 8941,
      "end": 8949,
      "loc": {
        "start": {
          "line": 234,
          "column": 49
        },
        "end": {
          "line": 234,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8950,
      "end": 8951,
      "loc": {
        "start": {
          "line": 234,
          "column": 58
        },
        "end": {
          "line": 234,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "callback",
      "start": 8951,
      "end": 8959,
      "loc": {
        "start": {
          "line": 234,
          "column": 59
        },
        "end": {
          "line": 234,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8959,
      "end": 8960,
      "loc": {
        "start": {
          "line": 234,
          "column": 67
        },
        "end": {
          "line": 234,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8961,
      "end": 8962,
      "loc": {
        "start": {
          "line": 234,
          "column": 69
        },
        "end": {
          "line": 234,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 8963,
      "end": 8969,
      "loc": {
        "start": {
          "line": 234,
          "column": 71
        },
        "end": {
          "line": 234,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "callback",
      "start": 8970,
      "end": 8978,
      "loc": {
        "start": {
          "line": 234,
          "column": 78
        },
        "end": {
          "line": 234,
          "column": 86
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8978,
      "end": 8979,
      "loc": {
        "start": {
          "line": 234,
          "column": 86
        },
        "end": {
          "line": 234,
          "column": 87
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newValue",
      "start": 8979,
      "end": 8987,
      "loc": {
        "start": {
          "line": 234,
          "column": 87
        },
        "end": {
          "line": 234,
          "column": 95
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8987,
      "end": 8988,
      "loc": {
        "start": {
          "line": 234,
          "column": 95
        },
        "end": {
          "line": 234,
          "column": 96
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "oldValue",
      "start": 8989,
      "end": 8997,
      "loc": {
        "start": {
          "line": 234,
          "column": 97
        },
        "end": {
          "line": 234,
          "column": 105
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8997,
      "end": 8998,
      "loc": {
        "start": {
          "line": 234,
          "column": 105
        },
        "end": {
          "line": 234,
          "column": 106
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 8999,
      "end": 9007,
      "loc": {
        "start": {
          "line": 234,
          "column": 107
        },
        "end": {
          "line": 234,
          "column": 115
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9007,
      "end": 9008,
      "loc": {
        "start": {
          "line": 234,
          "column": 115
        },
        "end": {
          "line": 234,
          "column": 116
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9008,
      "end": 9009,
      "loc": {
        "start": {
          "line": 234,
          "column": 116
        },
        "end": {
          "line": 234,
          "column": 117
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9010,
      "end": 9011,
      "loc": {
        "start": {
          "line": 234,
          "column": 118
        },
        "end": {
          "line": 234,
          "column": 119
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9011,
      "end": 9012,
      "loc": {
        "start": {
          "line": 234,
          "column": 119
        },
        "end": {
          "line": 234,
          "column": 120
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9012,
      "end": 9013,
      "loc": {
        "start": {
          "line": 234,
          "column": 120
        },
        "end": {
          "line": 234,
          "column": 121
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9018,
      "end": 9019,
      "loc": {
        "start": {
          "line": 235,
          "column": 4
        },
        "end": {
          "line": 235,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9019,
      "end": 9020,
      "loc": {
        "start": {
          "line": 235,
          "column": 5
        },
        "end": {
          "line": 235,
          "column": 6
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Returns change log of entire history in human-readable form\n     * @return {string}\n     ",
      "start": 9025,
      "end": 9127,
      "loc": {
        "start": {
          "line": 236,
          "column": 4
        },
        "end": {
          "line": 239,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Store",
      "start": 9132,
      "end": 9137,
      "loc": {
        "start": {
          "line": 240,
          "column": 4
        },
        "end": {
          "line": 240,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9137,
      "end": 9138,
      "loc": {
        "start": {
          "line": 240,
          "column": 9
        },
        "end": {
          "line": 240,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 9138,
      "end": 9147,
      "loc": {
        "start": {
          "line": 240,
          "column": 10
        },
        "end": {
          "line": 240,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9147,
      "end": 9148,
      "loc": {
        "start": {
          "line": 240,
          "column": 19
        },
        "end": {
          "line": 240,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getChangeLog",
      "start": 9148,
      "end": 9160,
      "loc": {
        "start": {
          "line": 240,
          "column": 20
        },
        "end": {
          "line": 240,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 9161,
      "end": 9162,
      "loc": {
        "start": {
          "line": 240,
          "column": 33
        },
        "end": {
          "line": 240,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 9163,
      "end": 9171,
      "loc": {
        "start": {
          "line": 240,
          "column": 35
        },
        "end": {
          "line": 240,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9172,
      "end": 9173,
      "loc": {
        "start": {
          "line": 240,
          "column": 44
        },
        "end": {
          "line": 240,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9173,
      "end": 9174,
      "loc": {
        "start": {
          "line": 240,
          "column": 45
        },
        "end": {
          "line": 240,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9175,
      "end": 9176,
      "loc": {
        "start": {
          "line": 240,
          "column": 47
        },
        "end": {
          "line": 240,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 9185,
      "end": 9188,
      "loc": {
        "start": {
          "line": 241,
          "column": 8
        },
        "end": {
          "line": 241,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fullHistory",
      "start": 9189,
      "end": 9200,
      "loc": {
        "start": {
          "line": 241,
          "column": 12
        },
        "end": {
          "line": 241,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 9201,
      "end": 9202,
      "loc": {
        "start": {
          "line": 241,
          "column": 24
        },
        "end": {
          "line": 241,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 9203,
      "end": 9207,
      "loc": {
        "start": {
          "line": 241,
          "column": 26
        },
        "end": {
          "line": 241,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9207,
      "end": 9208,
      "loc": {
        "start": {
          "line": 241,
          "column": 30
        },
        "end": {
          "line": 241,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getFullHistory",
      "start": 9208,
      "end": 9222,
      "loc": {
        "start": {
          "line": 241,
          "column": 31
        },
        "end": {
          "line": 241,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9222,
      "end": 9223,
      "loc": {
        "start": {
          "line": 241,
          "column": 45
        },
        "end": {
          "line": 241,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9223,
      "end": 9224,
      "loc": {
        "start": {
          "line": 241,
          "column": 46
        },
        "end": {
          "line": 241,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9224,
      "end": 9225,
      "loc": {
        "start": {
          "line": 241,
          "column": 47
        },
        "end": {
          "line": 241,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 9234,
      "end": 9237,
      "loc": {
        "start": {
          "line": 242,
          "column": 8
        },
        "end": {
          "line": 242,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "changes",
      "start": 9238,
      "end": 9245,
      "loc": {
        "start": {
          "line": 242,
          "column": 12
        },
        "end": {
          "line": 242,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 9246,
      "end": 9247,
      "loc": {
        "start": {
          "line": 242,
          "column": 20
        },
        "end": {
          "line": 242,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9248,
      "end": 9249,
      "loc": {
        "start": {
          "line": 242,
          "column": 22
        },
        "end": {
          "line": 242,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9249,
      "end": 9250,
      "loc": {
        "start": {
          "line": 242,
          "column": 23
        },
        "end": {
          "line": 242,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9250,
      "end": 9251,
      "loc": {
        "start": {
          "line": 242,
          "column": 24
        },
        "end": {
          "line": 242,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fullHistory",
      "start": 9260,
      "end": 9271,
      "loc": {
        "start": {
          "line": 243,
          "column": 8
        },
        "end": {
          "line": 243,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9271,
      "end": 9272,
      "loc": {
        "start": {
          "line": 243,
          "column": 19
        },
        "end": {
          "line": 243,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "forEach",
      "start": 9272,
      "end": 9279,
      "loc": {
        "start": {
          "line": 243,
          "column": 20
        },
        "end": {
          "line": 243,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9279,
      "end": 9280,
      "loc": {
        "start": {
          "line": 243,
          "column": 27
        },
        "end": {
          "line": 243,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 9280,
      "end": 9288,
      "loc": {
        "start": {
          "line": 243,
          "column": 28
        },
        "end": {
          "line": 243,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9289,
      "end": 9290,
      "loc": {
        "start": {
          "line": 243,
          "column": 37
        },
        "end": {
          "line": 243,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "o",
      "start": 9290,
      "end": 9291,
      "loc": {
        "start": {
          "line": 243,
          "column": 38
        },
        "end": {
          "line": 243,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9291,
      "end": 9292,
      "loc": {
        "start": {
          "line": 243,
          "column": 39
        },
        "end": {
          "line": 243,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 9293,
      "end": 9294,
      "loc": {
        "start": {
          "line": 243,
          "column": 41
        },
        "end": {
          "line": 243,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9294,
      "end": 9295,
      "loc": {
        "start": {
          "line": 243,
          "column": 42
        },
        "end": {
          "line": 243,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9296,
      "end": 9297,
      "loc": {
        "start": {
          "line": 243,
          "column": 44
        },
        "end": {
          "line": 243,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 9310,
      "end": 9312,
      "loc": {
        "start": {
          "line": 244,
          "column": 12
        },
        "end": {
          "line": 244,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9313,
      "end": 9314,
      "loc": {
        "start": {
          "line": 244,
          "column": 15
        },
        "end": {
          "line": 244,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 9314,
      "end": 9315,
      "loc": {
        "start": {
          "line": 244,
          "column": 16
        },
        "end": {
          "line": 244,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "==",
      "start": 9316,
      "end": 9318,
      "loc": {
        "start": {
          "line": 244,
          "column": 18
        },
        "end": {
          "line": 244,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 9319,
      "end": 9320,
      "loc": {
        "start": {
          "line": 244,
          "column": 21
        },
        "end": {
          "line": 244,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9320,
      "end": 9321,
      "loc": {
        "start": {
          "line": 244,
          "column": 22
        },
        "end": {
          "line": 244,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 9338,
      "end": 9344,
      "loc": {
        "start": {
          "line": 245,
          "column": 16
        },
        "end": {
          "line": 245,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9344,
      "end": 9345,
      "loc": {
        "start": {
          "line": 245,
          "column": 22
        },
        "end": {
          "line": 245,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "changes",
      "start": 9358,
      "end": 9365,
      "loc": {
        "start": {
          "line": 246,
          "column": 12
        },
        "end": {
          "line": 246,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9365,
      "end": 9366,
      "loc": {
        "start": {
          "line": 246,
          "column": 19
        },
        "end": {
          "line": 246,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "push",
      "start": 9366,
      "end": 9370,
      "loc": {
        "start": {
          "line": 246,
          "column": 20
        },
        "end": {
          "line": 246,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9370,
      "end": 9371,
      "loc": {
        "start": {
          "line": 246,
          "column": 24
        },
        "end": {
          "line": 246,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Store",
      "start": 9371,
      "end": 9376,
      "loc": {
        "start": {
          "line": 246,
          "column": 25
        },
        "end": {
          "line": 246,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9376,
      "end": 9377,
      "loc": {
        "start": {
          "line": 246,
          "column": 30
        },
        "end": {
          "line": 246,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getChangeLog",
      "start": 9377,
      "end": 9389,
      "loc": {
        "start": {
          "line": 246,
          "column": 31
        },
        "end": {
          "line": 246,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9389,
      "end": 9390,
      "loc": {
        "start": {
          "line": 246,
          "column": 43
        },
        "end": {
          "line": 246,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fullHistory",
      "start": 9390,
      "end": 9401,
      "loc": {
        "start": {
          "line": 246,
          "column": 44
        },
        "end": {
          "line": 246,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9401,
      "end": 9402,
      "loc": {
        "start": {
          "line": 246,
          "column": 55
        },
        "end": {
          "line": 246,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 9402,
      "end": 9403,
      "loc": {
        "start": {
          "line": 246,
          "column": 56
        },
        "end": {
          "line": 246,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 9404,
      "end": 9405,
      "loc": {
        "start": {
          "line": 246,
          "column": 58
        },
        "end": {
          "line": 246,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 9406,
      "end": 9407,
      "loc": {
        "start": {
          "line": 246,
          "column": 60
        },
        "end": {
          "line": 246,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9407,
      "end": 9408,
      "loc": {
        "start": {
          "line": 246,
          "column": 61
        },
        "end": {
          "line": 246,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9408,
      "end": 9409,
      "loc": {
        "start": {
          "line": 246,
          "column": 62
        },
        "end": {
          "line": 246,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "o",
      "start": 9410,
      "end": 9411,
      "loc": {
        "start": {
          "line": 246,
          "column": 64
        },
        "end": {
          "line": 246,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9411,
      "end": 9412,
      "loc": {
        "start": {
          "line": 246,
          "column": 65
        },
        "end": {
          "line": 246,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9412,
      "end": 9413,
      "loc": {
        "start": {
          "line": 246,
          "column": 66
        },
        "end": {
          "line": 246,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9413,
      "end": 9414,
      "loc": {
        "start": {
          "line": 246,
          "column": 67
        },
        "end": {
          "line": 246,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9423,
      "end": 9424,
      "loc": {
        "start": {
          "line": 247,
          "column": 8
        },
        "end": {
          "line": 247,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9424,
      "end": 9425,
      "loc": {
        "start": {
          "line": 247,
          "column": 9
        },
        "end": {
          "line": 247,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9425,
      "end": 9426,
      "loc": {
        "start": {
          "line": 247,
          "column": 10
        },
        "end": {
          "line": 247,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 9435,
      "end": 9441,
      "loc": {
        "start": {
          "line": 248,
          "column": 8
        },
        "end": {
          "line": 248,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "changes",
      "start": 9442,
      "end": 9449,
      "loc": {
        "start": {
          "line": 248,
          "column": 15
        },
        "end": {
          "line": 248,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9449,
      "end": 9450,
      "loc": {
        "start": {
          "line": 248,
          "column": 22
        },
        "end": {
          "line": 248,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "join",
      "start": 9450,
      "end": 9454,
      "loc": {
        "start": {
          "line": 248,
          "column": 23
        },
        "end": {
          "line": 248,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9454,
      "end": 9455,
      "loc": {
        "start": {
          "line": 248,
          "column": 27
        },
        "end": {
          "line": 248,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "\n------------\n",
      "start": 9455,
      "end": 9473,
      "loc": {
        "start": {
          "line": 248,
          "column": 28
        },
        "end": {
          "line": 248,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9473,
      "end": 9474,
      "loc": {
        "start": {
          "line": 248,
          "column": 46
        },
        "end": {
          "line": 248,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9474,
      "end": 9475,
      "loc": {
        "start": {
          "line": 248,
          "column": 47
        },
        "end": {
          "line": 248,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9480,
      "end": 9481,
      "loc": {
        "start": {
          "line": 249,
          "column": 4
        },
        "end": {
          "line": 249,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9481,
      "end": 9482,
      "loc": {
        "start": {
          "line": 249,
          "column": 5
        },
        "end": {
          "line": 249,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 9487,
      "end": 9493,
      "loc": {
        "start": {
          "line": 250,
          "column": 4
        },
        "end": {
          "line": 250,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Store",
      "start": 9494,
      "end": 9499,
      "loc": {
        "start": {
          "line": 250,
          "column": 11
        },
        "end": {
          "line": 250,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9499,
      "end": 9500,
      "loc": {
        "start": {
          "line": 250,
          "column": 16
        },
        "end": {
          "line": 250,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9501,
      "end": 9502,
      "loc": {
        "start": {
          "line": 251,
          "column": 0
        },
        "end": {
          "line": 251,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9502,
      "end": 9503,
      "loc": {
        "start": {
          "line": 251,
          "column": 1
        },
        "end": {
          "line": 251,
          "column": 2
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9503,
      "end": 9504,
      "loc": {
        "start": {
          "line": 251,
          "column": 2
        },
        "end": {
          "line": 251,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9504,
      "end": 9505,
      "loc": {
        "start": {
          "line": 251,
          "column": 3
        },
        "end": {
          "line": 251,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9505,
      "end": 9506,
      "loc": {
        "start": {
          "line": 251,
          "column": 4
        },
        "end": {
          "line": 251,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "exports",
      "start": 9507,
      "end": 9514,
      "loc": {
        "start": {
          "line": 252,
          "column": 0
        },
        "end": {
          "line": 252,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9514,
      "end": 9515,
      "loc": {
        "start": {
          "line": 252,
          "column": 7
        },
        "end": {
          "line": 252,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Store",
      "start": 9515,
      "end": 9520,
      "loc": {
        "start": {
          "line": 252,
          "column": 8
        },
        "end": {
          "line": 252,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 9521,
      "end": 9522,
      "loc": {
        "start": {
          "line": 252,
          "column": 14
        },
        "end": {
          "line": 252,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Store",
      "start": 9523,
      "end": 9528,
      "loc": {
        "start": {
          "line": 252,
          "column": 16
        },
        "end": {
          "line": 252,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9528,
      "end": 9529,
      "loc": {
        "start": {
          "line": 252,
          "column": 21
        },
        "end": {
          "line": 252,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "exports",
      "start": 9530,
      "end": 9537,
      "loc": {
        "start": {
          "line": 253,
          "column": 0
        },
        "end": {
          "line": 253,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9537,
      "end": 9538,
      "loc": {
        "start": {
          "line": 253,
          "column": 7
        },
        "end": {
          "line": 253,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "default",
        "keyword": "default",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "default",
      "start": 9538,
      "end": 9545,
      "loc": {
        "start": {
          "line": 253,
          "column": 8
        },
        "end": {
          "line": 253,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 9546,
      "end": 9547,
      "loc": {
        "start": {
          "line": 253,
          "column": 16
        },
        "end": {
          "line": 253,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Store",
      "start": 9548,
      "end": 9553,
      "loc": {
        "start": {
          "line": 253,
          "column": 18
        },
        "end": {
          "line": 253,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9553,
      "end": 9554,
      "loc": {
        "start": {
          "line": 253,
          "column": 23
        },
        "end": {
          "line": 253,
          "column": 24
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "# sourceMappingURL=Store.js.map",
      "start": 9555,
      "end": 9588,
      "loc": {
        "start": {
          "line": 254,
          "column": 0
        },
        "end": {
          "line": 254,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9588,
      "end": 9588,
      "loc": {
        "start": {
          "line": 254,
          "column": 33
        },
        "end": {
          "line": 254,
          "column": 33
        }
      }
    }
  ]
}