{
  "type": "File",
  "start": 0,
  "end": 5813,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 125,
      "column": 0
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 5813,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 125,
        "column": 0
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "ImportDeclaration",
        "start": 0,
        "end": 25,
        "loc": {
          "start": {
            "line": 1,
            "column": 0
          },
          "end": {
            "line": 1,
            "column": 25
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 7,
            "end": 9,
            "loc": {
              "start": {
                "line": 1,
                "column": 7
              },
              "end": {
                "line": 1,
                "column": 9
              }
            },
            "local": {
              "type": "Identifier",
              "start": 7,
              "end": 9,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 7
                },
                "end": {
                  "line": 1,
                  "column": 9
                },
                "identifierName": "v4"
              },
              "name": "v4"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 15,
          "end": 24,
          "loc": {
            "start": {
              "line": 1,
              "column": 15
            },
            "end": {
              "line": 1,
              "column": 24
            }
          },
          "extra": {
            "rawValue": "uuid-v4",
            "raw": "'uuid-v4'"
          },
          "value": "uuid-v4"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 26,
        "end": 68,
        "loc": {
          "start": {
            "line": 2,
            "column": 0
          },
          "end": {
            "line": 2,
            "column": 42
          }
        },
        "specifiers": [
          {
            "type": "ImportSpecifier",
            "start": 35,
            "end": 43,
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 17
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 35,
              "end": 43,
              "loc": {
                "start": {
                  "line": 2,
                  "column": 9
                },
                "end": {
                  "line": 2,
                  "column": 17
                },
                "identifierName": "queryDom"
              },
              "name": "queryDom"
            },
            "local": {
              "type": "Identifier",
              "start": 35,
              "end": 43,
              "loc": {
                "start": {
                  "line": 2,
                  "column": 9
                },
                "end": {
                  "line": 2,
                  "column": 17
                },
                "identifierName": "queryDom"
              },
              "name": "queryDom"
            }
          },
          {
            "type": "ImportSpecifier",
            "start": 45,
            "end": 48,
            "loc": {
              "start": {
                "line": 2,
                "column": 19
              },
              "end": {
                "line": 2,
                "column": 22
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 45,
              "end": 48,
              "loc": {
                "start": {
                  "line": 2,
                  "column": 19
                },
                "end": {
                  "line": 2,
                  "column": 22
                },
                "identifierName": "url"
              },
              "name": "url"
            },
            "local": {
              "type": "Identifier",
              "start": 45,
              "end": 48,
              "loc": {
                "start": {
                  "line": 2,
                  "column": 19
                },
                "end": {
                  "line": 2,
                  "column": 22
                },
                "identifierName": "url"
              },
              "name": "url"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 56,
          "end": 67,
          "loc": {
            "start": {
              "line": 2,
              "column": 30
            },
            "end": {
              "line": 2,
              "column": 41
            }
          },
          "extra": {
            "rawValue": "./helpers",
            "raw": "'./helpers'"
          },
          "value": "./helpers"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 69,
        "end": 99,
        "loc": {
          "start": {
            "line": 3,
            "column": 0
          },
          "end": {
            "line": 3,
            "column": 30
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 76,
            "end": 82,
            "loc": {
              "start": {
                "line": 3,
                "column": 7
              },
              "end": {
                "line": 3,
                "column": 13
              }
            },
            "local": {
              "type": "Identifier",
              "start": 76,
              "end": 82,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 7
                },
                "end": {
                  "line": 3,
                  "column": 13
                },
                "identifierName": "Parser"
              },
              "name": "Parser"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 88,
          "end": 98,
          "loc": {
            "start": {
              "line": 3,
              "column": 19
            },
            "end": {
              "line": 3,
              "column": 29
            }
          },
          "extra": {
            "rawValue": "./parser",
            "raw": "'./parser'"
          },
          "value": "./parser"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 100,
        "end": 130,
        "loc": {
          "start": {
            "line": 4,
            "column": 0
          },
          "end": {
            "line": 4,
            "column": 30
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 107,
            "end": 113,
            "loc": {
              "start": {
                "line": 4,
                "column": 7
              },
              "end": {
                "line": 4,
                "column": 13
              }
            },
            "local": {
              "type": "Identifier",
              "start": 107,
              "end": 113,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 7
                },
                "end": {
                  "line": 4,
                  "column": 13
                },
                "identifierName": "Events"
              },
              "name": "Events"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 119,
          "end": 129,
          "loc": {
            "start": {
              "line": 4,
              "column": 19
            },
            "end": {
              "line": 4,
              "column": 29
            }
          },
          "extra": {
            "rawValue": "./events",
            "raw": "'./events'"
          },
          "value": "./events"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 131,
        "end": 165,
        "loc": {
          "start": {
            "line": 5,
            "column": 0
          },
          "end": {
            "line": 5,
            "column": 34
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 138,
            "end": 146,
            "loc": {
              "start": {
                "line": 5,
                "column": 7
              },
              "end": {
                "line": 5,
                "column": 15
              }
            },
            "local": {
              "type": "Identifier",
              "start": 138,
              "end": 146,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 7
                },
                "end": {
                  "line": 5,
                  "column": 15
                },
                "identifierName": "Renderer"
              },
              "name": "Renderer"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 152,
          "end": 164,
          "loc": {
            "start": {
              "line": 5,
              "column": 21
            },
            "end": {
              "line": 5,
              "column": 33
            }
          },
          "extra": {
            "rawValue": "./renderer",
            "raw": "'./renderer'"
          },
          "value": "./renderer"
        },
        "trailingComments": [
          {
            "type": "CommentBlock",
            "value": "* Global awv3 version ",
            "start": 167,
            "end": 193,
            "loc": {
              "start": {
                "line": 7,
                "column": 0
              },
              "end": {
                "line": 7,
                "column": 26
              }
            }
          }
        ]
      },
      {
        "type": "ExportNamedDeclaration",
        "start": 194,
        "end": 224,
        "loc": {
          "start": {
            "line": 8,
            "column": 0
          },
          "end": {
            "line": 8,
            "column": 30
          }
        },
        "specifiers": [],
        "source": null,
        "declaration": {
          "type": "VariableDeclaration",
          "start": 201,
          "end": 224,
          "loc": {
            "start": {
              "line": 8,
              "column": 7
            },
            "end": {
              "line": 8,
              "column": 30
            }
          },
          "declarations": [
            {
              "type": "VariableDeclarator",
              "start": 205,
              "end": 223,
              "loc": {
                "start": {
                  "line": 8,
                  "column": 11
                },
                "end": {
                  "line": 8,
                  "column": 29
                }
              },
              "id": {
                "type": "Identifier",
                "start": 205,
                "end": 212,
                "loc": {
                  "start": {
                    "line": 8,
                    "column": 11
                  },
                  "end": {
                    "line": 8,
                    "column": 18
                  },
                  "identifierName": "version"
                },
                "name": "version",
                "leadingComments": null
              },
              "init": {
                "type": "StringLiteral",
                "start": 215,
                "end": 223,
                "loc": {
                  "start": {
                    "line": 8,
                    "column": 21
                  },
                  "end": {
                    "line": 8,
                    "column": 29
                  }
                },
                "extra": {
                  "rawValue": "7.0.19",
                  "raw": "'7.0.19'"
                },
                "value": "7.0.19"
              },
              "leadingComments": null
            }
          ],
          "kind": "let",
          "leadingComments": [
            {
              "type": "CommentBlock",
              "value": "* Global awv3 version ",
              "start": 167,
              "end": 193,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 0
                },
                "end": {
                  "line": 7,
                  "column": 26
                }
              }
            }
          ],
          "trailingComments": [
            {
              "type": "CommentBlock",
              "value": "* last created canvas ",
              "start": 225,
              "end": 251,
              "loc": {
                "start": {
                  "line": 9,
                  "column": 0
                },
                "end": {
                  "line": 9,
                  "column": 26
                }
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "CommentBlock",
            "value": "* Global awv3 version ",
            "start": 167,
            "end": 193,
            "loc": {
              "start": {
                "line": 7,
                "column": 0
              },
              "end": {
                "line": 7,
                "column": 26
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "CommentBlock",
            "value": "* last created canvas ",
            "start": 225,
            "end": 251,
            "loc": {
              "start": {
                "line": 9,
                "column": 0
              },
              "end": {
                "line": 9,
                "column": 26
              }
            }
          }
        ]
      },
      {
        "type": "ExportNamedDeclaration",
        "start": 252,
        "end": 287,
        "loc": {
          "start": {
            "line": 10,
            "column": 0
          },
          "end": {
            "line": 10,
            "column": 35
          }
        },
        "specifiers": [],
        "source": null,
        "declaration": {
          "type": "VariableDeclaration",
          "start": 259,
          "end": 287,
          "loc": {
            "start": {
              "line": 10,
              "column": 7
            },
            "end": {
              "line": 10,
              "column": 35
            }
          },
          "declarations": [
            {
              "type": "VariableDeclarator",
              "start": 263,
              "end": 286,
              "loc": {
                "start": {
                  "line": 10,
                  "column": 11
                },
                "end": {
                  "line": 10,
                  "column": 34
                }
              },
              "id": {
                "type": "Identifier",
                "start": 263,
                "end": 274,
                "loc": {
                  "start": {
                    "line": 10,
                    "column": 11
                  },
                  "end": {
                    "line": 10,
                    "column": 22
                  },
                  "identifierName": "lastCreated"
                },
                "name": "lastCreated",
                "leadingComments": null
              },
              "init": {
                "type": "Identifier",
                "start": 277,
                "end": 286,
                "loc": {
                  "start": {
                    "line": 10,
                    "column": 25
                  },
                  "end": {
                    "line": 10,
                    "column": 34
                  },
                  "identifierName": "undefined"
                },
                "name": "undefined"
              },
              "leadingComments": null
            }
          ],
          "kind": "let",
          "leadingComments": [
            {
              "type": "CommentBlock",
              "value": "* last created canvas ",
              "start": 225,
              "end": 251,
              "loc": {
                "start": {
                  "line": 9,
                  "column": 0
                },
                "end": {
                  "line": 9,
                  "column": 26
                }
              }
            }
          ],
          "trailingComments": [
            {
              "type": "CommentBlock",
              "value": "* The Canvas class holds the webGL context and maps the underlying views.\n    It initializes it's own renderer, event system and parser. ",
              "start": 289,
              "end": 430,
              "loc": {
                "start": {
                  "line": 12,
                  "column": 0
                },
                "end": {
                  "line": 13,
                  "column": 65
                }
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "CommentBlock",
            "value": "* last created canvas ",
            "start": 225,
            "end": 251,
            "loc": {
              "start": {
                "line": 9,
                "column": 0
              },
              "end": {
                "line": 9,
                "column": 26
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "CommentBlock",
            "value": "* The Canvas class holds the webGL context and maps the underlying views.\n    It initializes it's own renderer, event system and parser. ",
            "start": 289,
            "end": 430,
            "loc": {
              "start": {
                "line": 12,
                "column": 0
              },
              "end": {
                "line": 13,
                "column": 65
              }
            }
          }
        ]
      },
      {
        "type": "ExportDefaultDeclaration",
        "start": 431,
        "end": 5812,
        "loc": {
          "start": {
            "line": 14,
            "column": 0
          },
          "end": {
            "line": 124,
            "column": 1
          }
        },
        "declaration": {
          "type": "ClassDeclaration",
          "start": 446,
          "end": 5812,
          "loc": {
            "start": {
              "line": 14,
              "column": 15
            },
            "end": {
              "line": 124,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 452,
            "end": 458,
            "loc": {
              "start": {
                "line": 14,
                "column": 21
              },
              "end": {
                "line": 14,
                "column": 27
              },
              "identifierName": "Canvas"
            },
            "name": "Canvas",
            "leadingComments": null
          },
          "superClass": null,
          "body": {
            "type": "ClassBody",
            "start": 459,
            "end": 5812,
            "loc": {
              "start": {
                "line": 14,
                "column": 28
              },
              "end": {
                "line": 124,
                "column": 1
              }
            },
            "body": [
              {
                "type": "ClassMethod",
                "start": 2369,
                "end": 5418,
                "loc": {
                  "start": {
                    "line": 39,
                    "column": 4
                  },
                  "end": {
                    "line": 110,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2369,
                  "end": 2380,
                  "loc": {
                    "start": {
                      "line": 39,
                      "column": 4
                    },
                    "end": {
                      "line": 39,
                      "column": 15
                    },
                    "identifierName": "constructor"
                  },
                  "name": "constructor",
                  "leadingComments": null
                },
                "static": false,
                "kind": "constructor",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "AssignmentPattern",
                    "start": 2381,
                    "end": 2393,
                    "loc": {
                      "start": {
                        "line": 39,
                        "column": 16
                      },
                      "end": {
                        "line": 39,
                        "column": 28
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 2381,
                      "end": 2388,
                      "loc": {
                        "start": {
                          "line": 39,
                          "column": 16
                        },
                        "end": {
                          "line": 39,
                          "column": 23
                        },
                        "identifierName": "options"
                      },
                      "name": "options"
                    },
                    "right": {
                      "type": "ObjectExpression",
                      "start": 2391,
                      "end": 2393,
                      "loc": {
                        "start": {
                          "line": 39,
                          "column": 26
                        },
                        "end": {
                          "line": 39,
                          "column": 28
                        }
                      },
                      "properties": []
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2395,
                  "end": 5418,
                  "loc": {
                    "start": {
                      "line": 39,
                      "column": 30
                    },
                    "end": {
                      "line": 110,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 2434,
                      "end": 2457,
                      "loc": {
                        "start": {
                          "line": 42,
                          "column": 8
                        },
                        "end": {
                          "line": 42,
                          "column": 31
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2434,
                        "end": 2456,
                        "loc": {
                          "start": {
                            "line": 42,
                            "column": 8
                          },
                          "end": {
                            "line": 42,
                            "column": 30
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2434,
                          "end": 2446,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 8
                            },
                            "end": {
                              "line": 42,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2434,
                            "end": 2438,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 8
                              },
                              "end": {
                                "line": 42,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2439,
                            "end": 2446,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 13
                              },
                              "end": {
                                "line": 42,
                                "column": 20
                              },
                              "identifierName": "version"
                            },
                            "name": "version"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 2449,
                          "end": 2456,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 23
                            },
                            "end": {
                              "line": 42,
                              "column": 30
                            },
                            "identifierName": "version"
                          },
                          "name": "version"
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "* awv3 version ",
                          "start": 2406,
                          "end": 2425,
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 8
                            },
                            "end": {
                              "line": 41,
                              "column": 27
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "* GUID to help identify the canvas ",
                          "start": 2466,
                          "end": 2505,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 8
                            },
                            "end": {
                              "line": 43,
                              "column": 47
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2514,
                      "end": 2529,
                      "loc": {
                        "start": {
                          "line": 44,
                          "column": 8
                        },
                        "end": {
                          "line": 44,
                          "column": 23
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2514,
                        "end": 2528,
                        "loc": {
                          "start": {
                            "line": 44,
                            "column": 8
                          },
                          "end": {
                            "line": 44,
                            "column": 22
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2514,
                          "end": 2521,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 8
                            },
                            "end": {
                              "line": 44,
                              "column": 15
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2514,
                            "end": 2518,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 8
                              },
                              "end": {
                                "line": 44,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2519,
                            "end": 2521,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 13
                              },
                              "end": {
                                "line": 44,
                                "column": 15
                              },
                              "identifierName": "id"
                            },
                            "name": "id"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 2524,
                          "end": 2528,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 18
                            },
                            "end": {
                              "line": 44,
                              "column": 22
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 2524,
                            "end": 2526,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 18
                              },
                              "end": {
                                "line": 44,
                                "column": 20
                              },
                              "identifierName": "v4"
                            },
                            "name": "v4"
                          },
                          "arguments": []
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "* GUID to help identify the canvas ",
                          "start": 2466,
                          "end": 2505,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 8
                            },
                            "end": {
                              "line": 43,
                              "column": 47
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "* List of managed views ",
                          "start": 2538,
                          "end": 2566,
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 8
                            },
                            "end": {
                              "line": 45,
                              "column": 36
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2575,
                      "end": 2591,
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 8
                        },
                        "end": {
                          "line": 46,
                          "column": 24
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2575,
                        "end": 2590,
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 8
                          },
                          "end": {
                            "line": 46,
                            "column": 23
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2575,
                          "end": 2585,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 8
                            },
                            "end": {
                              "line": 46,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2575,
                            "end": 2579,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 8
                              },
                              "end": {
                                "line": 46,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2580,
                            "end": 2585,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 13
                              },
                              "end": {
                                "line": 46,
                                "column": 18
                              },
                              "identifierName": "views"
                            },
                            "name": "views"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "start": 2588,
                          "end": 2590,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 21
                            },
                            "end": {
                              "line": 46,
                              "column": 23
                            }
                          },
                          "elements": []
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "* List of managed views ",
                          "start": 2538,
                          "end": 2566,
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 8
                            },
                            "end": {
                              "line": 45,
                              "column": 36
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 2601,
                      "end": 2910,
                      "loc": {
                        "start": {
                          "line": 48,
                          "column": 8
                        },
                        "end": {
                          "line": 51,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 2605,
                        "end": 2617,
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 12
                          },
                          "end": {
                            "line": 48,
                            "column": 24
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 2606,
                          "end": 2617,
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 13
                            },
                            "end": {
                              "line": 48,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2606,
                            "end": 2613,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 13
                              },
                              "end": {
                                "line": 48,
                                "column": 20
                              },
                              "identifierName": "options"
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2614,
                            "end": 2617,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 21
                              },
                              "end": {
                                "line": 48,
                                "column": 24
                              },
                              "identifierName": "dom"
                            },
                            "name": "dom"
                          },
                          "computed": false
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 2619,
                        "end": 2910,
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 26
                          },
                          "end": {
                            "line": 51,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 2633,
                            "end": 2677,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 12
                              },
                              "end": {
                                "line": 49,
                                "column": 56
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 2633,
                              "end": 2676,
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 12
                                },
                                "end": {
                                  "line": 49,
                                  "column": 55
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 2633,
                                "end": 2644,
                                "loc": {
                                  "start": {
                                    "line": 49,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 49,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2633,
                                  "end": 2640,
                                  "loc": {
                                    "start": {
                                      "line": 49,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 49,
                                      "column": 19
                                    },
                                    "identifierName": "options"
                                  },
                                  "name": "options"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2641,
                                  "end": 2644,
                                  "loc": {
                                    "start": {
                                      "line": 49,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 49,
                                      "column": 23
                                    },
                                    "identifierName": "dom"
                                  },
                                  "name": "dom"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 2647,
                                "end": 2676,
                                "loc": {
                                  "start": {
                                    "line": 49,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 49,
                                    "column": 55
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 2647,
                                  "end": 2669,
                                  "loc": {
                                    "start": {
                                      "line": 49,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 49,
                                      "column": 48
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2647,
                                    "end": 2655,
                                    "loc": {
                                      "start": {
                                        "line": 49,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 49,
                                        "column": 34
                                      },
                                      "identifierName": "document"
                                    },
                                    "name": "document"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2656,
                                    "end": 2669,
                                    "loc": {
                                      "start": {
                                        "line": 49,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 49,
                                        "column": 48
                                      },
                                      "identifierName": "createElement"
                                    },
                                    "name": "createElement"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "StringLiteral",
                                    "start": 2670,
                                    "end": 2675,
                                    "loc": {
                                      "start": {
                                        "line": 49,
                                        "column": 49
                                      },
                                      "end": {
                                        "line": 49,
                                        "column": 54
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "div",
                                      "raw": "\"div\""
                                    },
                                    "value": "div"
                                  }
                                ]
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 2690,
                            "end": 2900,
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 12
                              },
                              "end": {
                                "line": 50,
                                "column": 222
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 2690,
                              "end": 2899,
                              "loc": {
                                "start": {
                                  "line": 50,
                                  "column": 12
                                },
                                "end": {
                                  "line": 50,
                                  "column": 221
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 2690,
                                "end": 2715,
                                "loc": {
                                  "start": {
                                    "line": 50,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 50,
                                    "column": 37
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 2690,
                                  "end": 2707,
                                  "loc": {
                                    "start": {
                                      "line": 50,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 50,
                                      "column": 29
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 2690,
                                    "end": 2701,
                                    "loc": {
                                      "start": {
                                        "line": 50,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 50,
                                        "column": 23
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 2690,
                                      "end": 2697,
                                      "loc": {
                                        "start": {
                                          "line": 50,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 50,
                                          "column": 19
                                        },
                                        "identifierName": "options"
                                      },
                                      "name": "options"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 2698,
                                      "end": 2701,
                                      "loc": {
                                        "start": {
                                          "line": 50,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 50,
                                          "column": 23
                                        },
                                        "identifierName": "dom"
                                      },
                                      "name": "dom"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2702,
                                    "end": 2707,
                                    "loc": {
                                      "start": {
                                        "line": 50,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 50,
                                        "column": 29
                                      },
                                      "identifierName": "style"
                                    },
                                    "name": "style"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2708,
                                  "end": 2715,
                                  "loc": {
                                    "start": {
                                      "line": 50,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 50,
                                      "column": 37
                                    },
                                    "identifierName": "cssText"
                                  },
                                  "name": "cssText"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "StringLiteral",
                                "start": 2718,
                                "end": 2899,
                                "loc": {
                                  "start": {
                                    "line": 50,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 50,
                                    "column": 221
                                  }
                                },
                                "extra": {
                                  "rawValue": "position: relative; width: 100%; height: 100%; overflow: hidden; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none;",
                                  "raw": "\"position: relative; width: 100%; height: 100%; overflow: hidden; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none;\""
                                },
                                "value": "position: relative; width: 100%; height: 100%; overflow: hidden; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none;"
                              }
                            }
                          }
                        ],
                        "directives": [],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "* The dom node in which the canvas lives ",
                          "start": 2920,
                          "end": 2965,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 8
                            },
                            "end": {
                              "line": 53,
                              "column": 53
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2974,
                      "end": 3007,
                      "loc": {
                        "start": {
                          "line": 54,
                          "column": 8
                        },
                        "end": {
                          "line": 54,
                          "column": 41
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2974,
                        "end": 3006,
                        "loc": {
                          "start": {
                            "line": 54,
                            "column": 8
                          },
                          "end": {
                            "line": 54,
                            "column": 40
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2974,
                          "end": 2982,
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 8
                            },
                            "end": {
                              "line": 54,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2974,
                            "end": 2978,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 8
                              },
                              "end": {
                                "line": 54,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2979,
                            "end": 2982,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 13
                              },
                              "end": {
                                "line": 54,
                                "column": 16
                              },
                              "identifierName": "dom"
                            },
                            "name": "dom"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 2985,
                          "end": 3006,
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 19
                            },
                            "end": {
                              "line": 54,
                              "column": 40
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 2985,
                            "end": 2993,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 19
                              },
                              "end": {
                                "line": 54,
                                "column": 27
                              },
                              "identifierName": "queryDom"
                            },
                            "name": "queryDom"
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 2994,
                              "end": 3005,
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 28
                                },
                                "end": {
                                  "line": 54,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2994,
                                "end": 3001,
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 35
                                  },
                                  "identifierName": "options"
                                },
                                "name": "options"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3002,
                                "end": 3005,
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 39
                                  },
                                  "identifierName": "dom"
                                },
                                "name": "dom"
                              },
                              "computed": false
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "* The dom node in which the canvas lives ",
                          "start": 2920,
                          "end": 2965,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 8
                            },
                            "end": {
                              "line": 53,
                              "column": 53
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3016,
                      "end": 3097,
                      "loc": {
                        "start": {
                          "line": 55,
                          "column": 8
                        },
                        "end": {
                          "line": 55,
                          "column": 89
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 3016,
                        "end": 3096,
                        "loc": {
                          "start": {
                            "line": 55,
                            "column": 8
                          },
                          "end": {
                            "line": 55,
                            "column": 88
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3016,
                          "end": 3041,
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 8
                            },
                            "end": {
                              "line": 55,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 3016,
                            "end": 3024,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 8
                              },
                              "end": {
                                "line": 55,
                                "column": 16
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 3016,
                              "end": 3020,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 8
                                },
                                "end": {
                                  "line": 55,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3021,
                              "end": 3024,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 13
                                },
                                "end": {
                                  "line": 55,
                                  "column": 16
                                },
                                "identifierName": "dom"
                              },
                              "name": "dom"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3025,
                            "end": 3041,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 17
                              },
                              "end": {
                                "line": 55,
                                "column": 33
                              },
                              "identifierName": "addEventListener"
                            },
                            "name": "addEventListener"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "StringLiteral",
                            "start": 3042,
                            "end": 3055,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 34
                              },
                              "end": {
                                "line": 55,
                                "column": 47
                              }
                            },
                            "extra": {
                              "rawValue": "contextmenu",
                              "raw": "'contextmenu'"
                            },
                            "value": "contextmenu"
                          },
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 3057,
                            "end": 3088,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 49
                              },
                              "end": {
                                "line": 55,
                                "column": 80
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 3057,
                                "end": 3062,
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 54
                                  },
                                  "identifierName": "event"
                                },
                                "name": "event"
                              }
                            ],
                            "body": {
                              "type": "CallExpression",
                              "start": 3066,
                              "end": 3088,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 58
                                },
                                "end": {
                                  "line": 55,
                                  "column": 80
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 3066,
                                "end": 3086,
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 78
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3066,
                                  "end": 3071,
                                  "loc": {
                                    "start": {
                                      "line": 55,
                                      "column": 58
                                    },
                                    "end": {
                                      "line": 55,
                                      "column": 63
                                    },
                                    "identifierName": "event"
                                  },
                                  "name": "event"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3072,
                                  "end": 3086,
                                  "loc": {
                                    "start": {
                                      "line": 55,
                                      "column": 64
                                    },
                                    "end": {
                                      "line": 55,
                                      "column": 78
                                    },
                                    "identifierName": "preventDefault"
                                  },
                                  "name": "preventDefault"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          },
                          {
                            "type": "BooleanLiteral",
                            "start": 3090,
                            "end": 3095,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 82
                              },
                              "end": {
                                "line": 55,
                                "column": 87
                              }
                            },
                            "value": false
                          }
                        ]
                      },
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "* Debug level for this canvas ",
                          "start": 3106,
                          "end": 3140,
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 8
                            },
                            "end": {
                              "line": 56,
                              "column": 42
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3149,
                      "end": 3222,
                      "loc": {
                        "start": {
                          "line": 57,
                          "column": 8
                        },
                        "end": {
                          "line": 57,
                          "column": 81
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3149,
                        "end": 3221,
                        "loc": {
                          "start": {
                            "line": 57,
                            "column": 8
                          },
                          "end": {
                            "line": 57,
                            "column": 80
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3149,
                          "end": 3164,
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 8
                            },
                            "end": {
                              "line": 57,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3149,
                            "end": 3153,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 8
                              },
                              "end": {
                                "line": 57,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3154,
                            "end": 3164,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 13
                              },
                              "end": {
                                "line": 57,
                                "column": 23
                              },
                              "identifierName": "debugLevel"
                            },
                            "name": "debugLevel"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "LogicalExpression",
                          "start": 3167,
                          "end": 3221,
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 26
                            },
                            "end": {
                              "line": 57,
                              "column": 80
                            }
                          },
                          "left": {
                            "type": "LogicalExpression",
                            "start": 3167,
                            "end": 3216,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 26
                              },
                              "end": {
                                "line": 57,
                                "column": 75
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 3167,
                              "end": 3185,
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 26
                                },
                                "end": {
                                  "line": 57,
                                  "column": 44
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 3167,
                                "end": 3174,
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 33
                                  },
                                  "identifierName": "options"
                                },
                                "name": "options"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3175,
                                "end": 3185,
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 44
                                  },
                                  "identifierName": "debugLevel"
                                },
                                "name": "debugLevel"
                              },
                              "computed": false
                            },
                            "operator": "||",
                            "right": {
                              "type": "CallExpression",
                              "start": 3189,
                              "end": 3216,
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 48
                                },
                                "end": {
                                  "line": 57,
                                  "column": 75
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 3189,
                                "end": 3197,
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 56
                                  },
                                  "identifierName": "parseInt"
                                },
                                "name": "parseInt"
                              },
                              "arguments": [
                                {
                                  "type": "CallExpression",
                                  "start": 3198,
                                  "end": 3215,
                                  "loc": {
                                    "start": {
                                      "line": 57,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 57,
                                      "column": 74
                                    }
                                  },
                                  "callee": {
                                    "type": "Identifier",
                                    "start": 3198,
                                    "end": 3201,
                                    "loc": {
                                      "start": {
                                        "line": 57,
                                        "column": 57
                                      },
                                      "end": {
                                        "line": 57,
                                        "column": 60
                                      },
                                      "identifierName": "url"
                                    },
                                    "name": "url"
                                  },
                                  "arguments": [
                                    {
                                      "type": "StringLiteral",
                                      "start": 3202,
                                      "end": 3214,
                                      "loc": {
                                        "start": {
                                          "line": 57,
                                          "column": 61
                                        },
                                        "end": {
                                          "line": 57,
                                          "column": 73
                                        }
                                      },
                                      "extra": {
                                        "rawValue": "debugLevel",
                                        "raw": "'debugLevel'"
                                      },
                                      "value": "debugLevel"
                                    }
                                  ]
                                }
                              ]
                            }
                          },
                          "operator": "||",
                          "right": {
                            "type": "NumericLiteral",
                            "start": 3220,
                            "end": 3221,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 79
                              },
                              "end": {
                                "line": 57,
                                "column": 80
                              }
                            },
                            "extra": {
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "value": 0
                          }
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "* Debug level for this canvas ",
                          "start": 3106,
                          "end": 3140,
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 8
                            },
                            "end": {
                              "line": 56,
                              "column": 42
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 3232,
                      "end": 3689,
                      "loc": {
                        "start": {
                          "line": 59,
                          "column": 8
                        },
                        "end": {
                          "line": 67,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 3236,
                        "end": 3248,
                        "loc": {
                          "start": {
                            "line": 59,
                            "column": 12
                          },
                          "end": {
                            "line": 59,
                            "column": 24
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 3237,
                          "end": 3248,
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 13
                            },
                            "end": {
                              "line": 59,
                              "column": 24
                            },
                            "identifierName": "lastCreated"
                          },
                          "name": "lastCreated"
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 3250,
                        "end": 3689,
                        "loc": {
                          "start": {
                            "line": 59,
                            "column": 26
                          },
                          "end": {
                            "line": 67,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 3264,
                            "end": 3420,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 12
                              },
                              "end": {
                                "line": 60,
                                "column": 168
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 3268,
                                "end": 3419,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 167
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 3268,
                                  "end": 3271,
                                  "loc": {
                                    "start": {
                                      "line": 60,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 60,
                                      "column": 19
                                    },
                                    "identifierName": "tag"
                                  },
                                  "name": "tag"
                                },
                                "init": {
                                  "type": "TemplateLiteral",
                                  "start": 3274,
                                  "end": 3419,
                                  "loc": {
                                    "start": {
                                      "line": 60,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 60,
                                      "column": 167
                                    }
                                  },
                                  "expressions": [
                                    {
                                      "type": "Identifier",
                                      "start": 3288,
                                      "end": 3295,
                                      "loc": {
                                        "start": {
                                          "line": 60,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 60,
                                          "column": 43
                                        },
                                        "identifierName": "version"
                                      },
                                      "name": "version"
                                    },
                                    {
                                      "type": "LogicalExpression",
                                      "start": 3313,
                                      "end": 3369,
                                      "loc": {
                                        "start": {
                                          "line": 60,
                                          "column": 61
                                        },
                                        "end": {
                                          "line": 60,
                                          "column": 117
                                        }
                                      },
                                      "left": {
                                        "type": "LogicalExpression",
                                        "start": 3313,
                                        "end": 3364,
                                        "loc": {
                                          "start": {
                                            "line": 60,
                                            "column": 61
                                          },
                                          "end": {
                                            "line": 60,
                                            "column": 112
                                          }
                                        },
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 3313,
                                          "end": 3331,
                                          "loc": {
                                            "start": {
                                              "line": 60,
                                              "column": 61
                                            },
                                            "end": {
                                              "line": 60,
                                              "column": 79
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 3313,
                                            "end": 3320,
                                            "loc": {
                                              "start": {
                                                "line": 60,
                                                "column": 61
                                              },
                                              "end": {
                                                "line": 60,
                                                "column": 68
                                              },
                                              "identifierName": "options"
                                            },
                                            "name": "options"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 3321,
                                            "end": 3331,
                                            "loc": {
                                              "start": {
                                                "line": 60,
                                                "column": 69
                                              },
                                              "end": {
                                                "line": 60,
                                                "column": 79
                                              },
                                              "identifierName": "resolution"
                                            },
                                            "name": "resolution"
                                          },
                                          "computed": false
                                        },
                                        "operator": "||",
                                        "right": {
                                          "type": "CallExpression",
                                          "start": 3335,
                                          "end": 3364,
                                          "loc": {
                                            "start": {
                                              "line": 60,
                                              "column": 83
                                            },
                                            "end": {
                                              "line": 60,
                                              "column": 112
                                            }
                                          },
                                          "callee": {
                                            "type": "Identifier",
                                            "start": 3335,
                                            "end": 3345,
                                            "loc": {
                                              "start": {
                                                "line": 60,
                                                "column": 83
                                              },
                                              "end": {
                                                "line": 60,
                                                "column": 93
                                              },
                                              "identifierName": "parseFloat"
                                            },
                                            "name": "parseFloat"
                                          },
                                          "arguments": [
                                            {
                                              "type": "CallExpression",
                                              "start": 3346,
                                              "end": 3363,
                                              "loc": {
                                                "start": {
                                                  "line": 60,
                                                  "column": 94
                                                },
                                                "end": {
                                                  "line": 60,
                                                  "column": 111
                                                }
                                              },
                                              "callee": {
                                                "type": "Identifier",
                                                "start": 3346,
                                                "end": 3349,
                                                "loc": {
                                                  "start": {
                                                    "line": 60,
                                                    "column": 94
                                                  },
                                                  "end": {
                                                    "line": 60,
                                                    "column": 97
                                                  },
                                                  "identifierName": "url"
                                                },
                                                "name": "url"
                                              },
                                              "arguments": [
                                                {
                                                  "type": "StringLiteral",
                                                  "start": 3350,
                                                  "end": 3362,
                                                  "loc": {
                                                    "start": {
                                                      "line": 60,
                                                      "column": 98
                                                    },
                                                    "end": {
                                                      "line": 60,
                                                      "column": 110
                                                    }
                                                  },
                                                  "extra": {
                                                    "rawValue": "resolution",
                                                    "raw": "'resolution'"
                                                  },
                                                  "value": "resolution"
                                                }
                                              ]
                                            }
                                          ]
                                        }
                                      },
                                      "operator": "||",
                                      "right": {
                                        "type": "NumericLiteral",
                                        "start": 3368,
                                        "end": 3369,
                                        "loc": {
                                          "start": {
                                            "line": 60,
                                            "column": 116
                                          },
                                          "end": {
                                            "line": 60,
                                            "column": 117
                                          }
                                        },
                                        "extra": {
                                          "rawValue": 1,
                                          "raw": "1"
                                        },
                                        "value": 1
                                      }
                                    },
                                    {
                                      "type": "LogicalExpression",
                                      "start": 3382,
                                      "end": 3416,
                                      "loc": {
                                        "start": {
                                          "line": 60,
                                          "column": 130
                                        },
                                        "end": {
                                          "line": 60,
                                          "column": 164
                                        }
                                      },
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 3382,
                                        "end": 3411,
                                        "loc": {
                                          "start": {
                                            "line": 60,
                                            "column": 130
                                          },
                                          "end": {
                                            "line": 60,
                                            "column": 159
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 3382,
                                          "end": 3391,
                                          "loc": {
                                            "start": {
                                              "line": 60,
                                              "column": 130
                                            },
                                            "end": {
                                              "line": 60,
                                              "column": 139
                                            },
                                            "identifierName": "navigator"
                                          },
                                          "name": "navigator"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 3392,
                                          "end": 3411,
                                          "loc": {
                                            "start": {
                                              "line": 60,
                                              "column": 140
                                            },
                                            "end": {
                                              "line": 60,
                                              "column": 159
                                            },
                                            "identifierName": "hardwareConcurrency"
                                          },
                                          "name": "hardwareConcurrency"
                                        },
                                        "computed": false
                                      },
                                      "operator": "||",
                                      "right": {
                                        "type": "NumericLiteral",
                                        "start": 3415,
                                        "end": 3416,
                                        "loc": {
                                          "start": {
                                            "line": 60,
                                            "column": 163
                                          },
                                          "end": {
                                            "line": 60,
                                            "column": 164
                                          }
                                        },
                                        "extra": {
                                          "rawValue": 4,
                                          "raw": "4"
                                        },
                                        "value": 4
                                      }
                                    }
                                  ],
                                  "quasis": [
                                    {
                                      "type": "TemplateElement",
                                      "start": 3275,
                                      "end": 3286,
                                      "loc": {
                                        "start": {
                                          "line": 60,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 60,
                                          "column": 34
                                        }
                                      },
                                      "value": {
                                        "raw": "%c AWV3 %c ",
                                        "cooked": "%c AWV3 %c "
                                      },
                                      "tail": false
                                    },
                                    {
                                      "type": "TemplateElement",
                                      "start": 3296,
                                      "end": 3311,
                                      "loc": {
                                        "start": {
                                          "line": 60,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 60,
                                          "column": 59
                                        }
                                      },
                                      "value": {
                                        "raw": " %c Resolution:",
                                        "cooked": " %c Resolution:"
                                      },
                                      "tail": false
                                    },
                                    {
                                      "type": "TemplateElement",
                                      "start": 3370,
                                      "end": 3380,
                                      "loc": {
                                        "start": {
                                          "line": 60,
                                          "column": 118
                                        },
                                        "end": {
                                          "line": 60,
                                          "column": 128
                                        }
                                      },
                                      "value": {
                                        "raw": " %c Cores:",
                                        "cooked": " %c Cores:"
                                      },
                                      "tail": false
                                    },
                                    {
                                      "type": "TemplateElement",
                                      "start": 3417,
                                      "end": 3418,
                                      "loc": {
                                        "start": {
                                          "line": 60,
                                          "column": 165
                                        },
                                        "end": {
                                          "line": 60,
                                          "column": 166
                                        }
                                      },
                                      "value": {
                                        "raw": " ",
                                        "cooked": " "
                                      },
                                      "tail": true
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "let"
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 3433,
                            "end": 3679,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 12
                              },
                              "end": {
                                "line": 66,
                                "column": 14
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 3433,
                              "end": 3678,
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 12
                                },
                                "end": {
                                  "line": 66,
                                  "column": 13
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 3433,
                                "end": 3444,
                                "loc": {
                                  "start": {
                                    "line": 61,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 61,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3433,
                                  "end": 3440,
                                  "loc": {
                                    "start": {
                                      "line": 61,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 61,
                                      "column": 19
                                    },
                                    "identifierName": "console"
                                  },
                                  "name": "console"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3441,
                                  "end": 3444,
                                  "loc": {
                                    "start": {
                                      "line": 61,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 61,
                                      "column": 23
                                    },
                                    "identifierName": "log"
                                  },
                                  "name": "log"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 3445,
                                  "end": 3448,
                                  "loc": {
                                    "start": {
                                      "line": 61,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 61,
                                      "column": 27
                                    },
                                    "identifierName": "tag"
                                  },
                                  "name": "tag"
                                },
                                {
                                  "type": "StringLiteral",
                                  "start": 3466,
                                  "end": 3502,
                                  "loc": {
                                    "start": {
                                      "line": 62,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 62,
                                      "column": 52
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "background: #373737; color: white;",
                                    "raw": "'background: #373737; color: white;'"
                                  },
                                  "value": "background: #373737; color: white;"
                                },
                                {
                                  "type": "StringLiteral",
                                  "start": 3520,
                                  "end": 3556,
                                  "loc": {
                                    "start": {
                                      "line": 63,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 63,
                                      "column": 52
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "background: #c23369; color: white;",
                                    "raw": "'background: #c23369; color: white;'"
                                  },
                                  "value": "background: #c23369; color: white;"
                                },
                                {
                                  "type": "StringLiteral",
                                  "start": 3574,
                                  "end": 3610,
                                  "loc": {
                                    "start": {
                                      "line": 64,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 64,
                                      "column": 52
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "background: #28d79f; color: white;",
                                    "raw": "'background: #28d79f; color: white;'"
                                  },
                                  "value": "background: #28d79f; color: white;"
                                },
                                {
                                  "type": "StringLiteral",
                                  "start": 3628,
                                  "end": 3664,
                                  "loc": {
                                    "start": {
                                      "line": 65,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 65,
                                      "column": 52
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "background: #28b4d7; color: white;",
                                    "raw": "'background: #28b4d7; color: white;'"
                                  },
                                  "value": "background: #28b4d7; color: white;"
                                }
                              ]
                            }
                          }
                        ],
                        "directives": [],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "* Global events using the {@link Events} class ",
                          "start": 3699,
                          "end": 3750,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 8
                            },
                            "end": {
                              "line": 69,
                              "column": 59
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3759,
                      "end": 3786,
                      "loc": {
                        "start": {
                          "line": 70,
                          "column": 8
                        },
                        "end": {
                          "line": 70,
                          "column": 35
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3759,
                        "end": 3785,
                        "loc": {
                          "start": {
                            "line": 70,
                            "column": 8
                          },
                          "end": {
                            "line": 70,
                            "column": 34
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3759,
                          "end": 3770,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 8
                            },
                            "end": {
                              "line": 70,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3759,
                            "end": 3763,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 8
                              },
                              "end": {
                                "line": 70,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3764,
                            "end": 3770,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 13
                              },
                              "end": {
                                "line": 70,
                                "column": 19
                              },
                              "identifierName": "events"
                            },
                            "name": "events"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 3773,
                          "end": 3785,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 22
                            },
                            "end": {
                              "line": 70,
                              "column": 34
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 3777,
                            "end": 3783,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 26
                              },
                              "end": {
                                "line": 70,
                                "column": 32
                              },
                              "identifierName": "Events"
                            },
                            "name": "Events"
                          },
                          "arguments": []
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "* Global events using the {@link Events} class ",
                          "start": 3699,
                          "end": 3750,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 8
                            },
                            "end": {
                              "line": 69,
                              "column": 59
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "* GL {@link Renderer} via three.js ",
                          "start": 3795,
                          "end": 3834,
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 8
                            },
                            "end": {
                              "line": 71,
                              "column": 47
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3843,
                      "end": 3887,
                      "loc": {
                        "start": {
                          "line": 72,
                          "column": 8
                        },
                        "end": {
                          "line": 72,
                          "column": 52
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3843,
                        "end": 3886,
                        "loc": {
                          "start": {
                            "line": 72,
                            "column": 8
                          },
                          "end": {
                            "line": 72,
                            "column": 51
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3843,
                          "end": 3856,
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 8
                            },
                            "end": {
                              "line": 72,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3843,
                            "end": 3847,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 8
                              },
                              "end": {
                                "line": 72,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3848,
                            "end": 3856,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 13
                              },
                              "end": {
                                "line": 72,
                                "column": 21
                              },
                              "identifierName": "renderer"
                            },
                            "name": "renderer"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 3859,
                          "end": 3886,
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 24
                            },
                            "end": {
                              "line": 72,
                              "column": 51
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 3863,
                            "end": 3871,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 28
                              },
                              "end": {
                                "line": 72,
                                "column": 36
                              },
                              "identifierName": "Renderer"
                            },
                            "name": "Renderer"
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 3872,
                              "end": 3876,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 37
                                },
                                "end": {
                                  "line": 72,
                                  "column": 41
                                }
                              }
                            },
                            {
                              "type": "Identifier",
                              "start": 3878,
                              "end": 3885,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 43
                                },
                                "end": {
                                  "line": 72,
                                  "column": 50
                                },
                                "identifierName": "options"
                              },
                              "name": "options"
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "* GL {@link Renderer} via three.js ",
                          "start": 3795,
                          "end": 3834,
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 8
                            },
                            "end": {
                              "line": 71,
                              "column": 47
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "* {@link Parser} using webworkers to unpack and optimize compressed packages ",
                          "start": 3896,
                          "end": 3977,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 8
                            },
                            "end": {
                              "line": 73,
                              "column": 89
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3986,
                      "end": 4013,
                      "loc": {
                        "start": {
                          "line": 74,
                          "column": 8
                        },
                        "end": {
                          "line": 74,
                          "column": 35
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3986,
                        "end": 4012,
                        "loc": {
                          "start": {
                            "line": 74,
                            "column": 8
                          },
                          "end": {
                            "line": 74,
                            "column": 34
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3986,
                          "end": 3997,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 8
                            },
                            "end": {
                              "line": 74,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3986,
                            "end": 3990,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 8
                              },
                              "end": {
                                "line": 74,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3991,
                            "end": 3997,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 13
                              },
                              "end": {
                                "line": 74,
                                "column": 19
                              },
                              "identifierName": "parser"
                            },
                            "name": "parser"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 4000,
                          "end": 4012,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 22
                            },
                            "end": {
                              "line": 74,
                              "column": 34
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 4004,
                            "end": 4010,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 26
                              },
                              "end": {
                                "line": 74,
                                "column": 32
                              },
                              "identifierName": "Parser"
                            },
                            "name": "Parser"
                          },
                          "arguments": []
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "* {@link Parser} using webworkers to unpack and optimize compressed packages ",
                          "start": 3896,
                          "end": 3977,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 8
                            },
                            "end": {
                              "line": 73,
                              "column": 89
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "* Map of managed scopes.\n            This contains dom nodes with references to all the views influenced.\n            It is used internally to track changes in position and size.\n            @example\n            // Get all views affected for node #main\n            let array = canvas.scopes.get(document.querySelector('#main')); ",
                          "start": 4023,
                          "end": 4356,
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 8
                            },
                            "end": {
                              "line": 81,
                              "column": 78
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4365,
                      "end": 4389,
                      "loc": {
                        "start": {
                          "line": 82,
                          "column": 8
                        },
                        "end": {
                          "line": 82,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 4365,
                        "end": 4388,
                        "loc": {
                          "start": {
                            "line": 82,
                            "column": 8
                          },
                          "end": {
                            "line": 82,
                            "column": 31
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 4365,
                          "end": 4376,
                          "loc": {
                            "start": {
                              "line": 82,
                              "column": 8
                            },
                            "end": {
                              "line": 82,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4365,
                            "end": 4369,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 8
                              },
                              "end": {
                                "line": 82,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4370,
                            "end": 4376,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 13
                              },
                              "end": {
                                "line": 82,
                                "column": 19
                              },
                              "identifierName": "scopes"
                            },
                            "name": "scopes"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 4379,
                          "end": 4388,
                          "loc": {
                            "start": {
                              "line": 82,
                              "column": 22
                            },
                            "end": {
                              "line": 82,
                              "column": 31
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 4383,
                            "end": 4386,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 26
                              },
                              "end": {
                                "line": 82,
                                "column": 29
                              },
                              "identifierName": "Map"
                            },
                            "name": "Map"
                          },
                          "arguments": []
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "* Map of managed scopes.\n            This contains dom nodes with references to all the views influenced.\n            It is used internally to track changes in position and size.\n            @example\n            // Get all views affected for node #main\n            let array = canvas.scopes.get(document.querySelector('#main')); ",
                          "start": 4023,
                          "end": 4356,
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 8
                            },
                            "end": {
                              "line": 81,
                              "column": 78
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4398,
                      "end": 5129,
                      "loc": {
                        "start": {
                          "line": 83,
                          "column": 8
                        },
                        "end": {
                          "line": 99,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 4398,
                        "end": 5128,
                        "loc": {
                          "start": {
                            "line": 83,
                            "column": 8
                          },
                          "end": {
                            "line": 99,
                            "column": 10
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 4398,
                          "end": 4411,
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 8
                            },
                            "end": {
                              "line": 83,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4398,
                            "end": 4402,
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 8
                              },
                              "end": {
                                "line": 83,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4403,
                            "end": 4411,
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 13
                              },
                              "end": {
                                "line": 83,
                                "column": 21
                              },
                              "identifierName": "observer"
                            },
                            "name": "observer"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 4414,
                          "end": 5128,
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 24
                            },
                            "end": {
                              "line": 99,
                              "column": 10
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 4418,
                            "end": 4434,
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 28
                              },
                              "end": {
                                "line": 83,
                                "column": 44
                              },
                              "identifierName": "MutationObserver"
                            },
                            "name": "MutationObserver"
                          },
                          "arguments": [
                            {
                              "type": "ArrowFunctionExpression",
                              "start": 4435,
                              "end": 5127,
                              "loc": {
                                "start": {
                                  "line": 83,
                                  "column": 45
                                },
                                "end": {
                                  "line": 99,
                                  "column": 9
                                }
                              },
                              "id": null,
                              "generator": false,
                              "expression": false,
                              "async": false,
                              "params": [
                                {
                                  "type": "Identifier",
                                  "start": 4435,
                                  "end": 4442,
                                  "loc": {
                                    "start": {
                                      "line": 83,
                                      "column": 45
                                    },
                                    "end": {
                                      "line": 83,
                                      "column": 52
                                    },
                                    "identifierName": "records"
                                  },
                                  "name": "records"
                                }
                              ],
                              "body": {
                                "type": "BlockStatement",
                                "start": 4446,
                                "end": 5127,
                                "loc": {
                                  "start": {
                                    "line": 83,
                                    "column": 56
                                  },
                                  "end": {
                                    "line": 99,
                                    "column": 9
                                  }
                                },
                                "body": [
                                  {
                                    "type": "ForOfStatement",
                                    "start": 4460,
                                    "end": 5117,
                                    "loc": {
                                      "start": {
                                        "line": 84,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 98,
                                        "column": 13
                                      }
                                    },
                                    "left": {
                                      "type": "VariableDeclaration",
                                      "start": 4465,
                                      "end": 4475,
                                      "loc": {
                                        "start": {
                                          "line": 84,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 84,
                                          "column": 27
                                        }
                                      },
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "start": 4469,
                                          "end": 4475,
                                          "loc": {
                                            "start": {
                                              "line": 84,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 84,
                                              "column": 27
                                            }
                                          },
                                          "id": {
                                            "type": "Identifier",
                                            "start": 4469,
                                            "end": 4475,
                                            "loc": {
                                              "start": {
                                                "line": 84,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 84,
                                                "column": 27
                                              },
                                              "identifierName": "record"
                                            },
                                            "name": "record"
                                          },
                                          "init": null
                                        }
                                      ],
                                      "kind": "let"
                                    },
                                    "right": {
                                      "type": "Identifier",
                                      "start": 4479,
                                      "end": 4486,
                                      "loc": {
                                        "start": {
                                          "line": 84,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 84,
                                          "column": 38
                                        },
                                        "identifierName": "records"
                                      },
                                      "name": "records"
                                    },
                                    "body": {
                                      "type": "BlockStatement",
                                      "start": 4488,
                                      "end": 5117,
                                      "loc": {
                                        "start": {
                                          "line": 84,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 98,
                                          "column": 13
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "IfStatement",
                                          "start": 4586,
                                          "end": 4808,
                                          "loc": {
                                            "start": {
                                              "line": 86,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 90,
                                              "column": 17
                                            }
                                          },
                                          "test": {
                                            "type": "LogicalExpression",
                                            "start": 4590,
                                            "end": 4652,
                                            "loc": {
                                              "start": {
                                                "line": 86,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 86,
                                                "column": 82
                                              }
                                            },
                                            "left": {
                                              "type": "BinaryExpression",
                                              "start": 4590,
                                              "end": 4618,
                                              "loc": {
                                                "start": {
                                                  "line": 86,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 86,
                                                  "column": 48
                                                }
                                              },
                                              "left": {
                                                "type": "MemberExpression",
                                                "start": 4590,
                                                "end": 4614,
                                                "loc": {
                                                  "start": {
                                                    "line": 86,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 86,
                                                    "column": 44
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 4590,
                                                  "end": 4607,
                                                  "loc": {
                                                    "start": {
                                                      "line": 86,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 86,
                                                      "column": 37
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 4590,
                                                    "end": 4596,
                                                    "loc": {
                                                      "start": {
                                                        "line": 86,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 86,
                                                        "column": 26
                                                      },
                                                      "identifierName": "record"
                                                    },
                                                    "name": "record",
                                                    "leadingComments": null
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4597,
                                                    "end": 4607,
                                                    "loc": {
                                                      "start": {
                                                        "line": 86,
                                                        "column": 27
                                                      },
                                                      "end": {
                                                        "line": 86,
                                                        "column": 37
                                                      },
                                                      "identifierName": "addedNodes"
                                                    },
                                                    "name": "addedNodes"
                                                  },
                                                  "computed": false,
                                                  "leadingComments": null
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4608,
                                                  "end": 4614,
                                                  "loc": {
                                                    "start": {
                                                      "line": 86,
                                                      "column": 38
                                                    },
                                                    "end": {
                                                      "line": 86,
                                                      "column": 44
                                                    },
                                                    "identifierName": "length"
                                                  },
                                                  "name": "length"
                                                },
                                                "computed": false,
                                                "leadingComments": null
                                              },
                                              "operator": ">",
                                              "right": {
                                                "type": "NumericLiteral",
                                                "start": 4617,
                                                "end": 4618,
                                                "loc": {
                                                  "start": {
                                                    "line": 86,
                                                    "column": 47
                                                  },
                                                  "end": {
                                                    "line": 86,
                                                    "column": 48
                                                  }
                                                },
                                                "extra": {
                                                  "rawValue": 0,
                                                  "raw": "0"
                                                },
                                                "value": 0
                                              },
                                              "leadingComments": null
                                            },
                                            "operator": "||",
                                            "right": {
                                              "type": "BinaryExpression",
                                              "start": 4622,
                                              "end": 4652,
                                              "loc": {
                                                "start": {
                                                  "line": 86,
                                                  "column": 52
                                                },
                                                "end": {
                                                  "line": 86,
                                                  "column": 82
                                                }
                                              },
                                              "left": {
                                                "type": "MemberExpression",
                                                "start": 4622,
                                                "end": 4648,
                                                "loc": {
                                                  "start": {
                                                    "line": 86,
                                                    "column": 52
                                                  },
                                                  "end": {
                                                    "line": 86,
                                                    "column": 78
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 4622,
                                                  "end": 4641,
                                                  "loc": {
                                                    "start": {
                                                      "line": 86,
                                                      "column": 52
                                                    },
                                                    "end": {
                                                      "line": 86,
                                                      "column": 71
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 4622,
                                                    "end": 4628,
                                                    "loc": {
                                                      "start": {
                                                        "line": 86,
                                                        "column": 52
                                                      },
                                                      "end": {
                                                        "line": 86,
                                                        "column": 58
                                                      },
                                                      "identifierName": "record"
                                                    },
                                                    "name": "record"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4629,
                                                    "end": 4641,
                                                    "loc": {
                                                      "start": {
                                                        "line": 86,
                                                        "column": 59
                                                      },
                                                      "end": {
                                                        "line": 86,
                                                        "column": 71
                                                      },
                                                      "identifierName": "removedNodes"
                                                    },
                                                    "name": "removedNodes"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4642,
                                                  "end": 4648,
                                                  "loc": {
                                                    "start": {
                                                      "line": 86,
                                                      "column": 72
                                                    },
                                                    "end": {
                                                      "line": 86,
                                                      "column": 78
                                                    },
                                                    "identifierName": "length"
                                                  },
                                                  "name": "length"
                                                },
                                                "computed": false
                                              },
                                              "operator": ">",
                                              "right": {
                                                "type": "NumericLiteral",
                                                "start": 4651,
                                                "end": 4652,
                                                "loc": {
                                                  "start": {
                                                    "line": 86,
                                                    "column": 81
                                                  },
                                                  "end": {
                                                    "line": 86,
                                                    "column": 82
                                                  }
                                                },
                                                "extra": {
                                                  "rawValue": 0,
                                                  "raw": "0"
                                                },
                                                "value": 0
                                              }
                                            },
                                            "leadingComments": null
                                          },
                                          "consequent": {
                                            "type": "BlockStatement",
                                            "start": 4654,
                                            "end": 4808,
                                            "loc": {
                                              "start": {
                                                "line": 86,
                                                "column": 84
                                              },
                                              "end": {
                                                "line": 90,
                                                "column": 17
                                              }
                                            },
                                            "body": [
                                              {
                                                "type": "ExpressionStatement",
                                                "start": 4676,
                                                "end": 4696,
                                                "loc": {
                                                  "start": {
                                                    "line": 87,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 87,
                                                    "column": 40
                                                  }
                                                },
                                                "expression": {
                                                  "type": "CallExpression",
                                                  "start": 4676,
                                                  "end": 4695,
                                                  "loc": {
                                                    "start": {
                                                      "line": 87,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 87,
                                                      "column": 39
                                                    }
                                                  },
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "start": 4676,
                                                    "end": 4693,
                                                    "loc": {
                                                      "start": {
                                                        "line": 87,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 87,
                                                        "column": 37
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "MemberExpression",
                                                      "start": 4676,
                                                      "end": 4687,
                                                      "loc": {
                                                        "start": {
                                                          "line": 87,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 87,
                                                          "column": 31
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "ThisExpression",
                                                        "start": 4676,
                                                        "end": 4680,
                                                        "loc": {
                                                          "start": {
                                                            "line": 87,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 87,
                                                            "column": 24
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 4681,
                                                        "end": 4687,
                                                        "loc": {
                                                          "start": {
                                                            "line": 87,
                                                            "column": 25
                                                          },
                                                          "end": {
                                                            "line": 87,
                                                            "column": 31
                                                          },
                                                          "identifierName": "scopes"
                                                        },
                                                        "name": "scopes"
                                                      },
                                                      "computed": false
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 4688,
                                                      "end": 4693,
                                                      "loc": {
                                                        "start": {
                                                          "line": 87,
                                                          "column": 32
                                                        },
                                                        "end": {
                                                          "line": 87,
                                                          "column": 37
                                                        },
                                                        "identifierName": "clear"
                                                      },
                                                      "name": "clear"
                                                    },
                                                    "computed": false
                                                  },
                                                  "arguments": []
                                                }
                                              },
                                              {
                                                "type": "ForOfStatement",
                                                "start": 4717,
                                                "end": 4790,
                                                "loc": {
                                                  "start": {
                                                    "line": 88,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 89,
                                                    "column": 44
                                                  }
                                                },
                                                "left": {
                                                  "type": "VariableDeclaration",
                                                  "start": 4722,
                                                  "end": 4730,
                                                  "loc": {
                                                    "start": {
                                                      "line": 88,
                                                      "column": 25
                                                    },
                                                    "end": {
                                                      "line": 88,
                                                      "column": 33
                                                    }
                                                  },
                                                  "declarations": [
                                                    {
                                                      "type": "VariableDeclarator",
                                                      "start": 4726,
                                                      "end": 4730,
                                                      "loc": {
                                                        "start": {
                                                          "line": 88,
                                                          "column": 29
                                                        },
                                                        "end": {
                                                          "line": 88,
                                                          "column": 33
                                                        }
                                                      },
                                                      "id": {
                                                        "type": "Identifier",
                                                        "start": 4726,
                                                        "end": 4730,
                                                        "loc": {
                                                          "start": {
                                                            "line": 88,
                                                            "column": 29
                                                          },
                                                          "end": {
                                                            "line": 88,
                                                            "column": 33
                                                          },
                                                          "identifierName": "view"
                                                        },
                                                        "name": "view"
                                                      },
                                                      "init": null
                                                    }
                                                  ],
                                                  "kind": "let"
                                                },
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 4734,
                                                  "end": 4744,
                                                  "loc": {
                                                    "start": {
                                                      "line": 88,
                                                      "column": 37
                                                    },
                                                    "end": {
                                                      "line": 88,
                                                      "column": 47
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4734,
                                                    "end": 4738,
                                                    "loc": {
                                                      "start": {
                                                        "line": 88,
                                                        "column": 37
                                                      },
                                                      "end": {
                                                        "line": 88,
                                                        "column": 41
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4739,
                                                    "end": 4744,
                                                    "loc": {
                                                      "start": {
                                                        "line": 88,
                                                        "column": 42
                                                      },
                                                      "end": {
                                                        "line": 88,
                                                        "column": 47
                                                      },
                                                      "identifierName": "views"
                                                    },
                                                    "name": "views"
                                                  },
                                                  "computed": false
                                                },
                                                "body": {
                                                  "type": "ExpressionStatement",
                                                  "start": 4770,
                                                  "end": 4790,
                                                  "loc": {
                                                    "start": {
                                                      "line": 89,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 89,
                                                      "column": 44
                                                    }
                                                  },
                                                  "expression": {
                                                    "type": "CallExpression",
                                                    "start": 4770,
                                                    "end": 4789,
                                                    "loc": {
                                                      "start": {
                                                        "line": 89,
                                                        "column": 24
                                                      },
                                                      "end": {
                                                        "line": 89,
                                                        "column": 43
                                                      }
                                                    },
                                                    "callee": {
                                                      "type": "MemberExpression",
                                                      "start": 4770,
                                                      "end": 4787,
                                                      "loc": {
                                                        "start": {
                                                          "line": 89,
                                                          "column": 24
                                                        },
                                                        "end": {
                                                          "line": 89,
                                                          "column": 41
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "Identifier",
                                                        "start": 4770,
                                                        "end": 4774,
                                                        "loc": {
                                                          "start": {
                                                            "line": 89,
                                                            "column": 24
                                                          },
                                                          "end": {
                                                            "line": 89,
                                                            "column": 28
                                                          },
                                                          "identifierName": "view"
                                                        },
                                                        "name": "view"
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 4775,
                                                        "end": 4787,
                                                        "loc": {
                                                          "start": {
                                                            "line": 89,
                                                            "column": 29
                                                          },
                                                          "end": {
                                                            "line": 89,
                                                            "column": 41
                                                          },
                                                          "identifierName": "updateScopes"
                                                        },
                                                        "name": "updateScopes"
                                                      },
                                                      "computed": false
                                                    },
                                                    "arguments": []
                                                  }
                                                }
                                              }
                                            ],
                                            "directives": []
                                          },
                                          "alternate": null,
                                          "leadingComments": [
                                            {
                                              "type": "CommentLine",
                                              "value": " Any hard mutation causes views to update their parent scopes",
                                              "start": 4506,
                                              "end": 4569,
                                              "loc": {
                                                "start": {
                                                  "line": 85,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 85,
                                                  "column": 79
                                                }
                                              }
                                            }
                                          ]
                                        },
                                        {
                                          "type": "IfStatement",
                                          "start": 4826,
                                          "end": 5103,
                                          "loc": {
                                            "start": {
                                              "line": 92,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 97,
                                              "column": 17
                                            }
                                          },
                                          "test": {
                                            "type": "BinaryExpression",
                                            "start": 4830,
                                            "end": 4856,
                                            "loc": {
                                              "start": {
                                                "line": 92,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 92,
                                                "column": 46
                                              }
                                            },
                                            "left": {
                                              "type": "MemberExpression",
                                              "start": 4830,
                                              "end": 4843,
                                              "loc": {
                                                "start": {
                                                  "line": 92,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 92,
                                                  "column": 33
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 4830,
                                                "end": 4836,
                                                "loc": {
                                                  "start": {
                                                    "line": 92,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 92,
                                                    "column": 26
                                                  },
                                                  "identifierName": "record"
                                                },
                                                "name": "record"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4837,
                                                "end": 4843,
                                                "loc": {
                                                  "start": {
                                                    "line": 92,
                                                    "column": 27
                                                  },
                                                  "end": {
                                                    "line": 92,
                                                    "column": 33
                                                  },
                                                  "identifierName": "target"
                                                },
                                                "name": "target"
                                              },
                                              "computed": false
                                            },
                                            "operator": "===",
                                            "right": {
                                              "type": "MemberExpression",
                                              "start": 4848,
                                              "end": 4856,
                                              "loc": {
                                                "start": {
                                                  "line": 92,
                                                  "column": 38
                                                },
                                                "end": {
                                                  "line": 92,
                                                  "column": 46
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 4848,
                                                "end": 4852,
                                                "loc": {
                                                  "start": {
                                                    "line": 92,
                                                    "column": 38
                                                  },
                                                  "end": {
                                                    "line": 92,
                                                    "column": 42
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4853,
                                                "end": 4856,
                                                "loc": {
                                                  "start": {
                                                    "line": 92,
                                                    "column": 43
                                                  },
                                                  "end": {
                                                    "line": 92,
                                                    "column": 46
                                                  },
                                                  "identifierName": "dom"
                                                },
                                                "name": "dom"
                                              },
                                              "computed": false
                                            }
                                          },
                                          "consequent": {
                                            "type": "BlockStatement",
                                            "start": 4858,
                                            "end": 4933,
                                            "loc": {
                                              "start": {
                                                "line": 92,
                                                "column": 48
                                              },
                                              "end": {
                                                "line": 94,
                                                "column": 17
                                              }
                                            },
                                            "body": [
                                              {
                                                "type": "ExpressionStatement",
                                                "start": 4880,
                                                "end": 4915,
                                                "loc": {
                                                  "start": {
                                                    "line": 93,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 93,
                                                    "column": 55
                                                  }
                                                },
                                                "expression": {
                                                  "type": "CallExpression",
                                                  "start": 4880,
                                                  "end": 4914,
                                                  "loc": {
                                                    "start": {
                                                      "line": 93,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 93,
                                                      "column": 54
                                                    }
                                                  },
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "start": 4880,
                                                    "end": 4910,
                                                    "loc": {
                                                      "start": {
                                                        "line": 93,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 93,
                                                        "column": 50
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "MemberExpression",
                                                      "start": 4880,
                                                      "end": 4893,
                                                      "loc": {
                                                        "start": {
                                                          "line": 93,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 93,
                                                          "column": 33
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "ThisExpression",
                                                        "start": 4880,
                                                        "end": 4884,
                                                        "loc": {
                                                          "start": {
                                                            "line": 93,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 93,
                                                            "column": 24
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 4885,
                                                        "end": 4893,
                                                        "loc": {
                                                          "start": {
                                                            "line": 93,
                                                            "column": 25
                                                          },
                                                          "end": {
                                                            "line": 93,
                                                            "column": 33
                                                          },
                                                          "identifierName": "renderer"
                                                        },
                                                        "name": "renderer"
                                                      },
                                                      "computed": false
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 4894,
                                                      "end": 4910,
                                                      "loc": {
                                                        "start": {
                                                          "line": 93,
                                                          "column": 34
                                                        },
                                                        "end": {
                                                          "line": 93,
                                                          "column": 50
                                                        },
                                                        "identifierName": "invalidateCanvas"
                                                      },
                                                      "name": "invalidateCanvas"
                                                    },
                                                    "computed": false
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "NumericLiteral",
                                                      "start": 4911,
                                                      "end": 4913,
                                                      "loc": {
                                                        "start": {
                                                          "line": 93,
                                                          "column": 51
                                                        },
                                                        "end": {
                                                          "line": 93,
                                                          "column": 53
                                                        }
                                                      },
                                                      "extra": {
                                                        "rawValue": 30,
                                                        "raw": "30"
                                                      },
                                                      "value": 30
                                                    }
                                                  ]
                                                }
                                              }
                                            ],
                                            "directives": []
                                          },
                                          "alternate": {
                                            "type": "BlockStatement",
                                            "start": 4939,
                                            "end": 5103,
                                            "loc": {
                                              "start": {
                                                "line": 94,
                                                "column": 23
                                              },
                                              "end": {
                                                "line": 97,
                                                "column": 17
                                              }
                                            },
                                            "body": [
                                              {
                                                "type": "ExpressionStatement",
                                                "start": 5051,
                                                "end": 5085,
                                                "loc": {
                                                  "start": {
                                                    "line": 96,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 96,
                                                    "column": 54
                                                  }
                                                },
                                                "expression": {
                                                  "type": "CallExpression",
                                                  "start": 5051,
                                                  "end": 5084,
                                                  "loc": {
                                                    "start": {
                                                      "line": 96,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 96,
                                                      "column": 53
                                                    }
                                                  },
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "start": 5051,
                                                    "end": 5080,
                                                    "loc": {
                                                      "start": {
                                                        "line": 96,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 96,
                                                        "column": 49
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "MemberExpression",
                                                      "start": 5051,
                                                      "end": 5064,
                                                      "loc": {
                                                        "start": {
                                                          "line": 96,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 96,
                                                          "column": 33
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "ThisExpression",
                                                        "start": 5051,
                                                        "end": 5055,
                                                        "loc": {
                                                          "start": {
                                                            "line": 96,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 96,
                                                            "column": 24
                                                          }
                                                        },
                                                        "leadingComments": null
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 5056,
                                                        "end": 5064,
                                                        "loc": {
                                                          "start": {
                                                            "line": 96,
                                                            "column": 25
                                                          },
                                                          "end": {
                                                            "line": 96,
                                                            "column": 33
                                                          },
                                                          "identifierName": "renderer"
                                                        },
                                                        "name": "renderer"
                                                      },
                                                      "computed": false,
                                                      "leadingComments": null
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 5065,
                                                      "end": 5080,
                                                      "loc": {
                                                        "start": {
                                                          "line": 96,
                                                          "column": 34
                                                        },
                                                        "end": {
                                                          "line": 96,
                                                          "column": 49
                                                        },
                                                        "identifierName": "invalidateViews"
                                                      },
                                                      "name": "invalidateViews"
                                                    },
                                                    "computed": false,
                                                    "leadingComments": null
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "NumericLiteral",
                                                      "start": 5081,
                                                      "end": 5083,
                                                      "loc": {
                                                        "start": {
                                                          "line": 96,
                                                          "column": 50
                                                        },
                                                        "end": {
                                                          "line": 96,
                                                          "column": 52
                                                        }
                                                      },
                                                      "extra": {
                                                        "rawValue": 30,
                                                        "raw": "30"
                                                      },
                                                      "value": 30
                                                    }
                                                  ],
                                                  "leadingComments": null
                                                },
                                                "leadingComments": [
                                                  {
                                                    "type": "CommentLine",
                                                    "value": " Invalidate views (means they'll have x frames to test for changes)",
                                                    "start": 4961,
                                                    "end": 5030,
                                                    "loc": {
                                                      "start": {
                                                        "line": 95,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 95,
                                                        "column": 89
                                                      }
                                                    }
                                                  }
                                                ]
                                              }
                                            ],
                                            "directives": []
                                          }
                                        }
                                      ],
                                      "directives": []
                                    }
                                  }
                                ],
                                "directives": []
                              }
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5138,
                      "end": 5383,
                      "loc": {
                        "start": {
                          "line": 100,
                          "column": 8
                        },
                        "end": {
                          "line": 107,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5138,
                        "end": 5382,
                        "loc": {
                          "start": {
                            "line": 100,
                            "column": 8
                          },
                          "end": {
                            "line": 107,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5138,
                          "end": 5159,
                          "loc": {
                            "start": {
                              "line": 100,
                              "column": 8
                            },
                            "end": {
                              "line": 100,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5138,
                            "end": 5151,
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 8
                              },
                              "end": {
                                "line": 100,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5138,
                              "end": 5142,
                              "loc": {
                                "start": {
                                  "line": 100,
                                  "column": 8
                                },
                                "end": {
                                  "line": 100,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5143,
                              "end": 5151,
                              "loc": {
                                "start": {
                                  "line": 100,
                                  "column": 13
                                },
                                "end": {
                                  "line": 100,
                                  "column": 21
                                },
                                "identifierName": "observer"
                              },
                              "name": "observer"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5152,
                            "end": 5159,
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 22
                              },
                              "end": {
                                "line": 100,
                                "column": 29
                              },
                              "identifierName": "observe"
                            },
                            "name": "observe"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 5160,
                            "end": 5168,
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 30
                              },
                              "end": {
                                "line": 100,
                                "column": 38
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5160,
                              "end": 5164,
                              "loc": {
                                "start": {
                                  "line": 100,
                                  "column": 30
                                },
                                "end": {
                                  "line": 100,
                                  "column": 34
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5165,
                              "end": 5168,
                              "loc": {
                                "start": {
                                  "line": 100,
                                  "column": 35
                                },
                                "end": {
                                  "line": 100,
                                  "column": 38
                                },
                                "identifierName": "dom"
                              },
                              "name": "dom"
                            },
                            "computed": false
                          },
                          {
                            "type": "ObjectExpression",
                            "start": 5170,
                            "end": 5381,
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 40
                              },
                              "end": {
                                "line": 107,
                                "column": 9
                              }
                            },
                            "properties": [
                              {
                                "type": "ObjectProperty",
                                "start": 5184,
                                "end": 5199,
                                "loc": {
                                  "start": {
                                    "line": 101,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 101,
                                    "column": 27
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 5184,
                                  "end": 5193,
                                  "loc": {
                                    "start": {
                                      "line": 101,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 101,
                                      "column": 21
                                    },
                                    "identifierName": "childList"
                                  },
                                  "name": "childList"
                                },
                                "value": {
                                  "type": "BooleanLiteral",
                                  "start": 5195,
                                  "end": 5199,
                                  "loc": {
                                    "start": {
                                      "line": 101,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 101,
                                      "column": 27
                                    }
                                  },
                                  "value": true
                                }
                              },
                              {
                                "type": "ObjectProperty",
                                "start": 5213,
                                "end": 5226,
                                "loc": {
                                  "start": {
                                    "line": 102,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 102,
                                    "column": 25
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 5213,
                                  "end": 5220,
                                  "loc": {
                                    "start": {
                                      "line": 102,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 102,
                                      "column": 19
                                    },
                                    "identifierName": "subtree"
                                  },
                                  "name": "subtree"
                                },
                                "value": {
                                  "type": "BooleanLiteral",
                                  "start": 5222,
                                  "end": 5226,
                                  "loc": {
                                    "start": {
                                      "line": 102,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 102,
                                      "column": 25
                                    }
                                  },
                                  "value": true
                                }
                              },
                              {
                                "type": "ObjectProperty",
                                "start": 5240,
                                "end": 5256,
                                "loc": {
                                  "start": {
                                    "line": 103,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 103,
                                    "column": 28
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 5240,
                                  "end": 5250,
                                  "loc": {
                                    "start": {
                                      "line": 103,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 103,
                                      "column": 22
                                    },
                                    "identifierName": "attributes"
                                  },
                                  "name": "attributes"
                                },
                                "value": {
                                  "type": "BooleanLiteral",
                                  "start": 5252,
                                  "end": 5256,
                                  "loc": {
                                    "start": {
                                      "line": 103,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 103,
                                      "column": 28
                                    }
                                  },
                                  "value": true
                                }
                              },
                              {
                                "type": "ObjectProperty",
                                "start": 5270,
                                "end": 5291,
                                "loc": {
                                  "start": {
                                    "line": 104,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 104,
                                    "column": 33
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 5270,
                                  "end": 5283,
                                  "loc": {
                                    "start": {
                                      "line": 104,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 104,
                                      "column": 25
                                    },
                                    "identifierName": "characterData"
                                  },
                                  "name": "characterData"
                                },
                                "value": {
                                  "type": "BooleanLiteral",
                                  "start": 5286,
                                  "end": 5291,
                                  "loc": {
                                    "start": {
                                      "line": 104,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 104,
                                      "column": 33
                                    }
                                  },
                                  "value": false
                                }
                              },
                              {
                                "type": "ObjectProperty",
                                "start": 5305,
                                "end": 5329,
                                "loc": {
                                  "start": {
                                    "line": 105,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 105,
                                    "column": 36
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 5305,
                                  "end": 5322,
                                  "loc": {
                                    "start": {
                                      "line": 105,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 105,
                                      "column": 29
                                    },
                                    "identifierName": "attributeOldValue"
                                  },
                                  "name": "attributeOldValue"
                                },
                                "value": {
                                  "type": "BooleanLiteral",
                                  "start": 5324,
                                  "end": 5329,
                                  "loc": {
                                    "start": {
                                      "line": 105,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 105,
                                      "column": 36
                                    }
                                  },
                                  "value": false
                                }
                              },
                              {
                                "type": "ObjectProperty",
                                "start": 5343,
                                "end": 5371,
                                "loc": {
                                  "start": {
                                    "line": 106,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 106,
                                    "column": 40
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 5343,
                                  "end": 5364,
                                  "loc": {
                                    "start": {
                                      "line": 106,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 106,
                                      "column": 33
                                    },
                                    "identifierName": "characterDataOldValue"
                                  },
                                  "name": "characterDataOldValue"
                                },
                                "value": {
                                  "type": "BooleanLiteral",
                                  "start": 5366,
                                  "end": 5371,
                                  "loc": {
                                    "start": {
                                      "line": 106,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 106,
                                      "column": 40
                                    }
                                  },
                                  "value": false
                                }
                              }
                            ]
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5393,
                      "end": 5412,
                      "loc": {
                        "start": {
                          "line": 109,
                          "column": 8
                        },
                        "end": {
                          "line": 109,
                          "column": 27
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5393,
                        "end": 5411,
                        "loc": {
                          "start": {
                            "line": 109,
                            "column": 8
                          },
                          "end": {
                            "line": 109,
                            "column": 26
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 5393,
                          "end": 5404,
                          "loc": {
                            "start": {
                              "line": 109,
                              "column": 8
                            },
                            "end": {
                              "line": 109,
                              "column": 19
                            },
                            "identifierName": "lastCreated"
                          },
                          "name": "lastCreated"
                        },
                        "right": {
                          "type": "ThisExpression",
                          "start": 5407,
                          "end": 5411,
                          "loc": {
                            "start": {
                              "line": 109,
                              "column": 22
                            },
                            "end": {
                              "line": 109,
                              "column": 26
                            }
                          }
                        }
                      }
                    }
                  ],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "* Construct a new Canvas\n        @param {Object} [options={}] - Options to initialize the Canvas with\n        @param {HTMLElement} [options.dom] - The HTML element in which the canvas will live. If this is empty a detached div element will be created that needs to be appended to the DOM manually. This may be the best option for viewmodel driven frameworks since the state can be exported out and held separtely to the 3d-control.\n        @param {Number} [options.debugLevel=0] - Console debugging levels\n        @param {Number} [options.resolution=1] - GL Canvas rasolution\n        @param {String} [options.place='first'] - Where to place the render-element, options are 'first' and 'last'\n        @param {Boolean} [options.startImmediately=true] - If true will run a requestAnimationFrame going into a loop. If false, it can be called manually (canvas,renderer.start();)\n        @param {THREE.Color} [options.clearColor=new THREE.Color(0)] - WebGL option\n        @param {String} [options.precision='highp'] - WebGL option\n        @param {Boolean} [options.premultipliedAlpha=true] - WebGL option\n        @param {Boolean} [options.stencil=true] - WebGL option\n        @param {Boolean} [options.depth=true] - WebGL option, depth buffer\n        @param {Boolean} [options.preserveDrawingBuffer=true] - WebGL option, retains draw calls, critical for multiple views\n        @param {Boolean} [options.alpha=true] - WebGL option, enables alpha cannel\n        @param {Boolean} [options.antialias=true] - WebGL option, enables aleasing\n        @param {Boolean} [options.logarithmicDepthBuffer=false] - WebGL option\n        @example\n        import Canvas from 'canvas';\n        // Create new canvas inside #main\n        const canvas = new Canvas({ dom: '#main' });\n        // Parse meshes\n        let context = await canvas.parser.stream('meshes.txt');\n        @returns {Object} The constructed Canvas ",
                    "start": 466,
                    "end": 2364,
                    "loc": {
                      "start": {
                        "line": 16,
                        "column": 4
                      },
                      "end": {
                        "line": 38,
                        "column": 51
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 5424,
                "end": 5810,
                "loc": {
                  "start": {
                    "line": 112,
                    "column": 4
                  },
                  "end": {
                    "line": 123,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 5424,
                  "end": 5431,
                  "loc": {
                    "start": {
                      "line": 112,
                      "column": 4
                    },
                    "end": {
                      "line": 112,
                      "column": 11
                    },
                    "identifierName": "destroy"
                  },
                  "name": "destroy"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 5434,
                  "end": 5810,
                  "loc": {
                    "start": {
                      "line": 112,
                      "column": 14
                    },
                    "end": {
                      "line": 123,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 5444,
                      "end": 5471,
                      "loc": {
                        "start": {
                          "line": 113,
                          "column": 8
                        },
                        "end": {
                          "line": 113,
                          "column": 35
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5444,
                        "end": 5470,
                        "loc": {
                          "start": {
                            "line": 113,
                            "column": 8
                          },
                          "end": {
                            "line": 113,
                            "column": 34
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5444,
                          "end": 5468,
                          "loc": {
                            "start": {
                              "line": 113,
                              "column": 8
                            },
                            "end": {
                              "line": 113,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5444,
                            "end": 5457,
                            "loc": {
                              "start": {
                                "line": 113,
                                "column": 8
                              },
                              "end": {
                                "line": 113,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5444,
                              "end": 5448,
                              "loc": {
                                "start": {
                                  "line": 113,
                                  "column": 8
                                },
                                "end": {
                                  "line": 113,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5449,
                              "end": 5457,
                              "loc": {
                                "start": {
                                  "line": 113,
                                  "column": 13
                                },
                                "end": {
                                  "line": 113,
                                  "column": 21
                                },
                                "identifierName": "observer"
                              },
                              "name": "observer"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5458,
                            "end": 5468,
                            "loc": {
                              "start": {
                                "line": 113,
                                "column": 22
                              },
                              "end": {
                                "line": 113,
                                "column": 32
                              },
                              "identifierName": "disconnect"
                            },
                            "name": "disconnect"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5480,
                      "end": 5506,
                      "loc": {
                        "start": {
                          "line": 114,
                          "column": 8
                        },
                        "end": {
                          "line": 114,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5480,
                        "end": 5505,
                        "loc": {
                          "start": {
                            "line": 114,
                            "column": 8
                          },
                          "end": {
                            "line": 114,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5480,
                          "end": 5493,
                          "loc": {
                            "start": {
                              "line": 114,
                              "column": 8
                            },
                            "end": {
                              "line": 114,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5480,
                            "end": 5484,
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 8
                              },
                              "end": {
                                "line": 114,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5485,
                            "end": 5493,
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 13
                              },
                              "end": {
                                "line": 114,
                                "column": 21
                              },
                              "identifierName": "observer"
                            },
                            "name": "observer"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 5496,
                          "end": 5505,
                          "loc": {
                            "start": {
                              "line": 114,
                              "column": 24
                            },
                            "end": {
                              "line": 114,
                              "column": 33
                            },
                            "identifierName": "undefined"
                          },
                          "name": "undefined"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5515,
                      "end": 5539,
                      "loc": {
                        "start": {
                          "line": 115,
                          "column": 8
                        },
                        "end": {
                          "line": 115,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5515,
                        "end": 5538,
                        "loc": {
                          "start": {
                            "line": 115,
                            "column": 8
                          },
                          "end": {
                            "line": 115,
                            "column": 31
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5515,
                          "end": 5526,
                          "loc": {
                            "start": {
                              "line": 115,
                              "column": 8
                            },
                            "end": {
                              "line": 115,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5515,
                            "end": 5519,
                            "loc": {
                              "start": {
                                "line": 115,
                                "column": 8
                              },
                              "end": {
                                "line": 115,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5520,
                            "end": 5526,
                            "loc": {
                              "start": {
                                "line": 115,
                                "column": 13
                              },
                              "end": {
                                "line": 115,
                                "column": 19
                              },
                              "identifierName": "scopes"
                            },
                            "name": "scopes"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 5529,
                          "end": 5538,
                          "loc": {
                            "start": {
                              "line": 115,
                              "column": 22
                            },
                            "end": {
                              "line": 115,
                              "column": 31
                            },
                            "identifierName": "undefined"
                          },
                          "name": "undefined"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5548,
                      "end": 5591,
                      "loc": {
                        "start": {
                          "line": 116,
                          "column": 8
                        },
                        "end": {
                          "line": 116,
                          "column": 51
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5548,
                        "end": 5590,
                        "loc": {
                          "start": {
                            "line": 116,
                            "column": 8
                          },
                          "end": {
                            "line": 116,
                            "column": 50
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5548,
                          "end": 5566,
                          "loc": {
                            "start": {
                              "line": 116,
                              "column": 8
                            },
                            "end": {
                              "line": 116,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5548,
                            "end": 5558,
                            "loc": {
                              "start": {
                                "line": 116,
                                "column": 8
                              },
                              "end": {
                                "line": 116,
                                "column": 18
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5548,
                              "end": 5552,
                              "loc": {
                                "start": {
                                  "line": 116,
                                  "column": 8
                                },
                                "end": {
                                  "line": 116,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5553,
                              "end": 5558,
                              "loc": {
                                "start": {
                                  "line": 116,
                                  "column": 13
                                },
                                "end": {
                                  "line": 116,
                                  "column": 18
                                },
                                "identifierName": "views"
                              },
                              "name": "views"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5559,
                            "end": 5566,
                            "loc": {
                              "start": {
                                "line": 116,
                                "column": 19
                              },
                              "end": {
                                "line": 116,
                                "column": 26
                              },
                              "identifierName": "forEach"
                            },
                            "name": "forEach"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 5567,
                            "end": 5589,
                            "loc": {
                              "start": {
                                "line": 116,
                                "column": 27
                              },
                              "end": {
                                "line": 116,
                                "column": 49
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 5567,
                                "end": 5571,
                                "loc": {
                                  "start": {
                                    "line": 116,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 116,
                                    "column": 31
                                  },
                                  "identifierName": "view"
                                },
                                "name": "view"
                              }
                            ],
                            "body": {
                              "type": "CallExpression",
                              "start": 5575,
                              "end": 5589,
                              "loc": {
                                "start": {
                                  "line": 116,
                                  "column": 35
                                },
                                "end": {
                                  "line": 116,
                                  "column": 49
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 5575,
                                "end": 5587,
                                "loc": {
                                  "start": {
                                    "line": 116,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 116,
                                    "column": 47
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 5575,
                                  "end": 5579,
                                  "loc": {
                                    "start": {
                                      "line": 116,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 116,
                                      "column": 39
                                    },
                                    "identifierName": "view"
                                  },
                                  "name": "view"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5580,
                                  "end": 5587,
                                  "loc": {
                                    "start": {
                                      "line": 116,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 116,
                                      "column": 47
                                    },
                                    "identifierName": "destroy"
                                  },
                                  "name": "destroy"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5600,
                      "end": 5624,
                      "loc": {
                        "start": {
                          "line": 117,
                          "column": 8
                        },
                        "end": {
                          "line": 117,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5600,
                        "end": 5623,
                        "loc": {
                          "start": {
                            "line": 117,
                            "column": 8
                          },
                          "end": {
                            "line": 117,
                            "column": 31
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5600,
                          "end": 5611,
                          "loc": {
                            "start": {
                              "line": 117,
                              "column": 8
                            },
                            "end": {
                              "line": 117,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5600,
                            "end": 5604,
                            "loc": {
                              "start": {
                                "line": 117,
                                "column": 8
                              },
                              "end": {
                                "line": 117,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5605,
                            "end": 5611,
                            "loc": {
                              "start": {
                                "line": 117,
                                "column": 13
                              },
                              "end": {
                                "line": 117,
                                "column": 19
                              },
                              "identifierName": "parser"
                            },
                            "name": "parser"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 5614,
                          "end": 5623,
                          "loc": {
                            "start": {
                              "line": 117,
                              "column": 22
                            },
                            "end": {
                              "line": 117,
                              "column": 31
                            },
                            "identifierName": "undefined"
                          },
                          "name": "undefined"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5633,
                      "end": 5657,
                      "loc": {
                        "start": {
                          "line": 118,
                          "column": 8
                        },
                        "end": {
                          "line": 118,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5633,
                        "end": 5656,
                        "loc": {
                          "start": {
                            "line": 118,
                            "column": 8
                          },
                          "end": {
                            "line": 118,
                            "column": 31
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5633,
                          "end": 5654,
                          "loc": {
                            "start": {
                              "line": 118,
                              "column": 8
                            },
                            "end": {
                              "line": 118,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5633,
                            "end": 5646,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 8
                              },
                              "end": {
                                "line": 118,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5633,
                              "end": 5637,
                              "loc": {
                                "start": {
                                  "line": 118,
                                  "column": 8
                                },
                                "end": {
                                  "line": 118,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5638,
                              "end": 5646,
                              "loc": {
                                "start": {
                                  "line": 118,
                                  "column": 13
                                },
                                "end": {
                                  "line": 118,
                                  "column": 21
                                },
                                "identifierName": "renderer"
                              },
                              "name": "renderer"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5647,
                            "end": 5654,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 22
                              },
                              "end": {
                                "line": 118,
                                "column": 29
                              },
                              "identifierName": "destroy"
                            },
                            "name": "destroy"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5666,
                      "end": 5692,
                      "loc": {
                        "start": {
                          "line": 119,
                          "column": 8
                        },
                        "end": {
                          "line": 119,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5666,
                        "end": 5691,
                        "loc": {
                          "start": {
                            "line": 119,
                            "column": 8
                          },
                          "end": {
                            "line": 119,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5666,
                          "end": 5679,
                          "loc": {
                            "start": {
                              "line": 119,
                              "column": 8
                            },
                            "end": {
                              "line": 119,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5666,
                            "end": 5670,
                            "loc": {
                              "start": {
                                "line": 119,
                                "column": 8
                              },
                              "end": {
                                "line": 119,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5671,
                            "end": 5679,
                            "loc": {
                              "start": {
                                "line": 119,
                                "column": 13
                              },
                              "end": {
                                "line": 119,
                                "column": 21
                              },
                              "identifierName": "renderer"
                            },
                            "name": "renderer"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 5682,
                          "end": 5691,
                          "loc": {
                            "start": {
                              "line": 119,
                              "column": 24
                            },
                            "end": {
                              "line": 119,
                              "column": 33
                            },
                            "identifierName": "undefined"
                          },
                          "name": "undefined"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5701,
                      "end": 5731,
                      "loc": {
                        "start": {
                          "line": 120,
                          "column": 8
                        },
                        "end": {
                          "line": 120,
                          "column": 38
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5701,
                        "end": 5730,
                        "loc": {
                          "start": {
                            "line": 120,
                            "column": 8
                          },
                          "end": {
                            "line": 120,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5701,
                          "end": 5728,
                          "loc": {
                            "start": {
                              "line": 120,
                              "column": 8
                            },
                            "end": {
                              "line": 120,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5701,
                            "end": 5712,
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 8
                              },
                              "end": {
                                "line": 120,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5701,
                              "end": 5705,
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 8
                                },
                                "end": {
                                  "line": 120,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5706,
                              "end": 5712,
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 13
                                },
                                "end": {
                                  "line": 120,
                                  "column": 19
                                },
                                "identifierName": "events"
                              },
                              "name": "events"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5713,
                            "end": 5728,
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 20
                              },
                              "end": {
                                "line": 120,
                                "column": 35
                              },
                              "identifierName": "removeListeners"
                            },
                            "name": "removeListeners"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5740,
                      "end": 5771,
                      "loc": {
                        "start": {
                          "line": 121,
                          "column": 8
                        },
                        "end": {
                          "line": 121,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5740,
                        "end": 5770,
                        "loc": {
                          "start": {
                            "line": 121,
                            "column": 8
                          },
                          "end": {
                            "line": 121,
                            "column": 38
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5740,
                          "end": 5768,
                          "loc": {
                            "start": {
                              "line": 121,
                              "column": 8
                            },
                            "end": {
                              "line": 121,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5740,
                            "end": 5751,
                            "loc": {
                              "start": {
                                "line": 121,
                                "column": 8
                              },
                              "end": {
                                "line": 121,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5740,
                              "end": 5744,
                              "loc": {
                                "start": {
                                  "line": 121,
                                  "column": 8
                                },
                                "end": {
                                  "line": 121,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5745,
                              "end": 5751,
                              "loc": {
                                "start": {
                                  "line": 121,
                                  "column": 13
                                },
                                "end": {
                                  "line": 121,
                                  "column": 19
                                },
                                "identifierName": "events"
                              },
                              "name": "events"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5752,
                            "end": 5768,
                            "loc": {
                              "start": {
                                "line": 121,
                                "column": 20
                              },
                              "end": {
                                "line": 121,
                                "column": 36
                              },
                              "identifierName": "removeInspectors"
                            },
                            "name": "removeInspectors"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5780,
                      "end": 5804,
                      "loc": {
                        "start": {
                          "line": 122,
                          "column": 8
                        },
                        "end": {
                          "line": 122,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5780,
                        "end": 5803,
                        "loc": {
                          "start": {
                            "line": 122,
                            "column": 8
                          },
                          "end": {
                            "line": 122,
                            "column": 31
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5780,
                          "end": 5791,
                          "loc": {
                            "start": {
                              "line": 122,
                              "column": 8
                            },
                            "end": {
                              "line": 122,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5780,
                            "end": 5784,
                            "loc": {
                              "start": {
                                "line": 122,
                                "column": 8
                              },
                              "end": {
                                "line": 122,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5785,
                            "end": 5791,
                            "loc": {
                              "start": {
                                "line": 122,
                                "column": 13
                              },
                              "end": {
                                "line": 122,
                                "column": 19
                              },
                              "identifierName": "events"
                            },
                            "name": "events"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 5794,
                          "end": 5803,
                          "loc": {
                            "start": {
                              "line": 122,
                              "column": 22
                            },
                            "end": {
                              "line": 122,
                              "column": 31
                            },
                            "identifierName": "undefined"
                          },
                          "name": "undefined"
                        }
                      }
                    }
                  ],
                  "directives": []
                }
              }
            ]
          },
          "leadingComments": [
            {
              "type": "CommentBlock",
              "value": "* The Canvas class holds the webGL context and maps the underlying views.\n    It initializes it's own renderer, event system and parser. ",
              "start": 289,
              "end": 430,
              "loc": {
                "start": {
                  "line": 12,
                  "column": 0
                },
                "end": {
                  "line": 13,
                  "column": 65
                }
              }
            }
          ],
          "trailingComments": []
        },
        "leadingComments": [
          {
            "type": "CommentBlock",
            "value": "* The Canvas class holds the webGL context and maps the underlying views.\n    It initializes it's own renderer, event system and parser. ",
            "start": 289,
            "end": 430,
            "loc": {
              "start": {
                "line": 12,
                "column": 0
              },
              "end": {
                "line": 13,
                "column": 65
              }
            }
          }
        ]
      }
    ],
    "directives": []
  },
  "comments": [
    {
      "type": "CommentBlock",
      "value": "* Global awv3 version ",
      "start": 167,
      "end": 193,
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 26
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* last created canvas ",
      "start": 225,
      "end": 251,
      "loc": {
        "start": {
          "line": 9,
          "column": 0
        },
        "end": {
          "line": 9,
          "column": 26
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* The Canvas class holds the webGL context and maps the underlying views.\n    It initializes it's own renderer, event system and parser. ",
      "start": 289,
      "end": 430,
      "loc": {
        "start": {
          "line": 12,
          "column": 0
        },
        "end": {
          "line": 13,
          "column": 65
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* Construct a new Canvas\n        @param {Object} [options={}] - Options to initialize the Canvas with\n        @param {HTMLElement} [options.dom] - The HTML element in which the canvas will live. If this is empty a detached div element will be created that needs to be appended to the DOM manually. This may be the best option for viewmodel driven frameworks since the state can be exported out and held separtely to the 3d-control.\n        @param {Number} [options.debugLevel=0] - Console debugging levels\n        @param {Number} [options.resolution=1] - GL Canvas rasolution\n        @param {String} [options.place='first'] - Where to place the render-element, options are 'first' and 'last'\n        @param {Boolean} [options.startImmediately=true] - If true will run a requestAnimationFrame going into a loop. If false, it can be called manually (canvas,renderer.start();)\n        @param {THREE.Color} [options.clearColor=new THREE.Color(0)] - WebGL option\n        @param {String} [options.precision='highp'] - WebGL option\n        @param {Boolean} [options.premultipliedAlpha=true] - WebGL option\n        @param {Boolean} [options.stencil=true] - WebGL option\n        @param {Boolean} [options.depth=true] - WebGL option, depth buffer\n        @param {Boolean} [options.preserveDrawingBuffer=true] - WebGL option, retains draw calls, critical for multiple views\n        @param {Boolean} [options.alpha=true] - WebGL option, enables alpha cannel\n        @param {Boolean} [options.antialias=true] - WebGL option, enables aleasing\n        @param {Boolean} [options.logarithmicDepthBuffer=false] - WebGL option\n        @example\n        import Canvas from 'canvas';\n        // Create new canvas inside #main\n        const canvas = new Canvas({ dom: '#main' });\n        // Parse meshes\n        let context = await canvas.parser.stream('meshes.txt');\n        @returns {Object} The constructed Canvas ",
      "start": 466,
      "end": 2364,
      "loc": {
        "start": {
          "line": 16,
          "column": 4
        },
        "end": {
          "line": 38,
          "column": 51
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* awv3 version ",
      "start": 2406,
      "end": 2425,
      "loc": {
        "start": {
          "line": 41,
          "column": 8
        },
        "end": {
          "line": 41,
          "column": 27
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* GUID to help identify the canvas ",
      "start": 2466,
      "end": 2505,
      "loc": {
        "start": {
          "line": 43,
          "column": 8
        },
        "end": {
          "line": 43,
          "column": 47
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* List of managed views ",
      "start": 2538,
      "end": 2566,
      "loc": {
        "start": {
          "line": 45,
          "column": 8
        },
        "end": {
          "line": 45,
          "column": 36
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* The dom node in which the canvas lives ",
      "start": 2920,
      "end": 2965,
      "loc": {
        "start": {
          "line": 53,
          "column": 8
        },
        "end": {
          "line": 53,
          "column": 53
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* Debug level for this canvas ",
      "start": 3106,
      "end": 3140,
      "loc": {
        "start": {
          "line": 56,
          "column": 8
        },
        "end": {
          "line": 56,
          "column": 42
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* Global events using the {@link Events} class ",
      "start": 3699,
      "end": 3750,
      "loc": {
        "start": {
          "line": 69,
          "column": 8
        },
        "end": {
          "line": 69,
          "column": 59
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* GL {@link Renderer} via three.js ",
      "start": 3795,
      "end": 3834,
      "loc": {
        "start": {
          "line": 71,
          "column": 8
        },
        "end": {
          "line": 71,
          "column": 47
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* {@link Parser} using webworkers to unpack and optimize compressed packages ",
      "start": 3896,
      "end": 3977,
      "loc": {
        "start": {
          "line": 73,
          "column": 8
        },
        "end": {
          "line": 73,
          "column": 89
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* Map of managed scopes.\n            This contains dom nodes with references to all the views influenced.\n            It is used internally to track changes in position and size.\n            @example\n            // Get all views affected for node #main\n            let array = canvas.scopes.get(document.querySelector('#main')); ",
      "start": 4023,
      "end": 4356,
      "loc": {
        "start": {
          "line": 76,
          "column": 8
        },
        "end": {
          "line": 81,
          "column": 78
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Any hard mutation causes views to update their parent scopes",
      "start": 4506,
      "end": 4569,
      "loc": {
        "start": {
          "line": 85,
          "column": 16
        },
        "end": {
          "line": 85,
          "column": 79
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Invalidate views (means they'll have x frames to test for changes)",
      "start": 4961,
      "end": 5030,
      "loc": {
        "start": {
          "line": 95,
          "column": 20
        },
        "end": {
          "line": 95,
          "column": 89
        }
      }
    }
  ],
  "tokens": [
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 0,
      "end": 6,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "v4",
      "start": 7,
      "end": 9,
      "loc": {
        "start": {
          "line": 1,
          "column": 7
        },
        "end": {
          "line": 1,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 10,
      "end": 14,
      "loc": {
        "start": {
          "line": 1,
          "column": 10
        },
        "end": {
          "line": 1,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "uuid-v4",
      "start": 15,
      "end": 24,
      "loc": {
        "start": {
          "line": 1,
          "column": 15
        },
        "end": {
          "line": 1,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 24,
      "end": 25,
      "loc": {
        "start": {
          "line": 1,
          "column": 24
        },
        "end": {
          "line": 1,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 26,
      "end": 32,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 33,
      "end": 34,
      "loc": {
        "start": {
          "line": 2,
          "column": 7
        },
        "end": {
          "line": 2,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "queryDom",
      "start": 35,
      "end": 43,
      "loc": {
        "start": {
          "line": 2,
          "column": 9
        },
        "end": {
          "line": 2,
          "column": 17
        }
      }
    },
    {
      "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": 17
        },
        "end": {
          "line": 2,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "url",
      "start": 45,
      "end": 48,
      "loc": {
        "start": {
          "line": 2,
          "column": 19
        },
        "end": {
          "line": 2,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 49,
      "end": 50,
      "loc": {
        "start": {
          "line": 2,
          "column": 23
        },
        "end": {
          "line": 2,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 51,
      "end": 55,
      "loc": {
        "start": {
          "line": 2,
          "column": 25
        },
        "end": {
          "line": 2,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./helpers",
      "start": 56,
      "end": 67,
      "loc": {
        "start": {
          "line": 2,
          "column": 30
        },
        "end": {
          "line": 2,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 67,
      "end": 68,
      "loc": {
        "start": {
          "line": 2,
          "column": 41
        },
        "end": {
          "line": 2,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 69,
      "end": 75,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Parser",
      "start": 76,
      "end": 82,
      "loc": {
        "start": {
          "line": 3,
          "column": 7
        },
        "end": {
          "line": 3,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 83,
      "end": 87,
      "loc": {
        "start": {
          "line": 3,
          "column": 14
        },
        "end": {
          "line": 3,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./parser",
      "start": 88,
      "end": 98,
      "loc": {
        "start": {
          "line": 3,
          "column": 19
        },
        "end": {
          "line": 3,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 98,
      "end": 99,
      "loc": {
        "start": {
          "line": 3,
          "column": 29
        },
        "end": {
          "line": 3,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 100,
      "end": 106,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Events",
      "start": 107,
      "end": 113,
      "loc": {
        "start": {
          "line": 4,
          "column": 7
        },
        "end": {
          "line": 4,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 114,
      "end": 118,
      "loc": {
        "start": {
          "line": 4,
          "column": 14
        },
        "end": {
          "line": 4,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./events",
      "start": 119,
      "end": 129,
      "loc": {
        "start": {
          "line": 4,
          "column": 19
        },
        "end": {
          "line": 4,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 129,
      "end": 130,
      "loc": {
        "start": {
          "line": 4,
          "column": 29
        },
        "end": {
          "line": 4,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 131,
      "end": 137,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Renderer",
      "start": 138,
      "end": 146,
      "loc": {
        "start": {
          "line": 5,
          "column": 7
        },
        "end": {
          "line": 5,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 147,
      "end": 151,
      "loc": {
        "start": {
          "line": 5,
          "column": 16
        },
        "end": {
          "line": 5,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./renderer",
      "start": 152,
      "end": 164,
      "loc": {
        "start": {
          "line": 5,
          "column": 21
        },
        "end": {
          "line": 5,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 164,
      "end": 165,
      "loc": {
        "start": {
          "line": 5,
          "column": 33
        },
        "end": {
          "line": 5,
          "column": 34
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* Global awv3 version ",
      "start": 167,
      "end": 193,
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "export",
        "keyword": "export",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "export",
      "start": 194,
      "end": 200,
      "loc": {
        "start": {
          "line": 8,
          "column": 0
        },
        "end": {
          "line": 8,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 201,
      "end": 204,
      "loc": {
        "start": {
          "line": 8,
          "column": 7
        },
        "end": {
          "line": 8,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "version",
      "start": 205,
      "end": 212,
      "loc": {
        "start": {
          "line": 8,
          "column": 11
        },
        "end": {
          "line": 8,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 213,
      "end": 214,
      "loc": {
        "start": {
          "line": 8,
          "column": 19
        },
        "end": {
          "line": 8,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "7.0.19",
      "start": 215,
      "end": 223,
      "loc": {
        "start": {
          "line": 8,
          "column": 21
        },
        "end": {
          "line": 8,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 223,
      "end": 224,
      "loc": {
        "start": {
          "line": 8,
          "column": 29
        },
        "end": {
          "line": 8,
          "column": 30
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* last created canvas ",
      "start": 225,
      "end": 251,
      "loc": {
        "start": {
          "line": 9,
          "column": 0
        },
        "end": {
          "line": 9,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "export",
        "keyword": "export",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "export",
      "start": 252,
      "end": 258,
      "loc": {
        "start": {
          "line": 10,
          "column": 0
        },
        "end": {
          "line": 10,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 259,
      "end": 262,
      "loc": {
        "start": {
          "line": 10,
          "column": 7
        },
        "end": {
          "line": 10,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lastCreated",
      "start": 263,
      "end": 274,
      "loc": {
        "start": {
          "line": 10,
          "column": 11
        },
        "end": {
          "line": 10,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 275,
      "end": 276,
      "loc": {
        "start": {
          "line": 10,
          "column": 23
        },
        "end": {
          "line": 10,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 277,
      "end": 286,
      "loc": {
        "start": {
          "line": 10,
          "column": 25
        },
        "end": {
          "line": 10,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 286,
      "end": 287,
      "loc": {
        "start": {
          "line": 10,
          "column": 34
        },
        "end": {
          "line": 10,
          "column": 35
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* The Canvas class holds the webGL context and maps the underlying views.\n    It initializes it's own renderer, event system and parser. ",
      "start": 289,
      "end": 430,
      "loc": {
        "start": {
          "line": 12,
          "column": 0
        },
        "end": {
          "line": 13,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "export",
        "keyword": "export",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "export",
      "start": 431,
      "end": 437,
      "loc": {
        "start": {
          "line": 14,
          "column": 0
        },
        "end": {
          "line": 14,
          "column": 6
        }
      }
    },
    {
      "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": 438,
      "end": 445,
      "loc": {
        "start": {
          "line": 14,
          "column": 7
        },
        "end": {
          "line": 14,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "class",
        "keyword": "class",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "class",
      "start": 446,
      "end": 451,
      "loc": {
        "start": {
          "line": 14,
          "column": 15
        },
        "end": {
          "line": 14,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Canvas",
      "start": 452,
      "end": 458,
      "loc": {
        "start": {
          "line": 14,
          "column": 21
        },
        "end": {
          "line": 14,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 459,
      "end": 460,
      "loc": {
        "start": {
          "line": 14,
          "column": 28
        },
        "end": {
          "line": 14,
          "column": 29
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* Construct a new Canvas\n        @param {Object} [options={}] - Options to initialize the Canvas with\n        @param {HTMLElement} [options.dom] - The HTML element in which the canvas will live. If this is empty a detached div element will be created that needs to be appended to the DOM manually. This may be the best option for viewmodel driven frameworks since the state can be exported out and held separtely to the 3d-control.\n        @param {Number} [options.debugLevel=0] - Console debugging levels\n        @param {Number} [options.resolution=1] - GL Canvas rasolution\n        @param {String} [options.place='first'] - Where to place the render-element, options are 'first' and 'last'\n        @param {Boolean} [options.startImmediately=true] - If true will run a requestAnimationFrame going into a loop. If false, it can be called manually (canvas,renderer.start();)\n        @param {THREE.Color} [options.clearColor=new THREE.Color(0)] - WebGL option\n        @param {String} [options.precision='highp'] - WebGL option\n        @param {Boolean} [options.premultipliedAlpha=true] - WebGL option\n        @param {Boolean} [options.stencil=true] - WebGL option\n        @param {Boolean} [options.depth=true] - WebGL option, depth buffer\n        @param {Boolean} [options.preserveDrawingBuffer=true] - WebGL option, retains draw calls, critical for multiple views\n        @param {Boolean} [options.alpha=true] - WebGL option, enables alpha cannel\n        @param {Boolean} [options.antialias=true] - WebGL option, enables aleasing\n        @param {Boolean} [options.logarithmicDepthBuffer=false] - WebGL option\n        @example\n        import Canvas from 'canvas';\n        // Create new canvas inside #main\n        const canvas = new Canvas({ dom: '#main' });\n        // Parse meshes\n        let context = await canvas.parser.stream('meshes.txt');\n        @returns {Object} The constructed Canvas ",
      "start": 466,
      "end": 2364,
      "loc": {
        "start": {
          "line": 16,
          "column": 4
        },
        "end": {
          "line": 38,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constructor",
      "start": 2369,
      "end": 2380,
      "loc": {
        "start": {
          "line": 39,
          "column": 4
        },
        "end": {
          "line": 39,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2380,
      "end": 2381,
      "loc": {
        "start": {
          "line": 39,
          "column": 15
        },
        "end": {
          "line": 39,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 2381,
      "end": 2388,
      "loc": {
        "start": {
          "line": 39,
          "column": 16
        },
        "end": {
          "line": 39,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2389,
      "end": 2390,
      "loc": {
        "start": {
          "line": 39,
          "column": 24
        },
        "end": {
          "line": 39,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2391,
      "end": 2392,
      "loc": {
        "start": {
          "line": 39,
          "column": 26
        },
        "end": {
          "line": 39,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2392,
      "end": 2393,
      "loc": {
        "start": {
          "line": 39,
          "column": 27
        },
        "end": {
          "line": 39,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2393,
      "end": 2394,
      "loc": {
        "start": {
          "line": 39,
          "column": 28
        },
        "end": {
          "line": 39,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2395,
      "end": 2396,
      "loc": {
        "start": {
          "line": 39,
          "column": 30
        },
        "end": {
          "line": 39,
          "column": 31
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* awv3 version ",
      "start": 2406,
      "end": 2425,
      "loc": {
        "start": {
          "line": 41,
          "column": 8
        },
        "end": {
          "line": 41,
          "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": 2434,
      "end": 2438,
      "loc": {
        "start": {
          "line": 42,
          "column": 8
        },
        "end": {
          "line": 42,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2438,
      "end": 2439,
      "loc": {
        "start": {
          "line": 42,
          "column": 12
        },
        "end": {
          "line": 42,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "version",
      "start": 2439,
      "end": 2446,
      "loc": {
        "start": {
          "line": 42,
          "column": 13
        },
        "end": {
          "line": 42,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2447,
      "end": 2448,
      "loc": {
        "start": {
          "line": 42,
          "column": 21
        },
        "end": {
          "line": 42,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "version",
      "start": 2449,
      "end": 2456,
      "loc": {
        "start": {
          "line": 42,
          "column": 23
        },
        "end": {
          "line": 42,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2456,
      "end": 2457,
      "loc": {
        "start": {
          "line": 42,
          "column": 30
        },
        "end": {
          "line": 42,
          "column": 31
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* GUID to help identify the canvas ",
      "start": 2466,
      "end": 2505,
      "loc": {
        "start": {
          "line": 43,
          "column": 8
        },
        "end": {
          "line": 43,
          "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": 2514,
      "end": 2518,
      "loc": {
        "start": {
          "line": 44,
          "column": 8
        },
        "end": {
          "line": 44,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2518,
      "end": 2519,
      "loc": {
        "start": {
          "line": 44,
          "column": 12
        },
        "end": {
          "line": 44,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 2519,
      "end": 2521,
      "loc": {
        "start": {
          "line": 44,
          "column": 13
        },
        "end": {
          "line": 44,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2522,
      "end": 2523,
      "loc": {
        "start": {
          "line": 44,
          "column": 16
        },
        "end": {
          "line": 44,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "v4",
      "start": 2524,
      "end": 2526,
      "loc": {
        "start": {
          "line": 44,
          "column": 18
        },
        "end": {
          "line": 44,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2526,
      "end": 2527,
      "loc": {
        "start": {
          "line": 44,
          "column": 20
        },
        "end": {
          "line": 44,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2527,
      "end": 2528,
      "loc": {
        "start": {
          "line": 44,
          "column": 21
        },
        "end": {
          "line": 44,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2528,
      "end": 2529,
      "loc": {
        "start": {
          "line": 44,
          "column": 22
        },
        "end": {
          "line": 44,
          "column": 23
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* List of managed views ",
      "start": 2538,
      "end": 2566,
      "loc": {
        "start": {
          "line": 45,
          "column": 8
        },
        "end": {
          "line": 45,
          "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": 2575,
      "end": 2579,
      "loc": {
        "start": {
          "line": 46,
          "column": 8
        },
        "end": {
          "line": 46,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2579,
      "end": 2580,
      "loc": {
        "start": {
          "line": 46,
          "column": 12
        },
        "end": {
          "line": 46,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "views",
      "start": 2580,
      "end": 2585,
      "loc": {
        "start": {
          "line": 46,
          "column": 13
        },
        "end": {
          "line": 46,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2586,
      "end": 2587,
      "loc": {
        "start": {
          "line": 46,
          "column": 19
        },
        "end": {
          "line": 46,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2588,
      "end": 2589,
      "loc": {
        "start": {
          "line": 46,
          "column": 21
        },
        "end": {
          "line": 46,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2589,
      "end": 2590,
      "loc": {
        "start": {
          "line": 46,
          "column": 22
        },
        "end": {
          "line": 46,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2590,
      "end": 2591,
      "loc": {
        "start": {
          "line": 46,
          "column": 23
        },
        "end": {
          "line": 46,
          "column": 24
        }
      }
    },
    {
      "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": 2601,
      "end": 2603,
      "loc": {
        "start": {
          "line": 48,
          "column": 8
        },
        "end": {
          "line": 48,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2604,
      "end": 2605,
      "loc": {
        "start": {
          "line": 48,
          "column": 11
        },
        "end": {
          "line": 48,
          "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": 2605,
      "end": 2606,
      "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": "options",
      "start": 2606,
      "end": 2613,
      "loc": {
        "start": {
          "line": 48,
          "column": 13
        },
        "end": {
          "line": 48,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2613,
      "end": 2614,
      "loc": {
        "start": {
          "line": 48,
          "column": 20
        },
        "end": {
          "line": 48,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "dom",
      "start": 2614,
      "end": 2617,
      "loc": {
        "start": {
          "line": 48,
          "column": 21
        },
        "end": {
          "line": 48,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2617,
      "end": 2618,
      "loc": {
        "start": {
          "line": 48,
          "column": 24
        },
        "end": {
          "line": 48,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2619,
      "end": 2620,
      "loc": {
        "start": {
          "line": 48,
          "column": 26
        },
        "end": {
          "line": 48,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 2633,
      "end": 2640,
      "loc": {
        "start": {
          "line": 49,
          "column": 12
        },
        "end": {
          "line": 49,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2640,
      "end": 2641,
      "loc": {
        "start": {
          "line": 49,
          "column": 19
        },
        "end": {
          "line": 49,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "dom",
      "start": 2641,
      "end": 2644,
      "loc": {
        "start": {
          "line": 49,
          "column": 20
        },
        "end": {
          "line": 49,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2645,
      "end": 2646,
      "loc": {
        "start": {
          "line": 49,
          "column": 24
        },
        "end": {
          "line": 49,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "document",
      "start": 2647,
      "end": 2655,
      "loc": {
        "start": {
          "line": 49,
          "column": 26
        },
        "end": {
          "line": 49,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2655,
      "end": 2656,
      "loc": {
        "start": {
          "line": 49,
          "column": 34
        },
        "end": {
          "line": 49,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "createElement",
      "start": 2656,
      "end": 2669,
      "loc": {
        "start": {
          "line": 49,
          "column": 35
        },
        "end": {
          "line": 49,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2669,
      "end": 2670,
      "loc": {
        "start": {
          "line": 49,
          "column": 48
        },
        "end": {
          "line": 49,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "div",
      "start": 2670,
      "end": 2675,
      "loc": {
        "start": {
          "line": 49,
          "column": 49
        },
        "end": {
          "line": 49,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2675,
      "end": 2676,
      "loc": {
        "start": {
          "line": 49,
          "column": 54
        },
        "end": {
          "line": 49,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2676,
      "end": 2677,
      "loc": {
        "start": {
          "line": 49,
          "column": 55
        },
        "end": {
          "line": 49,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 2690,
      "end": 2697,
      "loc": {
        "start": {
          "line": 50,
          "column": 12
        },
        "end": {
          "line": 50,
          "column": 19
        }
      }
    },
    {
      "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": 50,
          "column": 19
        },
        "end": {
          "line": 50,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "dom",
      "start": 2698,
      "end": 2701,
      "loc": {
        "start": {
          "line": 50,
          "column": 20
        },
        "end": {
          "line": 50,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2701,
      "end": 2702,
      "loc": {
        "start": {
          "line": 50,
          "column": 23
        },
        "end": {
          "line": 50,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "style",
      "start": 2702,
      "end": 2707,
      "loc": {
        "start": {
          "line": 50,
          "column": 24
        },
        "end": {
          "line": 50,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2707,
      "end": 2708,
      "loc": {
        "start": {
          "line": 50,
          "column": 29
        },
        "end": {
          "line": 50,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cssText",
      "start": 2708,
      "end": 2715,
      "loc": {
        "start": {
          "line": 50,
          "column": 30
        },
        "end": {
          "line": 50,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2716,
      "end": 2717,
      "loc": {
        "start": {
          "line": 50,
          "column": 38
        },
        "end": {
          "line": 50,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "position: relative; width: 100%; height: 100%; overflow: hidden; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none;",
      "start": 2718,
      "end": 2899,
      "loc": {
        "start": {
          "line": 50,
          "column": 40
        },
        "end": {
          "line": 50,
          "column": 221
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2899,
      "end": 2900,
      "loc": {
        "start": {
          "line": 50,
          "column": 221
        },
        "end": {
          "line": 50,
          "column": 222
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2909,
      "end": 2910,
      "loc": {
        "start": {
          "line": 51,
          "column": 8
        },
        "end": {
          "line": 51,
          "column": 9
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* The dom node in which the canvas lives ",
      "start": 2920,
      "end": 2965,
      "loc": {
        "start": {
          "line": 53,
          "column": 8
        },
        "end": {
          "line": 53,
          "column": 53
        }
      }
    },
    {
      "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": 2974,
      "end": 2978,
      "loc": {
        "start": {
          "line": 54,
          "column": 8
        },
        "end": {
          "line": 54,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2978,
      "end": 2979,
      "loc": {
        "start": {
          "line": 54,
          "column": 12
        },
        "end": {
          "line": 54,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "dom",
      "start": 2979,
      "end": 2982,
      "loc": {
        "start": {
          "line": 54,
          "column": 13
        },
        "end": {
          "line": 54,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2983,
      "end": 2984,
      "loc": {
        "start": {
          "line": 54,
          "column": 17
        },
        "end": {
          "line": 54,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "queryDom",
      "start": 2985,
      "end": 2993,
      "loc": {
        "start": {
          "line": 54,
          "column": 19
        },
        "end": {
          "line": 54,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2993,
      "end": 2994,
      "loc": {
        "start": {
          "line": 54,
          "column": 27
        },
        "end": {
          "line": 54,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 2994,
      "end": 3001,
      "loc": {
        "start": {
          "line": 54,
          "column": 28
        },
        "end": {
          "line": 54,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3001,
      "end": 3002,
      "loc": {
        "start": {
          "line": 54,
          "column": 35
        },
        "end": {
          "line": 54,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "dom",
      "start": 3002,
      "end": 3005,
      "loc": {
        "start": {
          "line": 54,
          "column": 36
        },
        "end": {
          "line": 54,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3005,
      "end": 3006,
      "loc": {
        "start": {
          "line": 54,
          "column": 39
        },
        "end": {
          "line": 54,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3006,
      "end": 3007,
      "loc": {
        "start": {
          "line": 54,
          "column": 40
        },
        "end": {
          "line": 54,
          "column": 41
        }
      }
    },
    {
      "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": 3016,
      "end": 3020,
      "loc": {
        "start": {
          "line": 55,
          "column": 8
        },
        "end": {
          "line": 55,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3020,
      "end": 3021,
      "loc": {
        "start": {
          "line": 55,
          "column": 12
        },
        "end": {
          "line": 55,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "dom",
      "start": 3021,
      "end": 3024,
      "loc": {
        "start": {
          "line": 55,
          "column": 13
        },
        "end": {
          "line": 55,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3024,
      "end": 3025,
      "loc": {
        "start": {
          "line": 55,
          "column": 16
        },
        "end": {
          "line": 55,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addEventListener",
      "start": 3025,
      "end": 3041,
      "loc": {
        "start": {
          "line": 55,
          "column": 17
        },
        "end": {
          "line": 55,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3041,
      "end": 3042,
      "loc": {
        "start": {
          "line": 55,
          "column": 33
        },
        "end": {
          "line": 55,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "contextmenu",
      "start": 3042,
      "end": 3055,
      "loc": {
        "start": {
          "line": 55,
          "column": 34
        },
        "end": {
          "line": 55,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3055,
      "end": 3056,
      "loc": {
        "start": {
          "line": 55,
          "column": 47
        },
        "end": {
          "line": 55,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 3057,
      "end": 3062,
      "loc": {
        "start": {
          "line": 55,
          "column": 49
        },
        "end": {
          "line": 55,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3063,
      "end": 3065,
      "loc": {
        "start": {
          "line": 55,
          "column": 55
        },
        "end": {
          "line": 55,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 3066,
      "end": 3071,
      "loc": {
        "start": {
          "line": 55,
          "column": 58
        },
        "end": {
          "line": 55,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3071,
      "end": 3072,
      "loc": {
        "start": {
          "line": 55,
          "column": 63
        },
        "end": {
          "line": 55,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "preventDefault",
      "start": 3072,
      "end": 3086,
      "loc": {
        "start": {
          "line": 55,
          "column": 64
        },
        "end": {
          "line": 55,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3086,
      "end": 3087,
      "loc": {
        "start": {
          "line": 55,
          "column": 78
        },
        "end": {
          "line": 55,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3087,
      "end": 3088,
      "loc": {
        "start": {
          "line": 55,
          "column": 79
        },
        "end": {
          "line": 55,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3088,
      "end": 3089,
      "loc": {
        "start": {
          "line": 55,
          "column": 80
        },
        "end": {
          "line": 55,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 3090,
      "end": 3095,
      "loc": {
        "start": {
          "line": 55,
          "column": 82
        },
        "end": {
          "line": 55,
          "column": 87
        }
      }
    },
    {
      "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": 55,
          "column": 87
        },
        "end": {
          "line": 55,
          "column": 88
        }
      }
    },
    {
      "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": 55,
          "column": 88
        },
        "end": {
          "line": 55,
          "column": 89
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* Debug level for this canvas ",
      "start": 3106,
      "end": 3140,
      "loc": {
        "start": {
          "line": 56,
          "column": 8
        },
        "end": {
          "line": 56,
          "column": 42
        }
      }
    },
    {
      "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": 3149,
      "end": 3153,
      "loc": {
        "start": {
          "line": 57,
          "column": 8
        },
        "end": {
          "line": 57,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3153,
      "end": 3154,
      "loc": {
        "start": {
          "line": 57,
          "column": 12
        },
        "end": {
          "line": 57,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "debugLevel",
      "start": 3154,
      "end": 3164,
      "loc": {
        "start": {
          "line": 57,
          "column": 13
        },
        "end": {
          "line": 57,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3165,
      "end": 3166,
      "loc": {
        "start": {
          "line": 57,
          "column": 24
        },
        "end": {
          "line": 57,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 3167,
      "end": 3174,
      "loc": {
        "start": {
          "line": 57,
          "column": 26
        },
        "end": {
          "line": 57,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3174,
      "end": 3175,
      "loc": {
        "start": {
          "line": 57,
          "column": 33
        },
        "end": {
          "line": 57,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "debugLevel",
      "start": 3175,
      "end": 3185,
      "loc": {
        "start": {
          "line": 57,
          "column": 34
        },
        "end": {
          "line": 57,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 3186,
      "end": 3188,
      "loc": {
        "start": {
          "line": 57,
          "column": 45
        },
        "end": {
          "line": 57,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parseInt",
      "start": 3189,
      "end": 3197,
      "loc": {
        "start": {
          "line": 57,
          "column": 48
        },
        "end": {
          "line": 57,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3197,
      "end": 3198,
      "loc": {
        "start": {
          "line": 57,
          "column": 56
        },
        "end": {
          "line": 57,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "url",
      "start": 3198,
      "end": 3201,
      "loc": {
        "start": {
          "line": 57,
          "column": 57
        },
        "end": {
          "line": 57,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3201,
      "end": 3202,
      "loc": {
        "start": {
          "line": 57,
          "column": 60
        },
        "end": {
          "line": 57,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "debugLevel",
      "start": 3202,
      "end": 3214,
      "loc": {
        "start": {
          "line": 57,
          "column": 61
        },
        "end": {
          "line": 57,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3214,
      "end": 3215,
      "loc": {
        "start": {
          "line": 57,
          "column": 73
        },
        "end": {
          "line": 57,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3215,
      "end": 3216,
      "loc": {
        "start": {
          "line": 57,
          "column": 74
        },
        "end": {
          "line": 57,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 3217,
      "end": 3219,
      "loc": {
        "start": {
          "line": 57,
          "column": 76
        },
        "end": {
          "line": 57,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 3220,
      "end": 3221,
      "loc": {
        "start": {
          "line": 57,
          "column": 79
        },
        "end": {
          "line": 57,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3221,
      "end": 3222,
      "loc": {
        "start": {
          "line": 57,
          "column": 80
        },
        "end": {
          "line": 57,
          "column": 81
        }
      }
    },
    {
      "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": 3232,
      "end": 3234,
      "loc": {
        "start": {
          "line": 59,
          "column": 8
        },
        "end": {
          "line": 59,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3235,
      "end": 3236,
      "loc": {
        "start": {
          "line": 59,
          "column": 11
        },
        "end": {
          "line": 59,
          "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": 3236,
      "end": 3237,
      "loc": {
        "start": {
          "line": 59,
          "column": 12
        },
        "end": {
          "line": 59,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lastCreated",
      "start": 3237,
      "end": 3248,
      "loc": {
        "start": {
          "line": 59,
          "column": 13
        },
        "end": {
          "line": 59,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3248,
      "end": 3249,
      "loc": {
        "start": {
          "line": 59,
          "column": 24
        },
        "end": {
          "line": 59,
          "column": 25
        }
      }
    },
    {
      "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": 59,
          "column": 26
        },
        "end": {
          "line": 59,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 3264,
      "end": 3267,
      "loc": {
        "start": {
          "line": 60,
          "column": 12
        },
        "end": {
          "line": 60,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tag",
      "start": 3268,
      "end": 3271,
      "loc": {
        "start": {
          "line": 60,
          "column": 16
        },
        "end": {
          "line": 60,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3272,
      "end": 3273,
      "loc": {
        "start": {
          "line": 60,
          "column": 20
        },
        "end": {
          "line": 60,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3274,
      "end": 3275,
      "loc": {
        "start": {
          "line": 60,
          "column": 22
        },
        "end": {
          "line": 60,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "%c AWV3 %c ",
      "start": 3275,
      "end": 3286,
      "loc": {
        "start": {
          "line": 60,
          "column": 23
        },
        "end": {
          "line": 60,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3286,
      "end": 3288,
      "loc": {
        "start": {
          "line": 60,
          "column": 34
        },
        "end": {
          "line": 60,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "version",
      "start": 3288,
      "end": 3295,
      "loc": {
        "start": {
          "line": 60,
          "column": 36
        },
        "end": {
          "line": 60,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3295,
      "end": 3296,
      "loc": {
        "start": {
          "line": 60,
          "column": 43
        },
        "end": {
          "line": 60,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": " %c Resolution:",
      "start": 3296,
      "end": 3311,
      "loc": {
        "start": {
          "line": 60,
          "column": 44
        },
        "end": {
          "line": 60,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3311,
      "end": 3313,
      "loc": {
        "start": {
          "line": 60,
          "column": 59
        },
        "end": {
          "line": 60,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 3313,
      "end": 3320,
      "loc": {
        "start": {
          "line": 60,
          "column": 61
        },
        "end": {
          "line": 60,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3320,
      "end": 3321,
      "loc": {
        "start": {
          "line": 60,
          "column": 68
        },
        "end": {
          "line": 60,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "resolution",
      "start": 3321,
      "end": 3331,
      "loc": {
        "start": {
          "line": 60,
          "column": 69
        },
        "end": {
          "line": 60,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 3332,
      "end": 3334,
      "loc": {
        "start": {
          "line": 60,
          "column": 80
        },
        "end": {
          "line": 60,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parseFloat",
      "start": 3335,
      "end": 3345,
      "loc": {
        "start": {
          "line": 60,
          "column": 83
        },
        "end": {
          "line": 60,
          "column": 93
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3345,
      "end": 3346,
      "loc": {
        "start": {
          "line": 60,
          "column": 93
        },
        "end": {
          "line": 60,
          "column": 94
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "url",
      "start": 3346,
      "end": 3349,
      "loc": {
        "start": {
          "line": 60,
          "column": 94
        },
        "end": {
          "line": 60,
          "column": 97
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3349,
      "end": 3350,
      "loc": {
        "start": {
          "line": 60,
          "column": 97
        },
        "end": {
          "line": 60,
          "column": 98
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "resolution",
      "start": 3350,
      "end": 3362,
      "loc": {
        "start": {
          "line": 60,
          "column": 98
        },
        "end": {
          "line": 60,
          "column": 110
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3362,
      "end": 3363,
      "loc": {
        "start": {
          "line": 60,
          "column": 110
        },
        "end": {
          "line": 60,
          "column": 111
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3363,
      "end": 3364,
      "loc": {
        "start": {
          "line": 60,
          "column": 111
        },
        "end": {
          "line": 60,
          "column": 112
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 3365,
      "end": 3367,
      "loc": {
        "start": {
          "line": 60,
          "column": 113
        },
        "end": {
          "line": 60,
          "column": 115
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 3368,
      "end": 3369,
      "loc": {
        "start": {
          "line": 60,
          "column": 116
        },
        "end": {
          "line": 60,
          "column": 117
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3369,
      "end": 3370,
      "loc": {
        "start": {
          "line": 60,
          "column": 117
        },
        "end": {
          "line": 60,
          "column": 118
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": " %c Cores:",
      "start": 3370,
      "end": 3380,
      "loc": {
        "start": {
          "line": 60,
          "column": 118
        },
        "end": {
          "line": 60,
          "column": 128
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3380,
      "end": 3382,
      "loc": {
        "start": {
          "line": 60,
          "column": 128
        },
        "end": {
          "line": 60,
          "column": 130
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "navigator",
      "start": 3382,
      "end": 3391,
      "loc": {
        "start": {
          "line": 60,
          "column": 130
        },
        "end": {
          "line": 60,
          "column": 139
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3391,
      "end": 3392,
      "loc": {
        "start": {
          "line": 60,
          "column": 139
        },
        "end": {
          "line": 60,
          "column": 140
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hardwareConcurrency",
      "start": 3392,
      "end": 3411,
      "loc": {
        "start": {
          "line": 60,
          "column": 140
        },
        "end": {
          "line": 60,
          "column": 159
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 3412,
      "end": 3414,
      "loc": {
        "start": {
          "line": 60,
          "column": 160
        },
        "end": {
          "line": 60,
          "column": 162
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 4,
      "start": 3415,
      "end": 3416,
      "loc": {
        "start": {
          "line": 60,
          "column": 163
        },
        "end": {
          "line": 60,
          "column": 164
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3416,
      "end": 3417,
      "loc": {
        "start": {
          "line": 60,
          "column": 164
        },
        "end": {
          "line": 60,
          "column": 165
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": " ",
      "start": 3417,
      "end": 3418,
      "loc": {
        "start": {
          "line": 60,
          "column": 165
        },
        "end": {
          "line": 60,
          "column": 166
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3418,
      "end": 3419,
      "loc": {
        "start": {
          "line": 60,
          "column": 166
        },
        "end": {
          "line": 60,
          "column": 167
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3419,
      "end": 3420,
      "loc": {
        "start": {
          "line": 60,
          "column": 167
        },
        "end": {
          "line": 60,
          "column": 168
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "console",
      "start": 3433,
      "end": 3440,
      "loc": {
        "start": {
          "line": 61,
          "column": 12
        },
        "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": 3440,
      "end": 3441,
      "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": "log",
      "start": 3441,
      "end": 3444,
      "loc": {
        "start": {
          "line": 61,
          "column": 20
        },
        "end": {
          "line": 61,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3444,
      "end": 3445,
      "loc": {
        "start": {
          "line": 61,
          "column": 23
        },
        "end": {
          "line": 61,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tag",
      "start": 3445,
      "end": 3448,
      "loc": {
        "start": {
          "line": 61,
          "column": 24
        },
        "end": {
          "line": 61,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3448,
      "end": 3449,
      "loc": {
        "start": {
          "line": 61,
          "column": 27
        },
        "end": {
          "line": 61,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "background: #373737; color: white;",
      "start": 3466,
      "end": 3502,
      "loc": {
        "start": {
          "line": 62,
          "column": 16
        },
        "end": {
          "line": 62,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3502,
      "end": 3503,
      "loc": {
        "start": {
          "line": 62,
          "column": 52
        },
        "end": {
          "line": 62,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "background: #c23369; color: white;",
      "start": 3520,
      "end": 3556,
      "loc": {
        "start": {
          "line": 63,
          "column": 16
        },
        "end": {
          "line": 63,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3556,
      "end": 3557,
      "loc": {
        "start": {
          "line": 63,
          "column": 52
        },
        "end": {
          "line": 63,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "background: #28d79f; color: white;",
      "start": 3574,
      "end": 3610,
      "loc": {
        "start": {
          "line": 64,
          "column": 16
        },
        "end": {
          "line": 64,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3610,
      "end": 3611,
      "loc": {
        "start": {
          "line": 64,
          "column": 52
        },
        "end": {
          "line": 64,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "background: #28b4d7; color: white;",
      "start": 3628,
      "end": 3664,
      "loc": {
        "start": {
          "line": 65,
          "column": 16
        },
        "end": {
          "line": 65,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3677,
      "end": 3678,
      "loc": {
        "start": {
          "line": 66,
          "column": 12
        },
        "end": {
          "line": 66,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3678,
      "end": 3679,
      "loc": {
        "start": {
          "line": 66,
          "column": 13
        },
        "end": {
          "line": 66,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3688,
      "end": 3689,
      "loc": {
        "start": {
          "line": 67,
          "column": 8
        },
        "end": {
          "line": 67,
          "column": 9
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* Global events using the {@link Events} class ",
      "start": 3699,
      "end": 3750,
      "loc": {
        "start": {
          "line": 69,
          "column": 8
        },
        "end": {
          "line": 69,
          "column": 59
        }
      }
    },
    {
      "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": 3759,
      "end": 3763,
      "loc": {
        "start": {
          "line": 70,
          "column": 8
        },
        "end": {
          "line": 70,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3763,
      "end": 3764,
      "loc": {
        "start": {
          "line": 70,
          "column": 12
        },
        "end": {
          "line": 70,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "events",
      "start": 3764,
      "end": 3770,
      "loc": {
        "start": {
          "line": 70,
          "column": 13
        },
        "end": {
          "line": 70,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3771,
      "end": 3772,
      "loc": {
        "start": {
          "line": 70,
          "column": 20
        },
        "end": {
          "line": 70,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 3773,
      "end": 3776,
      "loc": {
        "start": {
          "line": 70,
          "column": 22
        },
        "end": {
          "line": 70,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Events",
      "start": 3777,
      "end": 3783,
      "loc": {
        "start": {
          "line": 70,
          "column": 26
        },
        "end": {
          "line": 70,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3783,
      "end": 3784,
      "loc": {
        "start": {
          "line": 70,
          "column": 32
        },
        "end": {
          "line": 70,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3784,
      "end": 3785,
      "loc": {
        "start": {
          "line": 70,
          "column": 33
        },
        "end": {
          "line": 70,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3785,
      "end": 3786,
      "loc": {
        "start": {
          "line": 70,
          "column": 34
        },
        "end": {
          "line": 70,
          "column": 35
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* GL {@link Renderer} via three.js ",
      "start": 3795,
      "end": 3834,
      "loc": {
        "start": {
          "line": 71,
          "column": 8
        },
        "end": {
          "line": 71,
          "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": 3843,
      "end": 3847,
      "loc": {
        "start": {
          "line": 72,
          "column": 8
        },
        "end": {
          "line": 72,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3847,
      "end": 3848,
      "loc": {
        "start": {
          "line": 72,
          "column": 12
        },
        "end": {
          "line": 72,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "renderer",
      "start": 3848,
      "end": 3856,
      "loc": {
        "start": {
          "line": 72,
          "column": 13
        },
        "end": {
          "line": 72,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3857,
      "end": 3858,
      "loc": {
        "start": {
          "line": 72,
          "column": 22
        },
        "end": {
          "line": 72,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 3859,
      "end": 3862,
      "loc": {
        "start": {
          "line": 72,
          "column": 24
        },
        "end": {
          "line": 72,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Renderer",
      "start": 3863,
      "end": 3871,
      "loc": {
        "start": {
          "line": 72,
          "column": 28
        },
        "end": {
          "line": 72,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3871,
      "end": 3872,
      "loc": {
        "start": {
          "line": 72,
          "column": 36
        },
        "end": {
          "line": 72,
          "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": 3872,
      "end": 3876,
      "loc": {
        "start": {
          "line": 72,
          "column": 37
        },
        "end": {
          "line": 72,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3876,
      "end": 3877,
      "loc": {
        "start": {
          "line": 72,
          "column": 41
        },
        "end": {
          "line": 72,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 3878,
      "end": 3885,
      "loc": {
        "start": {
          "line": 72,
          "column": 43
        },
        "end": {
          "line": 72,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3885,
      "end": 3886,
      "loc": {
        "start": {
          "line": 72,
          "column": 50
        },
        "end": {
          "line": 72,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3886,
      "end": 3887,
      "loc": {
        "start": {
          "line": 72,
          "column": 51
        },
        "end": {
          "line": 72,
          "column": 52
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* {@link Parser} using webworkers to unpack and optimize compressed packages ",
      "start": 3896,
      "end": 3977,
      "loc": {
        "start": {
          "line": 73,
          "column": 8
        },
        "end": {
          "line": 73,
          "column": 89
        }
      }
    },
    {
      "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": 3986,
      "end": 3990,
      "loc": {
        "start": {
          "line": 74,
          "column": 8
        },
        "end": {
          "line": 74,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3990,
      "end": 3991,
      "loc": {
        "start": {
          "line": 74,
          "column": 12
        },
        "end": {
          "line": 74,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parser",
      "start": 3991,
      "end": 3997,
      "loc": {
        "start": {
          "line": 74,
          "column": 13
        },
        "end": {
          "line": 74,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3998,
      "end": 3999,
      "loc": {
        "start": {
          "line": 74,
          "column": 20
        },
        "end": {
          "line": 74,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 4000,
      "end": 4003,
      "loc": {
        "start": {
          "line": 74,
          "column": 22
        },
        "end": {
          "line": 74,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Parser",
      "start": 4004,
      "end": 4010,
      "loc": {
        "start": {
          "line": 74,
          "column": 26
        },
        "end": {
          "line": 74,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4010,
      "end": 4011,
      "loc": {
        "start": {
          "line": 74,
          "column": 32
        },
        "end": {
          "line": 74,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4011,
      "end": 4012,
      "loc": {
        "start": {
          "line": 74,
          "column": 33
        },
        "end": {
          "line": 74,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4012,
      "end": 4013,
      "loc": {
        "start": {
          "line": 74,
          "column": 34
        },
        "end": {
          "line": 74,
          "column": 35
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* Map of managed scopes.\n            This contains dom nodes with references to all the views influenced.\n            It is used internally to track changes in position and size.\n            @example\n            // Get all views affected for node #main\n            let array = canvas.scopes.get(document.querySelector('#main')); ",
      "start": 4023,
      "end": 4356,
      "loc": {
        "start": {
          "line": 76,
          "column": 8
        },
        "end": {
          "line": 81,
          "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": 4365,
      "end": 4369,
      "loc": {
        "start": {
          "line": 82,
          "column": 8
        },
        "end": {
          "line": 82,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4369,
      "end": 4370,
      "loc": {
        "start": {
          "line": 82,
          "column": 12
        },
        "end": {
          "line": 82,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "scopes",
      "start": 4370,
      "end": 4376,
      "loc": {
        "start": {
          "line": 82,
          "column": 13
        },
        "end": {
          "line": 82,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4377,
      "end": 4378,
      "loc": {
        "start": {
          "line": 82,
          "column": 20
        },
        "end": {
          "line": 82,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 4379,
      "end": 4382,
      "loc": {
        "start": {
          "line": 82,
          "column": 22
        },
        "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": "Map",
      "start": 4383,
      "end": 4386,
      "loc": {
        "start": {
          "line": 82,
          "column": 26
        },
        "end": {
          "line": 82,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4386,
      "end": 4387,
      "loc": {
        "start": {
          "line": 82,
          "column": 29
        },
        "end": {
          "line": 82,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4387,
      "end": 4388,
      "loc": {
        "start": {
          "line": 82,
          "column": 30
        },
        "end": {
          "line": 82,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4388,
      "end": 4389,
      "loc": {
        "start": {
          "line": 82,
          "column": 31
        },
        "end": {
          "line": 82,
          "column": 32
        }
      }
    },
    {
      "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": 4398,
      "end": 4402,
      "loc": {
        "start": {
          "line": 83,
          "column": 8
        },
        "end": {
          "line": 83,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4402,
      "end": 4403,
      "loc": {
        "start": {
          "line": 83,
          "column": 12
        },
        "end": {
          "line": 83,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "observer",
      "start": 4403,
      "end": 4411,
      "loc": {
        "start": {
          "line": 83,
          "column": 13
        },
        "end": {
          "line": 83,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4412,
      "end": 4413,
      "loc": {
        "start": {
          "line": 83,
          "column": 22
        },
        "end": {
          "line": 83,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 4414,
      "end": 4417,
      "loc": {
        "start": {
          "line": 83,
          "column": 24
        },
        "end": {
          "line": 83,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "MutationObserver",
      "start": 4418,
      "end": 4434,
      "loc": {
        "start": {
          "line": 83,
          "column": 28
        },
        "end": {
          "line": 83,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4434,
      "end": 4435,
      "loc": {
        "start": {
          "line": 83,
          "column": 44
        },
        "end": {
          "line": 83,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "records",
      "start": 4435,
      "end": 4442,
      "loc": {
        "start": {
          "line": 83,
          "column": 45
        },
        "end": {
          "line": 83,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4443,
      "end": 4445,
      "loc": {
        "start": {
          "line": 83,
          "column": 53
        },
        "end": {
          "line": 83,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4446,
      "end": 4447,
      "loc": {
        "start": {
          "line": 83,
          "column": 56
        },
        "end": {
          "line": 83,
          "column": 57
        }
      }
    },
    {
      "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": 4460,
      "end": 4463,
      "loc": {
        "start": {
          "line": 84,
          "column": 12
        },
        "end": {
          "line": 84,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4464,
      "end": 4465,
      "loc": {
        "start": {
          "line": 84,
          "column": 16
        },
        "end": {
          "line": 84,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 4465,
      "end": 4468,
      "loc": {
        "start": {
          "line": 84,
          "column": 17
        },
        "end": {
          "line": 84,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "record",
      "start": 4469,
      "end": 4475,
      "loc": {
        "start": {
          "line": 84,
          "column": 21
        },
        "end": {
          "line": 84,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "of",
      "start": 4476,
      "end": 4478,
      "loc": {
        "start": {
          "line": 84,
          "column": 28
        },
        "end": {
          "line": 84,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "records",
      "start": 4479,
      "end": 4486,
      "loc": {
        "start": {
          "line": 84,
          "column": 31
        },
        "end": {
          "line": 84,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4486,
      "end": 4487,
      "loc": {
        "start": {
          "line": 84,
          "column": 38
        },
        "end": {
          "line": 84,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4488,
      "end": 4489,
      "loc": {
        "start": {
          "line": 84,
          "column": 40
        },
        "end": {
          "line": 84,
          "column": 41
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Any hard mutation causes views to update their parent scopes",
      "start": 4506,
      "end": 4569,
      "loc": {
        "start": {
          "line": 85,
          "column": 16
        },
        "end": {
          "line": 85,
          "column": 79
        }
      }
    },
    {
      "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": 4586,
      "end": 4588,
      "loc": {
        "start": {
          "line": 86,
          "column": 16
        },
        "end": {
          "line": 86,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4589,
      "end": 4590,
      "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": "record",
      "start": 4590,
      "end": 4596,
      "loc": {
        "start": {
          "line": 86,
          "column": 20
        },
        "end": {
          "line": 86,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4596,
      "end": 4597,
      "loc": {
        "start": {
          "line": 86,
          "column": 26
        },
        "end": {
          "line": 86,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addedNodes",
      "start": 4597,
      "end": 4607,
      "loc": {
        "start": {
          "line": 86,
          "column": 27
        },
        "end": {
          "line": 86,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4607,
      "end": 4608,
      "loc": {
        "start": {
          "line": 86,
          "column": 37
        },
        "end": {
          "line": 86,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 4608,
      "end": 4614,
      "loc": {
        "start": {
          "line": 86,
          "column": 38
        },
        "end": {
          "line": 86,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">",
      "start": 4615,
      "end": 4616,
      "loc": {
        "start": {
          "line": 86,
          "column": 45
        },
        "end": {
          "line": 86,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 4617,
      "end": 4618,
      "loc": {
        "start": {
          "line": 86,
          "column": 47
        },
        "end": {
          "line": 86,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 4619,
      "end": 4621,
      "loc": {
        "start": {
          "line": 86,
          "column": 49
        },
        "end": {
          "line": 86,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "record",
      "start": 4622,
      "end": 4628,
      "loc": {
        "start": {
          "line": 86,
          "column": 52
        },
        "end": {
          "line": 86,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4628,
      "end": 4629,
      "loc": {
        "start": {
          "line": 86,
          "column": 58
        },
        "end": {
          "line": 86,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "removedNodes",
      "start": 4629,
      "end": 4641,
      "loc": {
        "start": {
          "line": 86,
          "column": 59
        },
        "end": {
          "line": 86,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4641,
      "end": 4642,
      "loc": {
        "start": {
          "line": 86,
          "column": 71
        },
        "end": {
          "line": 86,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 4642,
      "end": 4648,
      "loc": {
        "start": {
          "line": 86,
          "column": 72
        },
        "end": {
          "line": 86,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">",
      "start": 4649,
      "end": 4650,
      "loc": {
        "start": {
          "line": 86,
          "column": 79
        },
        "end": {
          "line": 86,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 4651,
      "end": 4652,
      "loc": {
        "start": {
          "line": 86,
          "column": 81
        },
        "end": {
          "line": 86,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4652,
      "end": 4653,
      "loc": {
        "start": {
          "line": 86,
          "column": 82
        },
        "end": {
          "line": 86,
          "column": 83
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4654,
      "end": 4655,
      "loc": {
        "start": {
          "line": 86,
          "column": 84
        },
        "end": {
          "line": 86,
          "column": 85
        }
      }
    },
    {
      "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": 4676,
      "end": 4680,
      "loc": {
        "start": {
          "line": 87,
          "column": 20
        },
        "end": {
          "line": 87,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4680,
      "end": 4681,
      "loc": {
        "start": {
          "line": 87,
          "column": 24
        },
        "end": {
          "line": 87,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "scopes",
      "start": 4681,
      "end": 4687,
      "loc": {
        "start": {
          "line": 87,
          "column": 25
        },
        "end": {
          "line": 87,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4687,
      "end": 4688,
      "loc": {
        "start": {
          "line": 87,
          "column": 31
        },
        "end": {
          "line": 87,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "clear",
      "start": 4688,
      "end": 4693,
      "loc": {
        "start": {
          "line": 87,
          "column": 32
        },
        "end": {
          "line": 87,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4693,
      "end": 4694,
      "loc": {
        "start": {
          "line": 87,
          "column": 37
        },
        "end": {
          "line": 87,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4694,
      "end": 4695,
      "loc": {
        "start": {
          "line": 87,
          "column": 38
        },
        "end": {
          "line": 87,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4695,
      "end": 4696,
      "loc": {
        "start": {
          "line": 87,
          "column": 39
        },
        "end": {
          "line": 87,
          "column": 40
        }
      }
    },
    {
      "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": 4717,
      "end": 4720,
      "loc": {
        "start": {
          "line": 88,
          "column": 20
        },
        "end": {
          "line": 88,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4721,
      "end": 4722,
      "loc": {
        "start": {
          "line": 88,
          "column": 24
        },
        "end": {
          "line": 88,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 4722,
      "end": 4725,
      "loc": {
        "start": {
          "line": 88,
          "column": 25
        },
        "end": {
          "line": 88,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "view",
      "start": 4726,
      "end": 4730,
      "loc": {
        "start": {
          "line": 88,
          "column": 29
        },
        "end": {
          "line": 88,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "of",
      "start": 4731,
      "end": 4733,
      "loc": {
        "start": {
          "line": 88,
          "column": 34
        },
        "end": {
          "line": 88,
          "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": 4734,
      "end": 4738,
      "loc": {
        "start": {
          "line": 88,
          "column": 37
        },
        "end": {
          "line": 88,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4738,
      "end": 4739,
      "loc": {
        "start": {
          "line": 88,
          "column": 41
        },
        "end": {
          "line": 88,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "views",
      "start": 4739,
      "end": 4744,
      "loc": {
        "start": {
          "line": 88,
          "column": 42
        },
        "end": {
          "line": 88,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4744,
      "end": 4745,
      "loc": {
        "start": {
          "line": 88,
          "column": 47
        },
        "end": {
          "line": 88,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "view",
      "start": 4770,
      "end": 4774,
      "loc": {
        "start": {
          "line": 89,
          "column": 24
        },
        "end": {
          "line": 89,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4774,
      "end": 4775,
      "loc": {
        "start": {
          "line": 89,
          "column": 28
        },
        "end": {
          "line": 89,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "updateScopes",
      "start": 4775,
      "end": 4787,
      "loc": {
        "start": {
          "line": 89,
          "column": 29
        },
        "end": {
          "line": 89,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4787,
      "end": 4788,
      "loc": {
        "start": {
          "line": 89,
          "column": 41
        },
        "end": {
          "line": 89,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4788,
      "end": 4789,
      "loc": {
        "start": {
          "line": 89,
          "column": 42
        },
        "end": {
          "line": 89,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4789,
      "end": 4790,
      "loc": {
        "start": {
          "line": 89,
          "column": 43
        },
        "end": {
          "line": 89,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4807,
      "end": 4808,
      "loc": {
        "start": {
          "line": 90,
          "column": 16
        },
        "end": {
          "line": 90,
          "column": 17
        }
      }
    },
    {
      "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": 4826,
      "end": 4828,
      "loc": {
        "start": {
          "line": 92,
          "column": 16
        },
        "end": {
          "line": 92,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4829,
      "end": 4830,
      "loc": {
        "start": {
          "line": 92,
          "column": 19
        },
        "end": {
          "line": 92,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "record",
      "start": 4830,
      "end": 4836,
      "loc": {
        "start": {
          "line": 92,
          "column": 20
        },
        "end": {
          "line": 92,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4836,
      "end": 4837,
      "loc": {
        "start": {
          "line": 92,
          "column": 26
        },
        "end": {
          "line": 92,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 4837,
      "end": 4843,
      "loc": {
        "start": {
          "line": 92,
          "column": 27
        },
        "end": {
          "line": 92,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 4844,
      "end": 4847,
      "loc": {
        "start": {
          "line": 92,
          "column": 34
        },
        "end": {
          "line": 92,
          "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": 4848,
      "end": 4852,
      "loc": {
        "start": {
          "line": 92,
          "column": 38
        },
        "end": {
          "line": 92,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4852,
      "end": 4853,
      "loc": {
        "start": {
          "line": 92,
          "column": 42
        },
        "end": {
          "line": 92,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "dom",
      "start": 4853,
      "end": 4856,
      "loc": {
        "start": {
          "line": 92,
          "column": 43
        },
        "end": {
          "line": 92,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4856,
      "end": 4857,
      "loc": {
        "start": {
          "line": 92,
          "column": 46
        },
        "end": {
          "line": 92,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4858,
      "end": 4859,
      "loc": {
        "start": {
          "line": 92,
          "column": 48
        },
        "end": {
          "line": 92,
          "column": 49
        }
      }
    },
    {
      "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": 4880,
      "end": 4884,
      "loc": {
        "start": {
          "line": 93,
          "column": 20
        },
        "end": {
          "line": 93,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4884,
      "end": 4885,
      "loc": {
        "start": {
          "line": 93,
          "column": 24
        },
        "end": {
          "line": 93,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "renderer",
      "start": 4885,
      "end": 4893,
      "loc": {
        "start": {
          "line": 93,
          "column": 25
        },
        "end": {
          "line": 93,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4893,
      "end": 4894,
      "loc": {
        "start": {
          "line": 93,
          "column": 33
        },
        "end": {
          "line": 93,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "invalidateCanvas",
      "start": 4894,
      "end": 4910,
      "loc": {
        "start": {
          "line": 93,
          "column": 34
        },
        "end": {
          "line": 93,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4910,
      "end": 4911,
      "loc": {
        "start": {
          "line": 93,
          "column": 50
        },
        "end": {
          "line": 93,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 30,
      "start": 4911,
      "end": 4913,
      "loc": {
        "start": {
          "line": 93,
          "column": 51
        },
        "end": {
          "line": 93,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4913,
      "end": 4914,
      "loc": {
        "start": {
          "line": 93,
          "column": 53
        },
        "end": {
          "line": 93,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4914,
      "end": 4915,
      "loc": {
        "start": {
          "line": 93,
          "column": 54
        },
        "end": {
          "line": 93,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4932,
      "end": 4933,
      "loc": {
        "start": {
          "line": 94,
          "column": 16
        },
        "end": {
          "line": 94,
          "column": 17
        }
      }
    },
    {
      "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": 4934,
      "end": 4938,
      "loc": {
        "start": {
          "line": 94,
          "column": 18
        },
        "end": {
          "line": 94,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4939,
      "end": 4940,
      "loc": {
        "start": {
          "line": 94,
          "column": 23
        },
        "end": {
          "line": 94,
          "column": 24
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Invalidate views (means they'll have x frames to test for changes)",
      "start": 4961,
      "end": 5030,
      "loc": {
        "start": {
          "line": 95,
          "column": 20
        },
        "end": {
          "line": 95,
          "column": 89
        }
      }
    },
    {
      "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": 5051,
      "end": 5055,
      "loc": {
        "start": {
          "line": 96,
          "column": 20
        },
        "end": {
          "line": 96,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5055,
      "end": 5056,
      "loc": {
        "start": {
          "line": 96,
          "column": 24
        },
        "end": {
          "line": 96,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "renderer",
      "start": 5056,
      "end": 5064,
      "loc": {
        "start": {
          "line": 96,
          "column": 25
        },
        "end": {
          "line": 96,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5064,
      "end": 5065,
      "loc": {
        "start": {
          "line": 96,
          "column": 33
        },
        "end": {
          "line": 96,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "invalidateViews",
      "start": 5065,
      "end": 5080,
      "loc": {
        "start": {
          "line": 96,
          "column": 34
        },
        "end": {
          "line": 96,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5080,
      "end": 5081,
      "loc": {
        "start": {
          "line": 96,
          "column": 49
        },
        "end": {
          "line": 96,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 30,
      "start": 5081,
      "end": 5083,
      "loc": {
        "start": {
          "line": 96,
          "column": 50
        },
        "end": {
          "line": 96,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5083,
      "end": 5084,
      "loc": {
        "start": {
          "line": 96,
          "column": 52
        },
        "end": {
          "line": 96,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5084,
      "end": 5085,
      "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": 5102,
      "end": 5103,
      "loc": {
        "start": {
          "line": 97,
          "column": 16
        },
        "end": {
          "line": 97,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5116,
      "end": 5117,
      "loc": {
        "start": {
          "line": 98,
          "column": 12
        },
        "end": {
          "line": 98,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5126,
      "end": 5127,
      "loc": {
        "start": {
          "line": 99,
          "column": 8
        },
        "end": {
          "line": 99,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5127,
      "end": 5128,
      "loc": {
        "start": {
          "line": 99,
          "column": 9
        },
        "end": {
          "line": 99,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5128,
      "end": 5129,
      "loc": {
        "start": {
          "line": 99,
          "column": 10
        },
        "end": {
          "line": 99,
          "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": 5138,
      "end": 5142,
      "loc": {
        "start": {
          "line": 100,
          "column": 8
        },
        "end": {
          "line": 100,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5142,
      "end": 5143,
      "loc": {
        "start": {
          "line": 100,
          "column": 12
        },
        "end": {
          "line": 100,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "observer",
      "start": 5143,
      "end": 5151,
      "loc": {
        "start": {
          "line": 100,
          "column": 13
        },
        "end": {
          "line": 100,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5151,
      "end": 5152,
      "loc": {
        "start": {
          "line": 100,
          "column": 21
        },
        "end": {
          "line": 100,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "observe",
      "start": 5152,
      "end": 5159,
      "loc": {
        "start": {
          "line": 100,
          "column": 22
        },
        "end": {
          "line": 100,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5159,
      "end": 5160,
      "loc": {
        "start": {
          "line": 100,
          "column": 29
        },
        "end": {
          "line": 100,
          "column": 30
        }
      }
    },
    {
      "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": 5160,
      "end": 5164,
      "loc": {
        "start": {
          "line": 100,
          "column": 30
        },
        "end": {
          "line": 100,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5164,
      "end": 5165,
      "loc": {
        "start": {
          "line": 100,
          "column": 34
        },
        "end": {
          "line": 100,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "dom",
      "start": 5165,
      "end": 5168,
      "loc": {
        "start": {
          "line": 100,
          "column": 35
        },
        "end": {
          "line": 100,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5168,
      "end": 5169,
      "loc": {
        "start": {
          "line": 100,
          "column": 38
        },
        "end": {
          "line": 100,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5170,
      "end": 5171,
      "loc": {
        "start": {
          "line": 100,
          "column": 40
        },
        "end": {
          "line": 100,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "childList",
      "start": 5184,
      "end": 5193,
      "loc": {
        "start": {
          "line": 101,
          "column": 12
        },
        "end": {
          "line": 101,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5193,
      "end": 5194,
      "loc": {
        "start": {
          "line": 101,
          "column": 21
        },
        "end": {
          "line": 101,
          "column": 22
        }
      }
    },
    {
      "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": 5195,
      "end": 5199,
      "loc": {
        "start": {
          "line": 101,
          "column": 23
        },
        "end": {
          "line": 101,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5199,
      "end": 5200,
      "loc": {
        "start": {
          "line": 101,
          "column": 27
        },
        "end": {
          "line": 101,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "subtree",
      "start": 5213,
      "end": 5220,
      "loc": {
        "start": {
          "line": 102,
          "column": 12
        },
        "end": {
          "line": 102,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5220,
      "end": 5221,
      "loc": {
        "start": {
          "line": 102,
          "column": 19
        },
        "end": {
          "line": 102,
          "column": 20
        }
      }
    },
    {
      "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": 5222,
      "end": 5226,
      "loc": {
        "start": {
          "line": 102,
          "column": 21
        },
        "end": {
          "line": 102,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5226,
      "end": 5227,
      "loc": {
        "start": {
          "line": 102,
          "column": 25
        },
        "end": {
          "line": 102,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "attributes",
      "start": 5240,
      "end": 5250,
      "loc": {
        "start": {
          "line": 103,
          "column": 12
        },
        "end": {
          "line": 103,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5250,
      "end": 5251,
      "loc": {
        "start": {
          "line": 103,
          "column": 22
        },
        "end": {
          "line": 103,
          "column": 23
        }
      }
    },
    {
      "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": 5252,
      "end": 5256,
      "loc": {
        "start": {
          "line": 103,
          "column": 24
        },
        "end": {
          "line": 103,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5256,
      "end": 5257,
      "loc": {
        "start": {
          "line": 103,
          "column": 28
        },
        "end": {
          "line": 103,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "characterData",
      "start": 5270,
      "end": 5283,
      "loc": {
        "start": {
          "line": 104,
          "column": 12
        },
        "end": {
          "line": 104,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5284,
      "end": 5285,
      "loc": {
        "start": {
          "line": 104,
          "column": 26
        },
        "end": {
          "line": 104,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 5286,
      "end": 5291,
      "loc": {
        "start": {
          "line": 104,
          "column": 28
        },
        "end": {
          "line": 104,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5291,
      "end": 5292,
      "loc": {
        "start": {
          "line": 104,
          "column": 33
        },
        "end": {
          "line": 104,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "attributeOldValue",
      "start": 5305,
      "end": 5322,
      "loc": {
        "start": {
          "line": 105,
          "column": 12
        },
        "end": {
          "line": 105,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5322,
      "end": 5323,
      "loc": {
        "start": {
          "line": 105,
          "column": 29
        },
        "end": {
          "line": 105,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 5324,
      "end": 5329,
      "loc": {
        "start": {
          "line": 105,
          "column": 31
        },
        "end": {
          "line": 105,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5329,
      "end": 5330,
      "loc": {
        "start": {
          "line": 105,
          "column": 36
        },
        "end": {
          "line": 105,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "characterDataOldValue",
      "start": 5343,
      "end": 5364,
      "loc": {
        "start": {
          "line": 106,
          "column": 12
        },
        "end": {
          "line": 106,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5364,
      "end": 5365,
      "loc": {
        "start": {
          "line": 106,
          "column": 33
        },
        "end": {
          "line": 106,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 5366,
      "end": 5371,
      "loc": {
        "start": {
          "line": 106,
          "column": 35
        },
        "end": {
          "line": 106,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5380,
      "end": 5381,
      "loc": {
        "start": {
          "line": 107,
          "column": 8
        },
        "end": {
          "line": 107,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5381,
      "end": 5382,
      "loc": {
        "start": {
          "line": 107,
          "column": 9
        },
        "end": {
          "line": 107,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5382,
      "end": 5383,
      "loc": {
        "start": {
          "line": 107,
          "column": 10
        },
        "end": {
          "line": 107,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lastCreated",
      "start": 5393,
      "end": 5404,
      "loc": {
        "start": {
          "line": 109,
          "column": 8
        },
        "end": {
          "line": 109,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5405,
      "end": 5406,
      "loc": {
        "start": {
          "line": 109,
          "column": 20
        },
        "end": {
          "line": 109,
          "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": 5407,
      "end": 5411,
      "loc": {
        "start": {
          "line": 109,
          "column": 22
        },
        "end": {
          "line": 109,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5411,
      "end": 5412,
      "loc": {
        "start": {
          "line": 109,
          "column": 26
        },
        "end": {
          "line": 109,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5417,
      "end": 5418,
      "loc": {
        "start": {
          "line": 110,
          "column": 4
        },
        "end": {
          "line": 110,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "destroy",
      "start": 5424,
      "end": 5431,
      "loc": {
        "start": {
          "line": 112,
          "column": 4
        },
        "end": {
          "line": 112,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5431,
      "end": 5432,
      "loc": {
        "start": {
          "line": 112,
          "column": 11
        },
        "end": {
          "line": 112,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5432,
      "end": 5433,
      "loc": {
        "start": {
          "line": 112,
          "column": 12
        },
        "end": {
          "line": 112,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5434,
      "end": 5435,
      "loc": {
        "start": {
          "line": 112,
          "column": 14
        },
        "end": {
          "line": 112,
          "column": 15
        }
      }
    },
    {
      "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": 5444,
      "end": 5448,
      "loc": {
        "start": {
          "line": 113,
          "column": 8
        },
        "end": {
          "line": 113,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5448,
      "end": 5449,
      "loc": {
        "start": {
          "line": 113,
          "column": 12
        },
        "end": {
          "line": 113,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "observer",
      "start": 5449,
      "end": 5457,
      "loc": {
        "start": {
          "line": 113,
          "column": 13
        },
        "end": {
          "line": 113,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5457,
      "end": 5458,
      "loc": {
        "start": {
          "line": 113,
          "column": 21
        },
        "end": {
          "line": 113,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "disconnect",
      "start": 5458,
      "end": 5468,
      "loc": {
        "start": {
          "line": 113,
          "column": 22
        },
        "end": {
          "line": 113,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5468,
      "end": 5469,
      "loc": {
        "start": {
          "line": 113,
          "column": 32
        },
        "end": {
          "line": 113,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5469,
      "end": 5470,
      "loc": {
        "start": {
          "line": 113,
          "column": 33
        },
        "end": {
          "line": 113,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5470,
      "end": 5471,
      "loc": {
        "start": {
          "line": 113,
          "column": 34
        },
        "end": {
          "line": 113,
          "column": 35
        }
      }
    },
    {
      "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": 5480,
      "end": 5484,
      "loc": {
        "start": {
          "line": 114,
          "column": 8
        },
        "end": {
          "line": 114,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5484,
      "end": 5485,
      "loc": {
        "start": {
          "line": 114,
          "column": 12
        },
        "end": {
          "line": 114,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "observer",
      "start": 5485,
      "end": 5493,
      "loc": {
        "start": {
          "line": 114,
          "column": 13
        },
        "end": {
          "line": 114,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5494,
      "end": 5495,
      "loc": {
        "start": {
          "line": 114,
          "column": 22
        },
        "end": {
          "line": 114,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 5496,
      "end": 5505,
      "loc": {
        "start": {
          "line": 114,
          "column": 24
        },
        "end": {
          "line": 114,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5505,
      "end": 5506,
      "loc": {
        "start": {
          "line": 114,
          "column": 33
        },
        "end": {
          "line": 114,
          "column": 34
        }
      }
    },
    {
      "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": 5515,
      "end": 5519,
      "loc": {
        "start": {
          "line": 115,
          "column": 8
        },
        "end": {
          "line": 115,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5519,
      "end": 5520,
      "loc": {
        "start": {
          "line": 115,
          "column": 12
        },
        "end": {
          "line": 115,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "scopes",
      "start": 5520,
      "end": 5526,
      "loc": {
        "start": {
          "line": 115,
          "column": 13
        },
        "end": {
          "line": 115,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5527,
      "end": 5528,
      "loc": {
        "start": {
          "line": 115,
          "column": 20
        },
        "end": {
          "line": 115,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 5529,
      "end": 5538,
      "loc": {
        "start": {
          "line": 115,
          "column": 22
        },
        "end": {
          "line": 115,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5538,
      "end": 5539,
      "loc": {
        "start": {
          "line": 115,
          "column": 31
        },
        "end": {
          "line": 115,
          "column": 32
        }
      }
    },
    {
      "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": 5548,
      "end": 5552,
      "loc": {
        "start": {
          "line": 116,
          "column": 8
        },
        "end": {
          "line": 116,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5552,
      "end": 5553,
      "loc": {
        "start": {
          "line": 116,
          "column": 12
        },
        "end": {
          "line": 116,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "views",
      "start": 5553,
      "end": 5558,
      "loc": {
        "start": {
          "line": 116,
          "column": 13
        },
        "end": {
          "line": 116,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5558,
      "end": 5559,
      "loc": {
        "start": {
          "line": 116,
          "column": 18
        },
        "end": {
          "line": 116,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "forEach",
      "start": 5559,
      "end": 5566,
      "loc": {
        "start": {
          "line": 116,
          "column": 19
        },
        "end": {
          "line": 116,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5566,
      "end": 5567,
      "loc": {
        "start": {
          "line": 116,
          "column": 26
        },
        "end": {
          "line": 116,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "view",
      "start": 5567,
      "end": 5571,
      "loc": {
        "start": {
          "line": 116,
          "column": 27
        },
        "end": {
          "line": 116,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5572,
      "end": 5574,
      "loc": {
        "start": {
          "line": 116,
          "column": 32
        },
        "end": {
          "line": 116,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "view",
      "start": 5575,
      "end": 5579,
      "loc": {
        "start": {
          "line": 116,
          "column": 35
        },
        "end": {
          "line": 116,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5579,
      "end": 5580,
      "loc": {
        "start": {
          "line": 116,
          "column": 39
        },
        "end": {
          "line": 116,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "destroy",
      "start": 5580,
      "end": 5587,
      "loc": {
        "start": {
          "line": 116,
          "column": 40
        },
        "end": {
          "line": 116,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5587,
      "end": 5588,
      "loc": {
        "start": {
          "line": 116,
          "column": 47
        },
        "end": {
          "line": 116,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5588,
      "end": 5589,
      "loc": {
        "start": {
          "line": 116,
          "column": 48
        },
        "end": {
          "line": 116,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5589,
      "end": 5590,
      "loc": {
        "start": {
          "line": 116,
          "column": 49
        },
        "end": {
          "line": 116,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5590,
      "end": 5591,
      "loc": {
        "start": {
          "line": 116,
          "column": 50
        },
        "end": {
          "line": 116,
          "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": 5600,
      "end": 5604,
      "loc": {
        "start": {
          "line": 117,
          "column": 8
        },
        "end": {
          "line": 117,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5604,
      "end": 5605,
      "loc": {
        "start": {
          "line": 117,
          "column": 12
        },
        "end": {
          "line": 117,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parser",
      "start": 5605,
      "end": 5611,
      "loc": {
        "start": {
          "line": 117,
          "column": 13
        },
        "end": {
          "line": 117,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5612,
      "end": 5613,
      "loc": {
        "start": {
          "line": 117,
          "column": 20
        },
        "end": {
          "line": 117,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 5614,
      "end": 5623,
      "loc": {
        "start": {
          "line": 117,
          "column": 22
        },
        "end": {
          "line": 117,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5623,
      "end": 5624,
      "loc": {
        "start": {
          "line": 117,
          "column": 31
        },
        "end": {
          "line": 117,
          "column": 32
        }
      }
    },
    {
      "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": 5633,
      "end": 5637,
      "loc": {
        "start": {
          "line": 118,
          "column": 8
        },
        "end": {
          "line": 118,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5637,
      "end": 5638,
      "loc": {
        "start": {
          "line": 118,
          "column": 12
        },
        "end": {
          "line": 118,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "renderer",
      "start": 5638,
      "end": 5646,
      "loc": {
        "start": {
          "line": 118,
          "column": 13
        },
        "end": {
          "line": 118,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5646,
      "end": 5647,
      "loc": {
        "start": {
          "line": 118,
          "column": 21
        },
        "end": {
          "line": 118,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "destroy",
      "start": 5647,
      "end": 5654,
      "loc": {
        "start": {
          "line": 118,
          "column": 22
        },
        "end": {
          "line": 118,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5654,
      "end": 5655,
      "loc": {
        "start": {
          "line": 118,
          "column": 29
        },
        "end": {
          "line": 118,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5655,
      "end": 5656,
      "loc": {
        "start": {
          "line": 118,
          "column": 30
        },
        "end": {
          "line": 118,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5656,
      "end": 5657,
      "loc": {
        "start": {
          "line": 118,
          "column": 31
        },
        "end": {
          "line": 118,
          "column": 32
        }
      }
    },
    {
      "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": 5666,
      "end": 5670,
      "loc": {
        "start": {
          "line": 119,
          "column": 8
        },
        "end": {
          "line": 119,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5670,
      "end": 5671,
      "loc": {
        "start": {
          "line": 119,
          "column": 12
        },
        "end": {
          "line": 119,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "renderer",
      "start": 5671,
      "end": 5679,
      "loc": {
        "start": {
          "line": 119,
          "column": 13
        },
        "end": {
          "line": 119,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5680,
      "end": 5681,
      "loc": {
        "start": {
          "line": 119,
          "column": 22
        },
        "end": {
          "line": 119,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 5682,
      "end": 5691,
      "loc": {
        "start": {
          "line": 119,
          "column": 24
        },
        "end": {
          "line": 119,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5691,
      "end": 5692,
      "loc": {
        "start": {
          "line": 119,
          "column": 33
        },
        "end": {
          "line": 119,
          "column": 34
        }
      }
    },
    {
      "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": 5701,
      "end": 5705,
      "loc": {
        "start": {
          "line": 120,
          "column": 8
        },
        "end": {
          "line": 120,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5705,
      "end": 5706,
      "loc": {
        "start": {
          "line": 120,
          "column": 12
        },
        "end": {
          "line": 120,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "events",
      "start": 5706,
      "end": 5712,
      "loc": {
        "start": {
          "line": 120,
          "column": 13
        },
        "end": {
          "line": 120,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5712,
      "end": 5713,
      "loc": {
        "start": {
          "line": 120,
          "column": 19
        },
        "end": {
          "line": 120,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "removeListeners",
      "start": 5713,
      "end": 5728,
      "loc": {
        "start": {
          "line": 120,
          "column": 20
        },
        "end": {
          "line": 120,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5728,
      "end": 5729,
      "loc": {
        "start": {
          "line": 120,
          "column": 35
        },
        "end": {
          "line": 120,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5729,
      "end": 5730,
      "loc": {
        "start": {
          "line": 120,
          "column": 36
        },
        "end": {
          "line": 120,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5730,
      "end": 5731,
      "loc": {
        "start": {
          "line": 120,
          "column": 37
        },
        "end": {
          "line": 120,
          "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": 5740,
      "end": 5744,
      "loc": {
        "start": {
          "line": 121,
          "column": 8
        },
        "end": {
          "line": 121,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5744,
      "end": 5745,
      "loc": {
        "start": {
          "line": 121,
          "column": 12
        },
        "end": {
          "line": 121,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "events",
      "start": 5745,
      "end": 5751,
      "loc": {
        "start": {
          "line": 121,
          "column": 13
        },
        "end": {
          "line": 121,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5751,
      "end": 5752,
      "loc": {
        "start": {
          "line": 121,
          "column": 19
        },
        "end": {
          "line": 121,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "removeInspectors",
      "start": 5752,
      "end": 5768,
      "loc": {
        "start": {
          "line": 121,
          "column": 20
        },
        "end": {
          "line": 121,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5768,
      "end": 5769,
      "loc": {
        "start": {
          "line": 121,
          "column": 36
        },
        "end": {
          "line": 121,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5769,
      "end": 5770,
      "loc": {
        "start": {
          "line": 121,
          "column": 37
        },
        "end": {
          "line": 121,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5770,
      "end": 5771,
      "loc": {
        "start": {
          "line": 121,
          "column": 38
        },
        "end": {
          "line": 121,
          "column": 39
        }
      }
    },
    {
      "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": 5780,
      "end": 5784,
      "loc": {
        "start": {
          "line": 122,
          "column": 8
        },
        "end": {
          "line": 122,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5784,
      "end": 5785,
      "loc": {
        "start": {
          "line": 122,
          "column": 12
        },
        "end": {
          "line": 122,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "events",
      "start": 5785,
      "end": 5791,
      "loc": {
        "start": {
          "line": 122,
          "column": 13
        },
        "end": {
          "line": 122,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5792,
      "end": 5793,
      "loc": {
        "start": {
          "line": 122,
          "column": 20
        },
        "end": {
          "line": 122,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 5794,
      "end": 5803,
      "loc": {
        "start": {
          "line": 122,
          "column": 22
        },
        "end": {
          "line": 122,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5803,
      "end": 5804,
      "loc": {
        "start": {
          "line": 122,
          "column": 31
        },
        "end": {
          "line": 122,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5809,
      "end": 5810,
      "loc": {
        "start": {
          "line": 123,
          "column": 4
        },
        "end": {
          "line": 123,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5811,
      "end": 5812,
      "loc": {
        "start": {
          "line": 124,
          "column": 0
        },
        "end": {
          "line": 124,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5813,
      "end": 5813,
      "loc": {
        "start": {
          "line": 125,
          "column": 0
        },
        "end": {
          "line": 125,
          "column": 0
        }
      }
    }
  ]
}