{
  "type": "Program",
  "start": 0,
  "end": 15482,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 391,
      "column": 0
    }
  },
  "sourceType": "module",
  "body": [
    {
      "type": "ImportDeclaration",
      "start": 0,
      "end": 26,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 26
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 7,
          "end": 12,
          "loc": {
            "start": {
              "line": 1,
              "column": 7
            },
            "end": {
              "line": 1,
              "column": 12
            }
          },
          "local": {
            "type": "Identifier",
            "start": 7,
            "end": 12,
            "loc": {
              "start": {
                "line": 1,
                "column": 7
              },
              "end": {
                "line": 1,
                "column": 12
              }
            },
            "name": "THREE"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 18,
        "end": 25,
        "loc": {
          "start": {
            "line": 1,
            "column": 18
          },
          "end": {
            "line": 1,
            "column": 25
          }
        },
        "value": "three",
        "rawValue": "three",
        "raw": "'three'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 27,
      "end": 66,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 39
        }
      },
      "specifiers": [
        {
          "type": "ImportNamespaceSpecifier",
          "start": 34,
          "end": 44,
          "loc": {
            "start": {
              "line": 2,
              "column": 7
            },
            "end": {
              "line": 2,
              "column": 17
            }
          },
          "local": {
            "type": "Identifier",
            "start": 39,
            "end": 44,
            "loc": {
              "start": {
                "line": 2,
                "column": 12
              },
              "end": {
                "line": 2,
                "column": 17
              }
            },
            "name": "Error"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 50,
        "end": 65,
        "loc": {
          "start": {
            "line": 2,
            "column": 23
          },
          "end": {
            "line": 2,
            "column": 38
          }
        },
        "value": "../core/error",
        "rawValue": "../core/error",
        "raw": "'../core/error'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 67,
      "end": 134,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 67
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 76,
          "end": 80,
          "loc": {
            "start": {
              "line": 3,
              "column": 9
            },
            "end": {
              "line": 3,
              "column": 13
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 76,
            "end": 80,
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 13
              }
            },
            "name": "guid"
          },
          "local": {
            "type": "Identifier",
            "start": 76,
            "end": 80,
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 13
              }
            },
            "name": "guid"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 82,
          "end": 90,
          "loc": {
            "start": {
              "line": 3,
              "column": 15
            },
            "end": {
              "line": 3,
              "column": 23
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 82,
            "end": 90,
            "loc": {
              "start": {
                "line": 3,
                "column": 15
              },
              "end": {
                "line": 3,
                "column": 23
              }
            },
            "name": "queryDom"
          },
          "local": {
            "type": "Identifier",
            "start": 82,
            "end": 90,
            "loc": {
              "start": {
                "line": 3,
                "column": 15
              },
              "end": {
                "line": 3,
                "column": 23
              }
            },
            "name": "queryDom"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 92,
          "end": 108,
          "loc": {
            "start": {
              "line": 3,
              "column": 25
            },
            "end": {
              "line": 3,
              "column": 41
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 92,
            "end": 108,
            "loc": {
              "start": {
                "line": 3,
                "column": 25
              },
              "end": {
                "line": 3,
                "column": 41
              }
            },
            "name": "setPrefixedValue"
          },
          "local": {
            "type": "Identifier",
            "start": 92,
            "end": 108,
            "loc": {
              "start": {
                "line": 3,
                "column": 25
              },
              "end": {
                "line": 3,
                "column": 41
              }
            },
            "name": "setPrefixedValue"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 116,
        "end": 133,
        "loc": {
          "start": {
            "line": 3,
            "column": 49
          },
          "end": {
            "line": 3,
            "column": 66
          }
        },
        "value": "../core/helpers",
        "rawValue": "../core/helpers",
        "raw": "'../core/helpers'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 135,
      "end": 180,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 45
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 144,
          "end": 155,
          "loc": {
            "start": {
              "line": 4,
              "column": 9
            },
            "end": {
              "line": 4,
              "column": 20
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 144,
            "end": 155,
            "loc": {
              "start": {
                "line": 4,
                "column": 9
              },
              "end": {
                "line": 4,
                "column": 20
              }
            },
            "name": "lastCreated"
          },
          "local": {
            "type": "Identifier",
            "start": 144,
            "end": 155,
            "loc": {
              "start": {
                "line": 4,
                "column": 9
              },
              "end": {
                "line": 4,
                "column": 20
              }
            },
            "name": "lastCreated"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 163,
        "end": 179,
        "loc": {
          "start": {
            "line": 4,
            "column": 28
          },
          "end": {
            "line": 4,
            "column": 44
          }
        },
        "value": "../core/canvas",
        "rawValue": "../core/canvas",
        "raw": "'../core/canvas'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 181,
      "end": 217,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 36
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 188,
          "end": 197,
          "loc": {
            "start": {
              "line": 5,
              "column": 7
            },
            "end": {
              "line": 5,
              "column": 16
            }
          },
          "local": {
            "type": "Identifier",
            "start": 188,
            "end": 197,
            "loc": {
              "start": {
                "line": 5,
                "column": 7
              },
              "end": {
                "line": 5,
                "column": 16
              }
            },
            "name": "DomEvents"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 203,
        "end": 216,
        "loc": {
          "start": {
            "line": 5,
            "column": 22
          },
          "end": {
            "line": 5,
            "column": 35
          }
        },
        "value": "../core/dom",
        "rawValue": "../core/dom",
        "raw": "'../core/dom'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 218,
      "end": 264,
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 46
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 225,
          "end": 236,
          "loc": {
            "start": {
              "line": 6,
              "column": 7
            },
            "end": {
              "line": 6,
              "column": 18
            }
          },
          "local": {
            "type": "Identifier",
            "start": 225,
            "end": 236,
            "loc": {
              "start": {
                "line": 6,
                "column": 7
              },
              "end": {
                "line": 6,
                "column": 18
              }
            },
            "name": "Interaction"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 242,
        "end": 263,
        "loc": {
          "start": {
            "line": 6,
            "column": 24
          },
          "end": {
            "line": 6,
            "column": 45
          }
        },
        "value": "../core/interaction",
        "rawValue": "../core/interaction",
        "raw": "'../core/interaction'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 265,
      "end": 299,
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 34
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 272,
          "end": 277,
          "loc": {
            "start": {
              "line": 7,
              "column": 7
            },
            "end": {
              "line": 7,
              "column": 12
            }
          },
          "local": {
            "type": "Identifier",
            "start": 272,
            "end": 277,
            "loc": {
              "start": {
                "line": 7,
                "column": 7
              },
              "end": {
                "line": 7,
                "column": 12
              }
            },
            "name": "Stats"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 283,
        "end": 298,
        "loc": {
          "start": {
            "line": 7,
            "column": 18
          },
          "end": {
            "line": 7,
            "column": 33
          }
        },
        "value": "../core/stats",
        "rawValue": "../core/stats",
        "raw": "'../core/stats'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 300,
      "end": 338,
      "loc": {
        "start": {
          "line": 8,
          "column": 0
        },
        "end": {
          "line": 8,
          "column": 38
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 307,
          "end": 312,
          "loc": {
            "start": {
              "line": 8,
              "column": 7
            },
            "end": {
              "line": 8,
              "column": 12
            }
          },
          "local": {
            "type": "Identifier",
            "start": 307,
            "end": 312,
            "loc": {
              "start": {
                "line": 8,
                "column": 7
              },
              "end": {
                "line": 8,
                "column": 12
              }
            },
            "name": "Orbit"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 318,
        "end": 337,
        "loc": {
          "start": {
            "line": 8,
            "column": 18
          },
          "end": {
            "line": 8,
            "column": 37
          }
        },
        "value": "../controls/orbit",
        "rawValue": "../controls/orbit",
        "raw": "'../controls/orbit'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 339,
      "end": 386,
      "loc": {
        "start": {
          "line": 9,
          "column": 0
        },
        "end": {
          "line": 9,
          "column": 47
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 346,
          "end": 357,
          "loc": {
            "start": {
              "line": 9,
              "column": 7
            },
            "end": {
              "line": 9,
              "column": 18
            }
          },
          "local": {
            "type": "Identifier",
            "start": 346,
            "end": 357,
            "loc": {
              "start": {
                "line": 9,
                "column": 7
              },
              "end": {
                "line": 9,
                "column": 18
              }
            },
            "name": "Perspective"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 363,
        "end": 385,
        "loc": {
          "start": {
            "line": 9,
            "column": 24
          },
          "end": {
            "line": 9,
            "column": 46
          }
        },
        "value": "../three/perspective",
        "rawValue": "../three/perspective",
        "raw": "'../three/perspective'"
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "* A view represents a portion of canvas on which webGL can draw.\n    The view is defined and tracked by a dom node on which the drawing take place. ",
          "start": 388,
          "end": 540,
          "loc": {
            "start": {
              "line": 11,
              "column": 0
            },
            "end": {
              "line": 12,
              "column": 85
            }
          },
          "range": [
            388,
            540
          ]
        }
      ]
    },
    {
      "type": "ExportDefaultDeclaration",
      "start": 541,
      "end": 15481,
      "loc": {
        "start": {
          "line": 13,
          "column": 0
        },
        "end": {
          "line": 390,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 556,
        "end": 15481,
        "loc": {
          "start": {
            "line": 13,
            "column": 15
          },
          "end": {
            "line": 390,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 562,
          "end": 566,
          "loc": {
            "start": {
              "line": 13,
              "column": 21
            },
            "end": {
              "line": 13,
              "column": 25
            }
          },
          "name": "View",
          "leadingComments": null
        },
        "superClass": null,
        "body": {
          "type": "ClassBody",
          "start": 567,
          "end": 15481,
          "loc": {
            "start": {
              "line": 13,
              "column": 26
            },
            "end": {
              "line": 390,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 2046,
              "end": 6801,
              "loc": {
                "start": {
                  "line": 36,
                  "column": 4
                },
                "end": {
                  "line": 145,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 2046,
                "end": 2057,
                "loc": {
                  "start": {
                    "line": 36,
                    "column": 4
                  },
                  "end": {
                    "line": 36,
                    "column": 15
                  }
                },
                "name": "constructor",
                "leadingComments": null
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 2057,
                "end": 6801,
                "loc": {
                  "start": {
                    "line": 36,
                    "column": 15
                  },
                  "end": {
                    "line": 145,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "AssignmentPattern",
                    "start": 2058,
                    "end": 2078,
                    "loc": {
                      "start": {
                        "line": 36,
                        "column": 16
                      },
                      "end": {
                        "line": 36,
                        "column": 36
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 2058,
                      "end": 2064,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 16
                        },
                        "end": {
                          "line": 36,
                          "column": 22
                        }
                      },
                      "name": "canvas"
                    },
                    "right": {
                      "type": "Identifier",
                      "start": 2067,
                      "end": 2078,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 25
                        },
                        "end": {
                          "line": 36,
                          "column": 36
                        }
                      },
                      "name": "lastCreated"
                    }
                  },
                  {
                    "type": "AssignmentPattern",
                    "start": 2080,
                    "end": 2099,
                    "loc": {
                      "start": {
                        "line": 36,
                        "column": 38
                      },
                      "end": {
                        "line": 36,
                        "column": 57
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 2080,
                      "end": 2087,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 38
                        },
                        "end": {
                          "line": 36,
                          "column": 45
                        }
                      },
                      "name": "options"
                    },
                    "right": {
                      "type": "Identifier",
                      "start": 2090,
                      "end": 2099,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 48
                        },
                        "end": {
                          "line": 36,
                          "column": 57
                        }
                      },
                      "name": "undefined"
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2101,
                  "end": 6801,
                  "loc": {
                    "start": {
                      "line": 36,
                      "column": 59
                    },
                    "end": {
                      "line": 145,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 2151,
                      "end": 2212,
                      "loc": {
                        "start": {
                          "line": 39,
                          "column": 8
                        },
                        "end": {
                          "line": 41,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2151,
                        "end": 2211,
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 8
                          },
                          "end": {
                            "line": 41,
                            "column": 9
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 2151,
                          "end": 2158,
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 8
                            },
                            "end": {
                              "line": 39,
                              "column": 15
                            }
                          },
                          "name": "options",
                          "leadingComments": null
                        },
                        "right": {
                          "type": "LogicalExpression",
                          "start": 2161,
                          "end": 2211,
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 18
                            },
                            "end": {
                              "line": 41,
                              "column": 9
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 2161,
                            "end": 2168,
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 18
                              },
                              "end": {
                                "line": 39,
                                "column": 25
                              }
                            },
                            "name": "options"
                          },
                          "operator": "||",
                          "right": {
                            "type": "ObjectExpression",
                            "start": 2172,
                            "end": 2211,
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 29
                              },
                              "end": {
                                "line": 41,
                                "column": 9
                              }
                            },
                            "properties": [
                              {
                                "type": "Property",
                                "start": 2186,
                                "end": 2201,
                                "loc": {
                                  "start": {
                                    "line": 40,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 40,
                                    "column": 27
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 2186,
                                  "end": 2189,
                                  "loc": {
                                    "start": {
                                      "line": 40,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 40,
                                      "column": 15
                                    }
                                  },
                                  "name": "dom"
                                },
                                "value": {
                                  "type": "MemberExpression",
                                  "start": 2191,
                                  "end": 2201,
                                  "loc": {
                                    "start": {
                                      "line": 40,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 40,
                                      "column": 27
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2191,
                                    "end": 2197,
                                    "loc": {
                                      "start": {
                                        "line": 40,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 40,
                                        "column": 23
                                      }
                                    },
                                    "name": "canvas"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2198,
                                    "end": 2201,
                                    "loc": {
                                      "start": {
                                        "line": 40,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 40,
                                        "column": 27
                                      }
                                    },
                                    "name": "dom"
                                  },
                                  "computed": false
                                },
                                "kind": "init"
                              }
                            ]
                          }
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Default to the canvases dom",
                          "start": 2112,
                          "end": 2142,
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 8
                            },
                            "end": {
                              "line": 38,
                              "column": 38
                            }
                          },
                          "range": [
                            2112,
                            2142
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2222,
                      "end": 2239,
                      "loc": {
                        "start": {
                          "line": 43,
                          "column": 8
                        },
                        "end": {
                          "line": 43,
                          "column": 25
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2222,
                        "end": 2238,
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 8
                          },
                          "end": {
                            "line": 43,
                            "column": 24
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2222,
                          "end": 2229,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 8
                            },
                            "end": {
                              "line": 43,
                              "column": 15
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2222,
                            "end": 2226,
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 8
                              },
                              "end": {
                                "line": 43,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2227,
                            "end": 2229,
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 13
                              },
                              "end": {
                                "line": 43,
                                "column": 15
                              }
                            },
                            "name": "id"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 2232,
                          "end": 2238,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 18
                            },
                            "end": {
                              "line": 43,
                              "column": 24
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 2232,
                            "end": 2236,
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 18
                              },
                              "end": {
                                "line": 43,
                                "column": 22
                              }
                            },
                            "name": "guid"
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2248,
                      "end": 2269,
                      "loc": {
                        "start": {
                          "line": 44,
                          "column": 8
                        },
                        "end": {
                          "line": 44,
                          "column": 29
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2248,
                        "end": 2268,
                        "loc": {
                          "start": {
                            "line": 44,
                            "column": 8
                          },
                          "end": {
                            "line": 44,
                            "column": 28
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2248,
                          "end": 2259,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 8
                            },
                            "end": {
                              "line": 44,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2248,
                            "end": 2252,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 8
                              },
                              "end": {
                                "line": 44,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2253,
                            "end": 2259,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 13
                              },
                              "end": {
                                "line": 44,
                                "column": 19
                              }
                            },
                            "name": "canvas"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 2262,
                          "end": 2268,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 22
                            },
                            "end": {
                              "line": 44,
                              "column": 28
                            }
                          },
                          "name": "canvas"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2278,
                      "end": 2310,
                      "loc": {
                        "start": {
                          "line": 45,
                          "column": 8
                        },
                        "end": {
                          "line": 45,
                          "column": 40
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2278,
                        "end": 2309,
                        "loc": {
                          "start": {
                            "line": 45,
                            "column": 8
                          },
                          "end": {
                            "line": 45,
                            "column": 39
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2278,
                          "end": 2291,
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 8
                            },
                            "end": {
                              "line": 45,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2278,
                            "end": 2282,
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 8
                              },
                              "end": {
                                "line": 45,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2283,
                            "end": 2291,
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 13
                              },
                              "end": {
                                "line": 45,
                                "column": 21
                              }
                            },
                            "name": "renderer"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 2294,
                          "end": 2309,
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 24
                            },
                            "end": {
                              "line": 45,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2294,
                            "end": 2300,
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 24
                              },
                              "end": {
                                "line": 45,
                                "column": 30
                              }
                            },
                            "name": "canvas"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2301,
                            "end": 2309,
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 31
                              },
                              "end": {
                                "line": 45,
                                "column": 39
                              }
                            },
                            "name": "renderer"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2319,
                      "end": 2379,
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 8
                        },
                        "end": {
                          "line": 46,
                          "column": 68
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2319,
                        "end": 2378,
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 8
                          },
                          "end": {
                            "line": 46,
                            "column": 67
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2319,
                          "end": 2327,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 8
                            },
                            "end": {
                              "line": 46,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2319,
                            "end": 2323,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 8
                              },
                              "end": {
                                "line": 46,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2324,
                            "end": 2327,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 13
                              },
                              "end": {
                                "line": 46,
                                "column": 16
                              }
                            },
                            "name": "dom"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ConditionalExpression",
                          "start": 2330,
                          "end": 2378,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 19
                            },
                            "end": {
                              "line": 46,
                              "column": 67
                            }
                          },
                          "test": {
                            "type": "MemberExpression",
                            "start": 2330,
                            "end": 2341,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 19
                              },
                              "end": {
                                "line": 46,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2330,
                              "end": 2337,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 19
                                },
                                "end": {
                                  "line": 46,
                                  "column": 26
                                }
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2338,
                              "end": 2341,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 27
                                },
                                "end": {
                                  "line": 46,
                                  "column": 30
                                }
                              },
                              "name": "dom"
                            },
                            "computed": false
                          },
                          "consequent": {
                            "type": "CallExpression",
                            "start": 2344,
                            "end": 2365,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 33
                              },
                              "end": {
                                "line": 46,
                                "column": 54
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 2344,
                              "end": 2352,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 33
                                },
                                "end": {
                                  "line": 46,
                                  "column": 41
                                }
                              },
                              "name": "queryDom"
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 2353,
                                "end": 2364,
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 53
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2353,
                                  "end": 2360,
                                  "loc": {
                                    "start": {
                                      "line": 46,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 46,
                                      "column": 49
                                    }
                                  },
                                  "name": "options"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2361,
                                  "end": 2364,
                                  "loc": {
                                    "start": {
                                      "line": 46,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 46,
                                      "column": 53
                                    }
                                  },
                                  "name": "dom"
                                },
                                "computed": false
                              }
                            ]
                          },
                          "alternate": {
                            "type": "MemberExpression",
                            "start": 2368,
                            "end": 2378,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 57
                              },
                              "end": {
                                "line": 46,
                                "column": 67
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2368,
                              "end": 2374,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 57
                                },
                                "end": {
                                  "line": 46,
                                  "column": 63
                                }
                              },
                              "name": "canvas"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2375,
                              "end": 2378,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 64
                                },
                                "end": {
                                  "line": 46,
                                  "column": 67
                                }
                              },
                              "name": "dom"
                            },
                            "computed": false
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2388,
                      "end": 2414,
                      "loc": {
                        "start": {
                          "line": 47,
                          "column": 8
                        },
                        "end": {
                          "line": 47,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2388,
                        "end": 2413,
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 8
                          },
                          "end": {
                            "line": 47,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2388,
                          "end": 2409,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 8
                            },
                            "end": {
                              "line": 47,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2388,
                            "end": 2392,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 8
                              },
                              "end": {
                                "line": 47,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2393,
                            "end": 2409,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 13
                              },
                              "end": {
                                "line": 47,
                                "column": 29
                              }
                            },
                            "name": "invalidateFrames"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 2412,
                          "end": 2413,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 32
                            },
                            "end": {
                              "line": 47,
                              "column": 33
                            }
                          },
                          "value": 2,
                          "rawValue": 2,
                          "raw": "2"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2423,
                      "end": 2438,
                      "loc": {
                        "start": {
                          "line": 48,
                          "column": 8
                        },
                        "end": {
                          "line": 48,
                          "column": 23
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2423,
                        "end": 2437,
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 8
                          },
                          "end": {
                            "line": 48,
                            "column": 22
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2423,
                          "end": 2433,
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 8
                            },
                            "end": {
                              "line": 48,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2423,
                            "end": 2427,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 8
                              },
                              "end": {
                                "line": 48,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2428,
                            "end": 2433,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 13
                              },
                              "end": {
                                "line": 48,
                                "column": 18
                              }
                            },
                            "name": "force"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 2436,
                          "end": 2437,
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 21
                            },
                            "end": {
                              "line": 48,
                              "column": 22
                            }
                          },
                          "value": 0,
                          "rawValue": 0,
                          "raw": "0"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2447,
                      "end": 2465,
                      "loc": {
                        "start": {
                          "line": 49,
                          "column": 8
                        },
                        "end": {
                          "line": 49,
                          "column": 26
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2447,
                        "end": 2464,
                        "loc": {
                          "start": {
                            "line": 49,
                            "column": 8
                          },
                          "end": {
                            "line": 49,
                            "column": 25
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2447,
                          "end": 2457,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 8
                            },
                            "end": {
                              "line": 49,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2447,
                            "end": 2451,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 8
                              },
                              "end": {
                                "line": 49,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2452,
                            "end": 2457,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 13
                              },
                              "end": {
                                "line": 49,
                                "column": 18
                              }
                            },
                            "name": "dirty"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 2460,
                          "end": 2464,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 21
                            },
                            "end": {
                              "line": 49,
                              "column": 25
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2474,
                      "end": 2574,
                      "loc": {
                        "start": {
                          "line": 50,
                          "column": 8
                        },
                        "end": {
                          "line": 53,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2474,
                        "end": 2573,
                        "loc": {
                          "start": {
                            "line": 50,
                            "column": 8
                          },
                          "end": {
                            "line": 53,
                            "column": 9
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2474,
                          "end": 2485,
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 8
                            },
                            "end": {
                              "line": 50,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2474,
                            "end": 2478,
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 8
                              },
                              "end": {
                                "line": 50,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2479,
                            "end": 2485,
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 13
                              },
                              "end": {
                                "line": 50,
                                "column": 19
                              }
                            },
                            "name": "bounds"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "start": 2488,
                          "end": 2573,
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 22
                            },
                            "end": {
                              "line": 53,
                              "column": 9
                            }
                          },
                          "properties": [
                            {
                              "type": "Property",
                              "start": 2502,
                              "end": 2523,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 12
                                },
                                "end": {
                                  "line": 51,
                                  "column": 33
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2502,
                                "end": 2505,
                                "loc": {
                                  "start": {
                                    "line": 51,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 51,
                                    "column": 15
                                  }
                                },
                                "name": "box"
                              },
                              "value": {
                                "type": "NewExpression",
                                "start": 2507,
                                "end": 2523,
                                "loc": {
                                  "start": {
                                    "line": 51,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 51,
                                    "column": 33
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 2511,
                                  "end": 2521,
                                  "loc": {
                                    "start": {
                                      "line": 51,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 51,
                                      "column": 31
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2511,
                                    "end": 2516,
                                    "loc": {
                                      "start": {
                                        "line": 51,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 51,
                                        "column": 26
                                      }
                                    },
                                    "name": "THREE"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2517,
                                    "end": 2521,
                                    "loc": {
                                      "start": {
                                        "line": 51,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 51,
                                        "column": 31
                                      }
                                    },
                                    "name": "Box3"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 2537,
                              "end": 2563,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 12
                                },
                                "end": {
                                  "line": 52,
                                  "column": 38
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 2537,
                                "end": 2543,
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 18
                                  }
                                },
                                "name": "sphere"
                              },
                              "value": {
                                "type": "NewExpression",
                                "start": 2545,
                                "end": 2563,
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 38
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 2549,
                                  "end": 2561,
                                  "loc": {
                                    "start": {
                                      "line": 52,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 52,
                                      "column": 36
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2549,
                                    "end": 2554,
                                    "loc": {
                                      "start": {
                                        "line": 52,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 52,
                                        "column": 29
                                      }
                                    },
                                    "name": "THREE"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2555,
                                    "end": 2561,
                                    "loc": {
                                      "start": {
                                        "line": 52,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 52,
                                        "column": 36
                                      }
                                    },
                                    "name": "Sphere"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "kind": "init"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2584,
                      "end": 2634,
                      "loc": {
                        "start": {
                          "line": 55,
                          "column": 8
                        },
                        "end": {
                          "line": 55,
                          "column": 58
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2584,
                        "end": 2633,
                        "loc": {
                          "start": {
                            "line": 55,
                            "column": 8
                          },
                          "end": {
                            "line": 55,
                            "column": 57
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2584,
                          "end": 2601,
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 8
                            },
                            "end": {
                              "line": 55,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2584,
                            "end": 2588,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 8
                              },
                              "end": {
                                "line": 55,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2589,
                            "end": 2601,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 13
                              },
                              "end": {
                                "line": 55,
                                "column": 25
                              }
                            },
                            "name": "renderAlways"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "LogicalExpression",
                          "start": 2604,
                          "end": 2633,
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 28
                            },
                            "end": {
                              "line": 55,
                              "column": 57
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 2604,
                            "end": 2624,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 28
                              },
                              "end": {
                                "line": 55,
                                "column": 48
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2604,
                              "end": 2611,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 28
                                },
                                "end": {
                                  "line": 55,
                                  "column": 35
                                }
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2612,
                              "end": 2624,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 36
                                },
                                "end": {
                                  "line": 55,
                                  "column": 48
                                }
                              },
                              "name": "renderAlways"
                            },
                            "computed": false
                          },
                          "operator": "||",
                          "right": {
                            "type": "Literal",
                            "start": 2628,
                            "end": 2633,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 52
                              },
                              "end": {
                                "line": 55,
                                "column": 57
                              }
                            },
                            "value": false,
                            "rawValue": false,
                            "raw": "false"
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2643,
                      "end": 2682,
                      "loc": {
                        "start": {
                          "line": 56,
                          "column": 8
                        },
                        "end": {
                          "line": 56,
                          "column": 47
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2643,
                        "end": 2681,
                        "loc": {
                          "start": {
                            "line": 56,
                            "column": 8
                          },
                          "end": {
                            "line": 56,
                            "column": 46
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2643,
                          "end": 2655,
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 8
                            },
                            "end": {
                              "line": 56,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2643,
                            "end": 2647,
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 8
                              },
                              "end": {
                                "line": 56,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2648,
                            "end": 2655,
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 13
                              },
                              "end": {
                                "line": 56,
                                "column": 20
                              }
                            },
                            "name": "visible"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "LogicalExpression",
                          "start": 2658,
                          "end": 2681,
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 23
                            },
                            "end": {
                              "line": 56,
                              "column": 46
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 2658,
                            "end": 2673,
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 23
                              },
                              "end": {
                                "line": 56,
                                "column": 38
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2658,
                              "end": 2665,
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 23
                                },
                                "end": {
                                  "line": 56,
                                  "column": 30
                                }
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2666,
                              "end": 2673,
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 31
                                },
                                "end": {
                                  "line": 56,
                                  "column": 38
                                }
                              },
                              "name": "visible"
                            },
                            "computed": false
                          },
                          "operator": "||",
                          "right": {
                            "type": "Literal",
                            "start": 2677,
                            "end": 2681,
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 42
                              },
                              "end": {
                                "line": 56,
                                "column": 46
                              }
                            },
                            "value": true,
                            "rawValue": true,
                            "raw": "true"
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2691,
                      "end": 2743,
                      "loc": {
                        "start": {
                          "line": 57,
                          "column": 8
                        },
                        "end": {
                          "line": 57,
                          "column": 60
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2691,
                        "end": 2742,
                        "loc": {
                          "start": {
                            "line": 57,
                            "column": 8
                          },
                          "end": {
                            "line": 57,
                            "column": 59
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2691,
                          "end": 2710,
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 8
                            },
                            "end": {
                              "line": 57,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2691,
                            "end": 2695,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 8
                              },
                              "end": {
                                "line": 57,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2696,
                            "end": 2710,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 13
                              },
                              "end": {
                                "line": 57,
                                "column": 27
                              }
                            },
                            "name": "callbackBefore"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "LogicalExpression",
                          "start": 2713,
                          "end": 2742,
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 30
                            },
                            "end": {
                              "line": 57,
                              "column": 59
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 2713,
                            "end": 2729,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 30
                              },
                              "end": {
                                "line": 57,
                                "column": 46
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2713,
                              "end": 2720,
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 30
                                },
                                "end": {
                                  "line": 57,
                                  "column": 37
                                }
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2721,
                              "end": 2729,
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 38
                                },
                                "end": {
                                  "line": 57,
                                  "column": 46
                                }
                              },
                              "name": "callback"
                            },
                            "computed": false
                          },
                          "operator": "||",
                          "right": {
                            "type": "Identifier",
                            "start": 2733,
                            "end": 2742,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 50
                              },
                              "end": {
                                "line": 57,
                                "column": 59
                              }
                            },
                            "name": "undefined"
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2752,
                      "end": 2810,
                      "loc": {
                        "start": {
                          "line": 58,
                          "column": 8
                        },
                        "end": {
                          "line": 58,
                          "column": 66
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2752,
                        "end": 2809,
                        "loc": {
                          "start": {
                            "line": 58,
                            "column": 8
                          },
                          "end": {
                            "line": 58,
                            "column": 65
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2752,
                          "end": 2771,
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 8
                            },
                            "end": {
                              "line": 58,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2752,
                            "end": 2756,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 8
                              },
                              "end": {
                                "line": 58,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2757,
                            "end": 2771,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 13
                              },
                              "end": {
                                "line": 58,
                                "column": 27
                              }
                            },
                            "name": "callbackRender"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "LogicalExpression",
                          "start": 2774,
                          "end": 2809,
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 30
                            },
                            "end": {
                              "line": 58,
                              "column": 65
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 2774,
                            "end": 2796,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 30
                              },
                              "end": {
                                "line": 58,
                                "column": 52
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2774,
                              "end": 2781,
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 30
                                },
                                "end": {
                                  "line": 58,
                                  "column": 37
                                }
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2782,
                              "end": 2796,
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 38
                                },
                                "end": {
                                  "line": 58,
                                  "column": 52
                                }
                              },
                              "name": "callbackRender"
                            },
                            "computed": false
                          },
                          "operator": "||",
                          "right": {
                            "type": "Identifier",
                            "start": 2800,
                            "end": 2809,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 56
                              },
                              "end": {
                                "line": 58,
                                "column": 65
                              }
                            },
                            "name": "undefined"
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2819,
                      "end": 2875,
                      "loc": {
                        "start": {
                          "line": 59,
                          "column": 8
                        },
                        "end": {
                          "line": 59,
                          "column": 64
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2819,
                        "end": 2874,
                        "loc": {
                          "start": {
                            "line": 59,
                            "column": 8
                          },
                          "end": {
                            "line": 59,
                            "column": 63
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2819,
                          "end": 2837,
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 8
                            },
                            "end": {
                              "line": 59,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2819,
                            "end": 2823,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 8
                              },
                              "end": {
                                "line": 59,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2824,
                            "end": 2837,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 13
                              },
                              "end": {
                                "line": 59,
                                "column": 26
                              }
                            },
                            "name": "callbackAfter"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "LogicalExpression",
                          "start": 2840,
                          "end": 2874,
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 29
                            },
                            "end": {
                              "line": 59,
                              "column": 63
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 2840,
                            "end": 2861,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 29
                              },
                              "end": {
                                "line": 59,
                                "column": 50
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2840,
                              "end": 2847,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 29
                                },
                                "end": {
                                  "line": 59,
                                  "column": 36
                                }
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2848,
                              "end": 2861,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 37
                                },
                                "end": {
                                  "line": 59,
                                  "column": 50
                                }
                              },
                              "name": "callbackAfter"
                            },
                            "computed": false
                          },
                          "operator": "||",
                          "right": {
                            "type": "Identifier",
                            "start": 2865,
                            "end": 2874,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 54
                              },
                              "end": {
                                "line": 59,
                                "column": 63
                              }
                            },
                            "name": "undefined"
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2884,
                      "end": 2949,
                      "loc": {
                        "start": {
                          "line": 60,
                          "column": 8
                        },
                        "end": {
                          "line": 60,
                          "column": 73
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2884,
                        "end": 2948,
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 8
                          },
                          "end": {
                            "line": 60,
                            "column": 72
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2884,
                          "end": 2899,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 8
                            },
                            "end": {
                              "line": 60,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2884,
                            "end": 2888,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 8
                              },
                              "end": {
                                "line": 60,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2889,
                            "end": 2899,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 13
                              },
                              "end": {
                                "line": 60,
                                "column": 23
                              }
                            },
                            "name": "background"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "LogicalExpression",
                          "start": 2902,
                          "end": 2948,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 26
                            },
                            "end": {
                              "line": 60,
                              "column": 72
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 2902,
                            "end": 2920,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 26
                              },
                              "end": {
                                "line": 60,
                                "column": 44
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2902,
                              "end": 2909,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 26
                                },
                                "end": {
                                  "line": 60,
                                  "column": 33
                                }
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2910,
                              "end": 2920,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 34
                                },
                                "end": {
                                  "line": 60,
                                  "column": 44
                                }
                              },
                              "name": "background"
                            },
                            "computed": false
                          },
                          "operator": "||",
                          "right": {
                            "type": "MemberExpression",
                            "start": 2924,
                            "end": 2948,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 48
                              },
                              "end": {
                                "line": 60,
                                "column": 72
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 2924,
                              "end": 2937,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 48
                                },
                                "end": {
                                  "line": 60,
                                  "column": 61
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2924,
                                "end": 2928,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 52
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2929,
                                "end": 2937,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 53
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 61
                                  }
                                },
                                "name": "renderer"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2938,
                              "end": 2948,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 62
                                },
                                "end": {
                                  "line": 60,
                                  "column": 72
                                }
                              },
                              "name": "clearColor"
                            },
                            "computed": false
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2958,
                      "end": 3004,
                      "loc": {
                        "start": {
                          "line": 61,
                          "column": 8
                        },
                        "end": {
                          "line": 61,
                          "column": 54
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2958,
                        "end": 3003,
                        "loc": {
                          "start": {
                            "line": 61,
                            "column": 8
                          },
                          "end": {
                            "line": 61,
                            "column": 53
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2958,
                          "end": 2970,
                          "loc": {
                            "start": {
                              "line": 61,
                              "column": 8
                            },
                            "end": {
                              "line": 61,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2958,
                            "end": 2962,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 8
                              },
                              "end": {
                                "line": 61,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2963,
                            "end": 2970,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 13
                              },
                              "end": {
                                "line": 61,
                                "column": 20
                              }
                            },
                            "name": "opacity"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ConditionalExpression",
                          "start": 2973,
                          "end": 3003,
                          "loc": {
                            "start": {
                              "line": 61,
                              "column": 23
                            },
                            "end": {
                              "line": 61,
                              "column": 53
                            }
                          },
                          "test": {
                            "type": "MemberExpression",
                            "start": 2973,
                            "end": 2991,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 23
                              },
                              "end": {
                                "line": 61,
                                "column": 41
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2973,
                              "end": 2980,
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 23
                                },
                                "end": {
                                  "line": 61,
                                  "column": 30
                                }
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2981,
                              "end": 2991,
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 31
                                },
                                "end": {
                                  "line": 61,
                                  "column": 41
                                }
                              },
                              "name": "background"
                            },
                            "computed": false
                          },
                          "consequent": {
                            "type": "Literal",
                            "start": 2994,
                            "end": 2997,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 44
                              },
                              "end": {
                                "line": 61,
                                "column": 47
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1.0"
                          },
                          "alternate": {
                            "type": "Literal",
                            "start": 3000,
                            "end": 3003,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 50
                              },
                              "end": {
                                "line": 61,
                                "column": 53
                              }
                            },
                            "value": 0,
                            "rawValue": 0,
                            "raw": "0.0"
                          }
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " The tracked dom node should hide overflows",
                          "start": 3014,
                          "end": 3059,
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 8
                            },
                            "end": {
                              "line": 63,
                              "column": 53
                            }
                          },
                          "range": [
                            3014,
                            3059
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3068,
                      "end": 3102,
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 8
                        },
                        "end": {
                          "line": 64,
                          "column": 42
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3068,
                        "end": 3101,
                        "loc": {
                          "start": {
                            "line": 64,
                            "column": 8
                          },
                          "end": {
                            "line": 64,
                            "column": 41
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3068,
                          "end": 3090,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 8
                            },
                            "end": {
                              "line": 64,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 3068,
                            "end": 3082,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 8
                              },
                              "end": {
                                "line": 64,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 3068,
                              "end": 3076,
                              "loc": {
                                "start": {
                                  "line": 64,
                                  "column": 8
                                },
                                "end": {
                                  "line": 64,
                                  "column": 16
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 3068,
                                "end": 3072,
                                "loc": {
                                  "start": {
                                    "line": 64,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 64,
                                    "column": 12
                                  }
                                },
                                "leadingComments": null
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3073,
                                "end": 3076,
                                "loc": {
                                  "start": {
                                    "line": 64,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 64,
                                    "column": 16
                                  }
                                },
                                "name": "dom"
                              },
                              "computed": false,
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3077,
                              "end": 3082,
                              "loc": {
                                "start": {
                                  "line": 64,
                                  "column": 17
                                },
                                "end": {
                                  "line": 64,
                                  "column": 22
                                }
                              },
                              "name": "style"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3083,
                            "end": 3090,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 23
                              },
                              "end": {
                                "line": 64,
                                "column": 30
                              }
                            },
                            "name": "overlay"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "Literal",
                          "start": 3093,
                          "end": 3101,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 33
                            },
                            "end": {
                              "line": 64,
                              "column": 41
                            }
                          },
                          "value": "hidden",
                          "rawValue": "hidden",
                          "raw": "'hidden'"
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " The tracked dom node should hide overflows",
                          "start": 3014,
                          "end": 3059,
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 8
                            },
                            "end": {
                              "line": 63,
                              "column": 53
                            }
                          },
                          "range": [
                            3014,
                            3059
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " A border will hide gaps caused by imprecise layout returns",
                          "start": 3111,
                          "end": 3172,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 8
                            },
                            "end": {
                              "line": 65,
                              "column": 69
                            }
                          },
                          "range": [
                            3111,
                            3172
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 3181,
                      "end": 3288,
                      "loc": {
                        "start": {
                          "line": 66,
                          "column": 8
                        },
                        "end": {
                          "line": 67,
                          "column": 83
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 3185,
                        "end": 3203,
                        "loc": {
                          "start": {
                            "line": 66,
                            "column": 12
                          },
                          "end": {
                            "line": 66,
                            "column": 30
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 3185,
                          "end": 3192,
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 12
                            },
                            "end": {
                              "line": 66,
                              "column": 19
                            }
                          },
                          "name": "options",
                          "leadingComments": null
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 3193,
                          "end": 3203,
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 20
                            },
                            "end": {
                              "line": 66,
                              "column": 30
                            }
                          },
                          "name": "background"
                        },
                        "computed": false,
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 3217,
                        "end": 3288,
                        "loc": {
                          "start": {
                            "line": 67,
                            "column": 12
                          },
                          "end": {
                            "line": 67,
                            "column": 83
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 3217,
                          "end": 3287,
                          "loc": {
                            "start": {
                              "line": 67,
                              "column": 12
                            },
                            "end": {
                              "line": 67,
                              "column": 82
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 3217,
                            "end": 3238,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 12
                              },
                              "end": {
                                "line": 67,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 3217,
                              "end": 3231,
                              "loc": {
                                "start": {
                                  "line": 67,
                                  "column": 12
                                },
                                "end": {
                                  "line": 67,
                                  "column": 26
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 3217,
                                "end": 3225,
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 67,
                                    "column": 20
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 3217,
                                  "end": 3221,
                                  "loc": {
                                    "start": {
                                      "line": 67,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 67,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3222,
                                  "end": 3225,
                                  "loc": {
                                    "start": {
                                      "line": 67,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 67,
                                      "column": 20
                                    }
                                  },
                                  "name": "dom"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3226,
                                "end": 3231,
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 67,
                                    "column": 26
                                  }
                                },
                                "name": "style"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3232,
                              "end": 3238,
                              "loc": {
                                "start": {
                                  "line": 67,
                                  "column": 27
                                },
                                "end": {
                                  "line": 67,
                                  "column": 33
                                }
                              },
                              "name": "border"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "TemplateLiteral",
                            "start": 3241,
                            "end": 3287,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 36
                              },
                              "end": {
                                "line": 67,
                                "column": 82
                              }
                            },
                            "expressions": [
                              {
                                "type": "CallExpression",
                                "start": 3255,
                                "end": 3285,
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 50
                                  },
                                  "end": {
                                    "line": 67,
                                    "column": 80
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 3255,
                                  "end": 3283,
                                  "loc": {
                                    "start": {
                                      "line": 67,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 67,
                                      "column": 78
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 3255,
                                    "end": 3270,
                                    "loc": {
                                      "start": {
                                        "line": 67,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 67,
                                        "column": 65
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 3255,
                                      "end": 3259,
                                      "loc": {
                                        "start": {
                                          "line": 67,
                                          "column": 50
                                        },
                                        "end": {
                                          "line": 67,
                                          "column": 54
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3260,
                                      "end": 3270,
                                      "loc": {
                                        "start": {
                                          "line": 67,
                                          "column": 55
                                        },
                                        "end": {
                                          "line": 67,
                                          "column": 65
                                        }
                                      },
                                      "name": "background"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3271,
                                    "end": 3283,
                                    "loc": {
                                      "start": {
                                        "line": 67,
                                        "column": 66
                                      },
                                      "end": {
                                        "line": 67,
                                        "column": 78
                                      }
                                    },
                                    "name": "getHexString"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            ],
                            "quasis": [
                              {
                                "type": "TemplateElement",
                                "start": 3242,
                                "end": 3253,
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 67,
                                    "column": 48
                                  }
                                },
                                "value": {
                                  "raw": "2px solid #",
                                  "cooked": "2px solid #"
                                },
                                "tail": false
                              },
                              {
                                "type": "TemplateElement",
                                "start": 3286,
                                "end": 3286,
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 81
                                  },
                                  "end": {
                                    "line": 67,
                                    "column": 81
                                  }
                                },
                                "value": {
                                  "raw": "",
                                  "cooked": ""
                                },
                                "tail": true
                              }
                            ]
                          }
                        }
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " A border will hide gaps caused by imprecise layout returns",
                          "start": 3111,
                          "end": 3172,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 8
                            },
                            "end": {
                              "line": 65,
                              "column": 69
                            }
                          },
                          "range": [
                            3111,
                            3172
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3298,
                      "end": 3315,
                      "loc": {
                        "start": {
                          "line": 69,
                          "column": 8
                        },
                        "end": {
                          "line": 69,
                          "column": 25
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3298,
                        "end": 3314,
                        "loc": {
                          "start": {
                            "line": 69,
                            "column": 8
                          },
                          "end": {
                            "line": 69,
                            "column": 24
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3298,
                          "end": 3309,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 8
                            },
                            "end": {
                              "line": 69,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3298,
                            "end": 3302,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 8
                              },
                              "end": {
                                "line": 69,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3303,
                            "end": 3309,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 13
                              },
                              "end": {
                                "line": 69,
                                "column": 19
                              }
                            },
                            "name": "events"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "start": 3312,
                          "end": 3314,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 22
                            },
                            "end": {
                              "line": 69,
                              "column": 24
                            }
                          },
                          "properties": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3324,
                      "end": 5452,
                      "loc": {
                        "start": {
                          "line": 70,
                          "column": 8
                        },
                        "end": {
                          "line": 108,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3324,
                        "end": 5451,
                        "loc": {
                          "start": {
                            "line": 70,
                            "column": 8
                          },
                          "end": {
                            "line": 108,
                            "column": 10
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3324,
                          "end": 3334,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 8
                            },
                            "end": {
                              "line": 70,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3324,
                            "end": 3328,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 8
                              },
                              "end": {
                                "line": 70,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3329,
                            "end": 3334,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 13
                              },
                              "end": {
                                "line": 70,
                                "column": 18
                              }
                            },
                            "name": "input"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 3337,
                          "end": 5451,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 21
                            },
                            "end": {
                              "line": 108,
                              "column": 10
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 3341,
                            "end": 3350,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 25
                              },
                              "end": {
                                "line": 70,
                                "column": 34
                              }
                            },
                            "name": "DomEvents"
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 3351,
                              "end": 3355,
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 35
                                },
                                "end": {
                                  "line": 70,
                                  "column": 39
                                }
                              }
                            },
                            {
                              "type": "ObjectExpression",
                              "start": 3357,
                              "end": 5450,
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 41
                                },
                                "end": {
                                  "line": 108,
                                  "column": 9
                                }
                              },
                              "properties": [
                                {
                                  "type": "Property",
                                  "start": 3371,
                                  "end": 3582,
                                  "loc": {
                                    "start": {
                                      "line": 71,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 74,
                                      "column": 13
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 3371,
                                    "end": 3381,
                                    "loc": {
                                      "start": {
                                        "line": 71,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 71,
                                        "column": 22
                                      }
                                    },
                                    "name": "mousewheel"
                                  },
                                  "value": {
                                    "type": "ArrowFunctionExpression",
                                    "start": 3383,
                                    "end": 3582,
                                    "loc": {
                                      "start": {
                                        "line": 71,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 74,
                                        "column": 13
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": false,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 3383,
                                        "end": 3388,
                                        "loc": {
                                          "start": {
                                            "line": 71,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 71,
                                            "column": 29
                                          }
                                        },
                                        "name": "state"
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "start": 3392,
                                      "end": 3582,
                                      "loc": {
                                        "start": {
                                          "line": 71,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 74,
                                          "column": 13
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 3410,
                                          "end": 3444,
                                          "loc": {
                                            "start": {
                                              "line": 72,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 72,
                                              "column": 50
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 3410,
                                            "end": 3443,
                                            "loc": {
                                              "start": {
                                                "line": 72,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 72,
                                                "column": 49
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 3410,
                                              "end": 3436,
                                              "loc": {
                                                "start": {
                                                  "line": 72,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 72,
                                                  "column": 42
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 3410,
                                                "end": 3423,
                                                "loc": {
                                                  "start": {
                                                    "line": 72,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 72,
                                                    "column": 29
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 3410,
                                                  "end": 3414,
                                                  "loc": {
                                                    "start": {
                                                      "line": 72,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 72,
                                                      "column": 20
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3415,
                                                  "end": 3423,
                                                  "loc": {
                                                    "start": {
                                                      "line": 72,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 72,
                                                      "column": 29
                                                    }
                                                  },
                                                  "name": "controls"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3424,
                                                "end": 3436,
                                                "loc": {
                                                  "start": {
                                                    "line": 72,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 72,
                                                    "column": 42
                                                  }
                                                },
                                                "name": "onMouseWheel"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 3437,
                                                "end": 3442,
                                                "loc": {
                                                  "start": {
                                                    "line": 72,
                                                    "column": 43
                                                  },
                                                  "end": {
                                                    "line": 72,
                                                    "column": 48
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 3461,
                                          "end": 3568,
                                          "loc": {
                                            "start": {
                                              "line": 73,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 73,
                                              "column": 123
                                            }
                                          },
                                          "expression": {
                                            "type": "LogicalExpression",
                                            "start": 3461,
                                            "end": 3567,
                                            "loc": {
                                              "start": {
                                                "line": 73,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 73,
                                                "column": 122
                                              }
                                            },
                                            "left": {
                                              "type": "LogicalExpression",
                                              "start": 3461,
                                              "end": 3527,
                                              "loc": {
                                                "start": {
                                                  "line": 73,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 73,
                                                  "column": 82
                                                }
                                              },
                                              "left": {
                                                "type": "LogicalExpression",
                                                "start": 3461,
                                                "end": 3489,
                                                "loc": {
                                                  "start": {
                                                    "line": 73,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 73,
                                                    "column": 44
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 3461,
                                                  "end": 3469,
                                                  "loc": {
                                                    "start": {
                                                      "line": 73,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 73,
                                                      "column": 24
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 3461,
                                                    "end": 3465,
                                                    "loc": {
                                                      "start": {
                                                        "line": 73,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 73,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3466,
                                                    "end": 3469,
                                                    "loc": {
                                                      "start": {
                                                        "line": 73,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 73,
                                                        "column": 24
                                                      }
                                                    },
                                                    "name": "hud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "&&",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 3473,
                                                  "end": 3489,
                                                  "loc": {
                                                    "start": {
                                                      "line": 73,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 73,
                                                      "column": 44
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 3473,
                                                    "end": 3477,
                                                    "loc": {
                                                      "start": {
                                                        "line": 73,
                                                        "column": 28
                                                      },
                                                      "end": {
                                                        "line": 73,
                                                        "column": 32
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3478,
                                                    "end": 3489,
                                                    "loc": {
                                                      "start": {
                                                        "line": 73,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 73,
                                                        "column": 44
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                }
                                              },
                                              "operator": "&&",
                                              "right": {
                                                "type": "BinaryExpression",
                                                "start": 3493,
                                                "end": 3527,
                                                "loc": {
                                                  "start": {
                                                    "line": 73,
                                                    "column": 48
                                                  },
                                                  "end": {
                                                    "line": 73,
                                                    "column": 82
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 3493,
                                                  "end": 3509,
                                                  "loc": {
                                                    "start": {
                                                      "line": 73,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 73,
                                                      "column": 64
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 3493,
                                                    "end": 3497,
                                                    "loc": {
                                                      "start": {
                                                        "line": 73,
                                                        "column": 48
                                                      },
                                                      "end": {
                                                        "line": 73,
                                                        "column": 52
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3498,
                                                    "end": 3509,
                                                    "loc": {
                                                      "start": {
                                                        "line": 73,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 73,
                                                        "column": 64
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "!==",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 3514,
                                                  "end": 3527,
                                                  "loc": {
                                                    "start": {
                                                      "line": 73,
                                                      "column": 69
                                                    },
                                                    "end": {
                                                      "line": 73,
                                                      "column": 82
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 3514,
                                                    "end": 3518,
                                                    "loc": {
                                                      "start": {
                                                        "line": 73,
                                                        "column": 69
                                                      },
                                                      "end": {
                                                        "line": 73,
                                                        "column": 73
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3519,
                                                    "end": 3527,
                                                    "loc": {
                                                      "start": {
                                                        "line": 73,
                                                        "column": 74
                                                      },
                                                      "end": {
                                                        "line": 73,
                                                        "column": 82
                                                      }
                                                    },
                                                    "name": "controls"
                                                  },
                                                  "computed": false
                                                }
                                              }
                                            },
                                            "operator": "&&",
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 3531,
                                              "end": 3567,
                                              "loc": {
                                                "start": {
                                                  "line": 73,
                                                  "column": 86
                                                },
                                                "end": {
                                                  "line": 73,
                                                  "column": 122
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 3531,
                                                "end": 3560,
                                                "loc": {
                                                  "start": {
                                                    "line": 73,
                                                    "column": 86
                                                  },
                                                  "end": {
                                                    "line": 73,
                                                    "column": 115
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 3531,
                                                  "end": 3547,
                                                  "loc": {
                                                    "start": {
                                                      "line": 73,
                                                      "column": 86
                                                    },
                                                    "end": {
                                                      "line": 73,
                                                      "column": 102
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 3531,
                                                    "end": 3535,
                                                    "loc": {
                                                      "start": {
                                                        "line": 73,
                                                        "column": 86
                                                      },
                                                      "end": {
                                                        "line": 73,
                                                        "column": 90
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3536,
                                                    "end": 3547,
                                                    "loc": {
                                                      "start": {
                                                        "line": 73,
                                                        "column": 91
                                                      },
                                                      "end": {
                                                        "line": 73,
                                                        "column": 102
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3548,
                                                  "end": 3560,
                                                  "loc": {
                                                    "start": {
                                                      "line": 73,
                                                      "column": 103
                                                    },
                                                    "end": {
                                                      "line": 73,
                                                      "column": 115
                                                    }
                                                  },
                                                  "name": "onMouseWheel"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 3561,
                                                  "end": 3566,
                                                  "loc": {
                                                    "start": {
                                                      "line": 73,
                                                      "column": 116
                                                    },
                                                    "end": {
                                                      "line": 73,
                                                      "column": 121
                                                    }
                                                  },
                                                  "name": "state"
                                                }
                                              ]
                                            }
                                          }
                                        }
                                      ]
                                    }
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 3596,
                                  "end": 3682,
                                  "loc": {
                                    "start": {
                                      "line": 75,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 77,
                                      "column": 13
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 3596,
                                    "end": 3604,
                                    "loc": {
                                      "start": {
                                        "line": 75,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 75,
                                        "column": 20
                                      }
                                    },
                                    "name": "mouseout"
                                  },
                                  "value": {
                                    "type": "ArrowFunctionExpression",
                                    "start": 3606,
                                    "end": 3682,
                                    "loc": {
                                      "start": {
                                        "line": 75,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 77,
                                        "column": 13
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": false,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 3606,
                                        "end": 3611,
                                        "loc": {
                                          "start": {
                                            "line": 75,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 75,
                                            "column": 27
                                          }
                                        },
                                        "name": "state"
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "start": 3615,
                                      "end": 3682,
                                      "loc": {
                                        "start": {
                                          "line": 75,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 77,
                                          "column": 13
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 3633,
                                          "end": 3668,
                                          "loc": {
                                            "start": {
                                              "line": 76,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 76,
                                              "column": 51
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 3633,
                                            "end": 3667,
                                            "loc": {
                                              "start": {
                                                "line": 76,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 76,
                                                "column": 50
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 3633,
                                              "end": 3660,
                                              "loc": {
                                                "start": {
                                                  "line": 76,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 76,
                                                  "column": 43
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 3633,
                                                "end": 3649,
                                                "loc": {
                                                  "start": {
                                                    "line": 76,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 76,
                                                    "column": 32
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 3633,
                                                  "end": 3637,
                                                  "loc": {
                                                    "start": {
                                                      "line": 76,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 76,
                                                      "column": 20
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3638,
                                                  "end": 3649,
                                                  "loc": {
                                                    "start": {
                                                      "line": 76,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 76,
                                                      "column": 32
                                                    }
                                                  },
                                                  "name": "interaction"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3650,
                                                "end": 3660,
                                                "loc": {
                                                  "start": {
                                                    "line": 76,
                                                    "column": 33
                                                  },
                                                  "end": {
                                                    "line": 76,
                                                    "column": 43
                                                  }
                                                },
                                                "name": "onMouseOut"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 3661,
                                                "end": 3666,
                                                "loc": {
                                                  "start": {
                                                    "line": 76,
                                                    "column": 44
                                                  },
                                                  "end": {
                                                    "line": 76,
                                                    "column": 49
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ]
                                          }
                                        }
                                      ]
                                    }
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 3696,
                                  "end": 4007,
                                  "loc": {
                                    "start": {
                                      "line": 78,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 82,
                                      "column": 13
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 3696,
                                    "end": 3705,
                                    "loc": {
                                      "start": {
                                        "line": 78,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 78,
                                        "column": 21
                                      }
                                    },
                                    "name": "mousemove"
                                  },
                                  "value": {
                                    "type": "ArrowFunctionExpression",
                                    "start": 3707,
                                    "end": 4007,
                                    "loc": {
                                      "start": {
                                        "line": 78,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 82,
                                        "column": 13
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": false,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 3707,
                                        "end": 3712,
                                        "loc": {
                                          "start": {
                                            "line": 78,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 78,
                                            "column": 28
                                          }
                                        },
                                        "name": "state"
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "start": 3716,
                                      "end": 4007,
                                      "loc": {
                                        "start": {
                                          "line": 78,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 82,
                                          "column": 13
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 3734,
                                          "end": 3770,
                                          "loc": {
                                            "start": {
                                              "line": 79,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 79,
                                              "column": 52
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 3734,
                                            "end": 3769,
                                            "loc": {
                                              "start": {
                                                "line": 79,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 79,
                                                "column": 51
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 3734,
                                              "end": 3762,
                                              "loc": {
                                                "start": {
                                                  "line": 79,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 79,
                                                  "column": 44
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 3734,
                                                "end": 3750,
                                                "loc": {
                                                  "start": {
                                                    "line": 79,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 79,
                                                    "column": 32
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 3734,
                                                  "end": 3738,
                                                  "loc": {
                                                    "start": {
                                                      "line": 79,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 79,
                                                      "column": 20
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3739,
                                                  "end": 3750,
                                                  "loc": {
                                                    "start": {
                                                      "line": 79,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 79,
                                                      "column": 32
                                                    }
                                                  },
                                                  "name": "interaction"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3751,
                                                "end": 3762,
                                                "loc": {
                                                  "start": {
                                                    "line": 79,
                                                    "column": 33
                                                  },
                                                  "end": {
                                                    "line": 79,
                                                    "column": 44
                                                  }
                                                },
                                                "name": "onMouseMove"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 3763,
                                                "end": 3768,
                                                "loc": {
                                                  "start": {
                                                    "line": 79,
                                                    "column": 45
                                                  },
                                                  "end": {
                                                    "line": 79,
                                                    "column": 50
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 3787,
                                          "end": 3845,
                                          "loc": {
                                            "start": {
                                              "line": 80,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 80,
                                              "column": 74
                                            }
                                          },
                                          "expression": {
                                            "type": "LogicalExpression",
                                            "start": 3787,
                                            "end": 3844,
                                            "loc": {
                                              "start": {
                                                "line": 80,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 80,
                                                "column": 73
                                              }
                                            },
                                            "left": {
                                              "type": "MemberExpression",
                                              "start": 3787,
                                              "end": 3808,
                                              "loc": {
                                                "start": {
                                                  "line": 80,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 80,
                                                  "column": 37
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 3787,
                                                "end": 3803,
                                                "loc": {
                                                  "start": {
                                                    "line": 80,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 80,
                                                    "column": 32
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 3787,
                                                  "end": 3797,
                                                  "loc": {
                                                    "start": {
                                                      "line": 80,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 80,
                                                      "column": 26
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 3787,
                                                    "end": 3791,
                                                    "loc": {
                                                      "start": {
                                                        "line": 80,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 80,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3792,
                                                    "end": 3797,
                                                    "loc": {
                                                      "start": {
                                                        "line": 80,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 80,
                                                        "column": 26
                                                      }
                                                    },
                                                    "name": "input"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3798,
                                                  "end": 3803,
                                                  "loc": {
                                                    "start": {
                                                      "line": 80,
                                                      "column": 27
                                                    },
                                                    "end": {
                                                      "line": 80,
                                                      "column": 32
                                                    }
                                                  },
                                                  "name": "mouse"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3804,
                                                "end": 3808,
                                                "loc": {
                                                  "start": {
                                                    "line": 80,
                                                    "column": 33
                                                  },
                                                  "end": {
                                                    "line": 80,
                                                    "column": 37
                                                  }
                                                },
                                                "name": "down"
                                              },
                                              "computed": false
                                            },
                                            "operator": "&&",
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 3812,
                                              "end": 3844,
                                              "loc": {
                                                "start": {
                                                  "line": 80,
                                                  "column": 41
                                                },
                                                "end": {
                                                  "line": 80,
                                                  "column": 73
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 3812,
                                                "end": 3837,
                                                "loc": {
                                                  "start": {
                                                    "line": 80,
                                                    "column": 41
                                                  },
                                                  "end": {
                                                    "line": 80,
                                                    "column": 66
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 3812,
                                                  "end": 3825,
                                                  "loc": {
                                                    "start": {
                                                      "line": 80,
                                                      "column": 41
                                                    },
                                                    "end": {
                                                      "line": 80,
                                                      "column": 54
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 3812,
                                                    "end": 3816,
                                                    "loc": {
                                                      "start": {
                                                        "line": 80,
                                                        "column": 41
                                                      },
                                                      "end": {
                                                        "line": 80,
                                                        "column": 45
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3817,
                                                    "end": 3825,
                                                    "loc": {
                                                      "start": {
                                                        "line": 80,
                                                        "column": 46
                                                      },
                                                      "end": {
                                                        "line": 80,
                                                        "column": 54
                                                      }
                                                    },
                                                    "name": "controls"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3826,
                                                  "end": 3837,
                                                  "loc": {
                                                    "start": {
                                                      "line": 80,
                                                      "column": 55
                                                    },
                                                    "end": {
                                                      "line": 80,
                                                      "column": 66
                                                    }
                                                  },
                                                  "name": "onMouseMove"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 3838,
                                                  "end": 3843,
                                                  "loc": {
                                                    "start": {
                                                      "line": 80,
                                                      "column": 67
                                                    },
                                                    "end": {
                                                      "line": 80,
                                                      "column": 72
                                                    }
                                                  },
                                                  "name": "state"
                                                }
                                              ]
                                            }
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 3862,
                                          "end": 3993,
                                          "loc": {
                                            "start": {
                                              "line": 81,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 81,
                                              "column": 147
                                            }
                                          },
                                          "expression": {
                                            "type": "LogicalExpression",
                                            "start": 3862,
                                            "end": 3992,
                                            "loc": {
                                              "start": {
                                                "line": 81,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 81,
                                                "column": 146
                                              }
                                            },
                                            "left": {
                                              "type": "LogicalExpression",
                                              "start": 3862,
                                              "end": 3953,
                                              "loc": {
                                                "start": {
                                                  "line": 81,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 81,
                                                  "column": 107
                                                }
                                              },
                                              "left": {
                                                "type": "LogicalExpression",
                                                "start": 3862,
                                                "end": 3915,
                                                "loc": {
                                                  "start": {
                                                    "line": 81,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 81,
                                                    "column": 69
                                                  }
                                                },
                                                "left": {
                                                  "type": "LogicalExpression",
                                                  "start": 3862,
                                                  "end": 3895,
                                                  "loc": {
                                                    "start": {
                                                      "line": 81,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 81,
                                                      "column": 49
                                                    }
                                                  },
                                                  "left": {
                                                    "type": "MemberExpression",
                                                    "start": 3862,
                                                    "end": 3883,
                                                    "loc": {
                                                      "start": {
                                                        "line": 81,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 81,
                                                        "column": 37
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "MemberExpression",
                                                      "start": 3862,
                                                      "end": 3878,
                                                      "loc": {
                                                        "start": {
                                                          "line": 81,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 81,
                                                          "column": 32
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "MemberExpression",
                                                        "start": 3862,
                                                        "end": 3872,
                                                        "loc": {
                                                          "start": {
                                                            "line": 81,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 81,
                                                            "column": 26
                                                          }
                                                        },
                                                        "object": {
                                                          "type": "ThisExpression",
                                                          "start": 3862,
                                                          "end": 3866,
                                                          "loc": {
                                                            "start": {
                                                              "line": 81,
                                                              "column": 16
                                                            },
                                                            "end": {
                                                              "line": 81,
                                                              "column": 20
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "start": 3867,
                                                          "end": 3872,
                                                          "loc": {
                                                            "start": {
                                                              "line": 81,
                                                              "column": 21
                                                            },
                                                            "end": {
                                                              "line": 81,
                                                              "column": 26
                                                            }
                                                          },
                                                          "name": "input"
                                                        },
                                                        "computed": false
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 3873,
                                                        "end": 3878,
                                                        "loc": {
                                                          "start": {
                                                            "line": 81,
                                                            "column": 27
                                                          },
                                                          "end": {
                                                            "line": 81,
                                                            "column": 32
                                                          }
                                                        },
                                                        "name": "mouse"
                                                      },
                                                      "computed": false
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 3879,
                                                      "end": 3883,
                                                      "loc": {
                                                        "start": {
                                                          "line": 81,
                                                          "column": 33
                                                        },
                                                        "end": {
                                                          "line": 81,
                                                          "column": 37
                                                        }
                                                      },
                                                      "name": "down"
                                                    },
                                                    "computed": false
                                                  },
                                                  "operator": "&&",
                                                  "right": {
                                                    "type": "MemberExpression",
                                                    "start": 3887,
                                                    "end": 3895,
                                                    "loc": {
                                                      "start": {
                                                        "line": 81,
                                                        "column": 41
                                                      },
                                                      "end": {
                                                        "line": 81,
                                                        "column": 49
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "start": 3887,
                                                      "end": 3891,
                                                      "loc": {
                                                        "start": {
                                                          "line": 81,
                                                          "column": 41
                                                        },
                                                        "end": {
                                                          "line": 81,
                                                          "column": 45
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 3892,
                                                      "end": 3895,
                                                      "loc": {
                                                        "start": {
                                                          "line": 81,
                                                          "column": 46
                                                        },
                                                        "end": {
                                                          "line": 81,
                                                          "column": 49
                                                        }
                                                      },
                                                      "name": "hud"
                                                    },
                                                    "computed": false
                                                  }
                                                },
                                                "operator": "&&",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 3899,
                                                  "end": 3915,
                                                  "loc": {
                                                    "start": {
                                                      "line": 81,
                                                      "column": 53
                                                    },
                                                    "end": {
                                                      "line": 81,
                                                      "column": 69
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 3899,
                                                    "end": 3903,
                                                    "loc": {
                                                      "start": {
                                                        "line": 81,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 81,
                                                        "column": 57
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3904,
                                                    "end": 3915,
                                                    "loc": {
                                                      "start": {
                                                        "line": 81,
                                                        "column": 58
                                                      },
                                                      "end": {
                                                        "line": 81,
                                                        "column": 69
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                }
                                              },
                                              "operator": "&&",
                                              "right": {
                                                "type": "BinaryExpression",
                                                "start": 3919,
                                                "end": 3953,
                                                "loc": {
                                                  "start": {
                                                    "line": 81,
                                                    "column": 73
                                                  },
                                                  "end": {
                                                    "line": 81,
                                                    "column": 107
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 3919,
                                                  "end": 3935,
                                                  "loc": {
                                                    "start": {
                                                      "line": 81,
                                                      "column": 73
                                                    },
                                                    "end": {
                                                      "line": 81,
                                                      "column": 89
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 3919,
                                                    "end": 3923,
                                                    "loc": {
                                                      "start": {
                                                        "line": 81,
                                                        "column": 73
                                                      },
                                                      "end": {
                                                        "line": 81,
                                                        "column": 77
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3924,
                                                    "end": 3935,
                                                    "loc": {
                                                      "start": {
                                                        "line": 81,
                                                        "column": 78
                                                      },
                                                      "end": {
                                                        "line": 81,
                                                        "column": 89
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "!==",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 3940,
                                                  "end": 3953,
                                                  "loc": {
                                                    "start": {
                                                      "line": 81,
                                                      "column": 94
                                                    },
                                                    "end": {
                                                      "line": 81,
                                                      "column": 107
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 3940,
                                                    "end": 3944,
                                                    "loc": {
                                                      "start": {
                                                        "line": 81,
                                                        "column": 94
                                                      },
                                                      "end": {
                                                        "line": 81,
                                                        "column": 98
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3945,
                                                    "end": 3953,
                                                    "loc": {
                                                      "start": {
                                                        "line": 81,
                                                        "column": 99
                                                      },
                                                      "end": {
                                                        "line": 81,
                                                        "column": 107
                                                      }
                                                    },
                                                    "name": "controls"
                                                  },
                                                  "computed": false
                                                }
                                              }
                                            },
                                            "operator": "&&",
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 3957,
                                              "end": 3992,
                                              "loc": {
                                                "start": {
                                                  "line": 81,
                                                  "column": 111
                                                },
                                                "end": {
                                                  "line": 81,
                                                  "column": 146
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 3957,
                                                "end": 3985,
                                                "loc": {
                                                  "start": {
                                                    "line": 81,
                                                    "column": 111
                                                  },
                                                  "end": {
                                                    "line": 81,
                                                    "column": 139
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 3957,
                                                  "end": 3973,
                                                  "loc": {
                                                    "start": {
                                                      "line": 81,
                                                      "column": 111
                                                    },
                                                    "end": {
                                                      "line": 81,
                                                      "column": 127
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 3957,
                                                    "end": 3961,
                                                    "loc": {
                                                      "start": {
                                                        "line": 81,
                                                        "column": 111
                                                      },
                                                      "end": {
                                                        "line": 81,
                                                        "column": 115
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3962,
                                                    "end": 3973,
                                                    "loc": {
                                                      "start": {
                                                        "line": 81,
                                                        "column": 116
                                                      },
                                                      "end": {
                                                        "line": 81,
                                                        "column": 127
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3974,
                                                  "end": 3985,
                                                  "loc": {
                                                    "start": {
                                                      "line": 81,
                                                      "column": 128
                                                    },
                                                    "end": {
                                                      "line": 81,
                                                      "column": 139
                                                    }
                                                  },
                                                  "name": "onMouseMove"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 3986,
                                                  "end": 3991,
                                                  "loc": {
                                                    "start": {
                                                      "line": 81,
                                                      "column": 140
                                                    },
                                                    "end": {
                                                      "line": 81,
                                                      "column": 145
                                                    }
                                                  },
                                                  "name": "state"
                                                }
                                              ]
                                            }
                                          }
                                        }
                                      ]
                                    }
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 4021,
                                  "end": 4282,
                                  "loc": {
                                    "start": {
                                      "line": 83,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 87,
                                      "column": 13
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 4021,
                                    "end": 4030,
                                    "loc": {
                                      "start": {
                                        "line": 83,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 83,
                                        "column": 21
                                      }
                                    },
                                    "name": "mousedown"
                                  },
                                  "value": {
                                    "type": "ArrowFunctionExpression",
                                    "start": 4032,
                                    "end": 4282,
                                    "loc": {
                                      "start": {
                                        "line": 83,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 87,
                                        "column": 13
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": false,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 4032,
                                        "end": 4037,
                                        "loc": {
                                          "start": {
                                            "line": 83,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 83,
                                            "column": 28
                                          }
                                        },
                                        "name": "state"
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "start": 4041,
                                      "end": 4282,
                                      "loc": {
                                        "start": {
                                          "line": 83,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 87,
                                          "column": 13
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4059,
                                          "end": 4095,
                                          "loc": {
                                            "start": {
                                              "line": 84,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 84,
                                              "column": 52
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 4059,
                                            "end": 4094,
                                            "loc": {
                                              "start": {
                                                "line": 84,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 84,
                                                "column": 51
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 4059,
                                              "end": 4087,
                                              "loc": {
                                                "start": {
                                                  "line": 84,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 84,
                                                  "column": 44
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 4059,
                                                "end": 4075,
                                                "loc": {
                                                  "start": {
                                                    "line": 84,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 84,
                                                    "column": 32
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 4059,
                                                  "end": 4063,
                                                  "loc": {
                                                    "start": {
                                                      "line": 84,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 84,
                                                      "column": 20
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4064,
                                                  "end": 4075,
                                                  "loc": {
                                                    "start": {
                                                      "line": 84,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 84,
                                                      "column": 32
                                                    }
                                                  },
                                                  "name": "interaction"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4076,
                                                "end": 4087,
                                                "loc": {
                                                  "start": {
                                                    "line": 84,
                                                    "column": 33
                                                  },
                                                  "end": {
                                                    "line": 84,
                                                    "column": 44
                                                  }
                                                },
                                                "name": "onMouseDown"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 4088,
                                                "end": 4093,
                                                "loc": {
                                                  "start": {
                                                    "line": 84,
                                                    "column": 45
                                                  },
                                                  "end": {
                                                    "line": 84,
                                                    "column": 50
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4112,
                                          "end": 4145,
                                          "loc": {
                                            "start": {
                                              "line": 85,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 85,
                                              "column": 49
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 4112,
                                            "end": 4144,
                                            "loc": {
                                              "start": {
                                                "line": 85,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 85,
                                                "column": 48
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 4112,
                                              "end": 4137,
                                              "loc": {
                                                "start": {
                                                  "line": 85,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 85,
                                                  "column": 41
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 4112,
                                                "end": 4125,
                                                "loc": {
                                                  "start": {
                                                    "line": 85,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 85,
                                                    "column": 29
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 4112,
                                                  "end": 4116,
                                                  "loc": {
                                                    "start": {
                                                      "line": 85,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 85,
                                                      "column": 20
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4117,
                                                  "end": 4125,
                                                  "loc": {
                                                    "start": {
                                                      "line": 85,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 85,
                                                      "column": 29
                                                    }
                                                  },
                                                  "name": "controls"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4126,
                                                "end": 4137,
                                                "loc": {
                                                  "start": {
                                                    "line": 85,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 85,
                                                    "column": 41
                                                  }
                                                },
                                                "name": "onMouseDown"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 4138,
                                                "end": 4143,
                                                "loc": {
                                                  "start": {
                                                    "line": 85,
                                                    "column": 42
                                                  },
                                                  "end": {
                                                    "line": 85,
                                                    "column": 47
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4162,
                                          "end": 4268,
                                          "loc": {
                                            "start": {
                                              "line": 86,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 86,
                                              "column": 122
                                            }
                                          },
                                          "expression": {
                                            "type": "LogicalExpression",
                                            "start": 4162,
                                            "end": 4267,
                                            "loc": {
                                              "start": {
                                                "line": 86,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 86,
                                                "column": 121
                                              }
                                            },
                                            "left": {
                                              "type": "LogicalExpression",
                                              "start": 4162,
                                              "end": 4228,
                                              "loc": {
                                                "start": {
                                                  "line": 86,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 86,
                                                  "column": 82
                                                }
                                              },
                                              "left": {
                                                "type": "LogicalExpression",
                                                "start": 4162,
                                                "end": 4190,
                                                "loc": {
                                                  "start": {
                                                    "line": 86,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 86,
                                                    "column": 44
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 4162,
                                                  "end": 4170,
                                                  "loc": {
                                                    "start": {
                                                      "line": 86,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 86,
                                                      "column": 24
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4162,
                                                    "end": 4166,
                                                    "loc": {
                                                      "start": {
                                                        "line": 86,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 86,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4167,
                                                    "end": 4170,
                                                    "loc": {
                                                      "start": {
                                                        "line": 86,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 86,
                                                        "column": 24
                                                      }
                                                    },
                                                    "name": "hud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "&&",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 4174,
                                                  "end": 4190,
                                                  "loc": {
                                                    "start": {
                                                      "line": 86,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 86,
                                                      "column": 44
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4174,
                                                    "end": 4178,
                                                    "loc": {
                                                      "start": {
                                                        "line": 86,
                                                        "column": 28
                                                      },
                                                      "end": {
                                                        "line": 86,
                                                        "column": 32
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4179,
                                                    "end": 4190,
                                                    "loc": {
                                                      "start": {
                                                        "line": 86,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 86,
                                                        "column": 44
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                }
                                              },
                                              "operator": "&&",
                                              "right": {
                                                "type": "BinaryExpression",
                                                "start": 4194,
                                                "end": 4228,
                                                "loc": {
                                                  "start": {
                                                    "line": 86,
                                                    "column": 48
                                                  },
                                                  "end": {
                                                    "line": 86,
                                                    "column": 82
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 4194,
                                                  "end": 4210,
                                                  "loc": {
                                                    "start": {
                                                      "line": 86,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 86,
                                                      "column": 64
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4194,
                                                    "end": 4198,
                                                    "loc": {
                                                      "start": {
                                                        "line": 86,
                                                        "column": 48
                                                      },
                                                      "end": {
                                                        "line": 86,
                                                        "column": 52
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4199,
                                                    "end": 4210,
                                                    "loc": {
                                                      "start": {
                                                        "line": 86,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 86,
                                                        "column": 64
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "!==",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 4215,
                                                  "end": 4228,
                                                  "loc": {
                                                    "start": {
                                                      "line": 86,
                                                      "column": 69
                                                    },
                                                    "end": {
                                                      "line": 86,
                                                      "column": 82
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4215,
                                                    "end": 4219,
                                                    "loc": {
                                                      "start": {
                                                        "line": 86,
                                                        "column": 69
                                                      },
                                                      "end": {
                                                        "line": 86,
                                                        "column": 73
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4220,
                                                    "end": 4228,
                                                    "loc": {
                                                      "start": {
                                                        "line": 86,
                                                        "column": 74
                                                      },
                                                      "end": {
                                                        "line": 86,
                                                        "column": 82
                                                      }
                                                    },
                                                    "name": "controls"
                                                  },
                                                  "computed": false
                                                }
                                              }
                                            },
                                            "operator": "&&",
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 4232,
                                              "end": 4267,
                                              "loc": {
                                                "start": {
                                                  "line": 86,
                                                  "column": 86
                                                },
                                                "end": {
                                                  "line": 86,
                                                  "column": 121
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 4232,
                                                "end": 4260,
                                                "loc": {
                                                  "start": {
                                                    "line": 86,
                                                    "column": 86
                                                  },
                                                  "end": {
                                                    "line": 86,
                                                    "column": 114
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 4232,
                                                  "end": 4248,
                                                  "loc": {
                                                    "start": {
                                                      "line": 86,
                                                      "column": 86
                                                    },
                                                    "end": {
                                                      "line": 86,
                                                      "column": 102
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4232,
                                                    "end": 4236,
                                                    "loc": {
                                                      "start": {
                                                        "line": 86,
                                                        "column": 86
                                                      },
                                                      "end": {
                                                        "line": 86,
                                                        "column": 90
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4237,
                                                    "end": 4248,
                                                    "loc": {
                                                      "start": {
                                                        "line": 86,
                                                        "column": 91
                                                      },
                                                      "end": {
                                                        "line": 86,
                                                        "column": 102
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4249,
                                                  "end": 4260,
                                                  "loc": {
                                                    "start": {
                                                      "line": 86,
                                                      "column": 103
                                                    },
                                                    "end": {
                                                      "line": 86,
                                                      "column": 114
                                                    }
                                                  },
                                                  "name": "onMouseDown"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 4261,
                                                  "end": 4266,
                                                  "loc": {
                                                    "start": {
                                                      "line": 86,
                                                      "column": 115
                                                    },
                                                    "end": {
                                                      "line": 86,
                                                      "column": 120
                                                    }
                                                  },
                                                  "name": "state"
                                                }
                                              ]
                                            }
                                          }
                                        }
                                      ]
                                    }
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 4296,
                                  "end": 4549,
                                  "loc": {
                                    "start": {
                                      "line": 88,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 92,
                                      "column": 13
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 4296,
                                    "end": 4303,
                                    "loc": {
                                      "start": {
                                        "line": 88,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 88,
                                        "column": 19
                                      }
                                    },
                                    "name": "mouseup"
                                  },
                                  "value": {
                                    "type": "ArrowFunctionExpression",
                                    "start": 4305,
                                    "end": 4549,
                                    "loc": {
                                      "start": {
                                        "line": 88,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 92,
                                        "column": 13
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": false,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 4305,
                                        "end": 4310,
                                        "loc": {
                                          "start": {
                                            "line": 88,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 88,
                                            "column": 26
                                          }
                                        },
                                        "name": "state"
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "start": 4314,
                                      "end": 4549,
                                      "loc": {
                                        "start": {
                                          "line": 88,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 92,
                                          "column": 13
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4332,
                                          "end": 4366,
                                          "loc": {
                                            "start": {
                                              "line": 89,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 89,
                                              "column": 50
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 4332,
                                            "end": 4365,
                                            "loc": {
                                              "start": {
                                                "line": 89,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 89,
                                                "column": 49
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 4332,
                                              "end": 4358,
                                              "loc": {
                                                "start": {
                                                  "line": 89,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 89,
                                                  "column": 42
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 4332,
                                                "end": 4348,
                                                "loc": {
                                                  "start": {
                                                    "line": 89,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 89,
                                                    "column": 32
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 4332,
                                                  "end": 4336,
                                                  "loc": {
                                                    "start": {
                                                      "line": 89,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 89,
                                                      "column": 20
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4337,
                                                  "end": 4348,
                                                  "loc": {
                                                    "start": {
                                                      "line": 89,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 89,
                                                      "column": 32
                                                    }
                                                  },
                                                  "name": "interaction"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4349,
                                                "end": 4358,
                                                "loc": {
                                                  "start": {
                                                    "line": 89,
                                                    "column": 33
                                                  },
                                                  "end": {
                                                    "line": 89,
                                                    "column": 42
                                                  }
                                                },
                                                "name": "onMouseUp"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 4359,
                                                "end": 4364,
                                                "loc": {
                                                  "start": {
                                                    "line": 89,
                                                    "column": 43
                                                  },
                                                  "end": {
                                                    "line": 89,
                                                    "column": 48
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4383,
                                          "end": 4414,
                                          "loc": {
                                            "start": {
                                              "line": 90,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 90,
                                              "column": 47
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 4383,
                                            "end": 4413,
                                            "loc": {
                                              "start": {
                                                "line": 90,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 90,
                                                "column": 46
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 4383,
                                              "end": 4406,
                                              "loc": {
                                                "start": {
                                                  "line": 90,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 90,
                                                  "column": 39
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 4383,
                                                "end": 4396,
                                                "loc": {
                                                  "start": {
                                                    "line": 90,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 90,
                                                    "column": 29
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 4383,
                                                  "end": 4387,
                                                  "loc": {
                                                    "start": {
                                                      "line": 90,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 90,
                                                      "column": 20
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4388,
                                                  "end": 4396,
                                                  "loc": {
                                                    "start": {
                                                      "line": 90,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 90,
                                                      "column": 29
                                                    }
                                                  },
                                                  "name": "controls"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4397,
                                                "end": 4406,
                                                "loc": {
                                                  "start": {
                                                    "line": 90,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 90,
                                                    "column": 39
                                                  }
                                                },
                                                "name": "onMouseUp"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 4407,
                                                "end": 4412,
                                                "loc": {
                                                  "start": {
                                                    "line": 90,
                                                    "column": 40
                                                  },
                                                  "end": {
                                                    "line": 90,
                                                    "column": 45
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4431,
                                          "end": 4535,
                                          "loc": {
                                            "start": {
                                              "line": 91,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 91,
                                              "column": 120
                                            }
                                          },
                                          "expression": {
                                            "type": "LogicalExpression",
                                            "start": 4431,
                                            "end": 4534,
                                            "loc": {
                                              "start": {
                                                "line": 91,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 91,
                                                "column": 119
                                              }
                                            },
                                            "left": {
                                              "type": "LogicalExpression",
                                              "start": 4431,
                                              "end": 4497,
                                              "loc": {
                                                "start": {
                                                  "line": 91,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 91,
                                                  "column": 82
                                                }
                                              },
                                              "left": {
                                                "type": "LogicalExpression",
                                                "start": 4431,
                                                "end": 4459,
                                                "loc": {
                                                  "start": {
                                                    "line": 91,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 91,
                                                    "column": 44
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 4431,
                                                  "end": 4439,
                                                  "loc": {
                                                    "start": {
                                                      "line": 91,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 91,
                                                      "column": 24
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4431,
                                                    "end": 4435,
                                                    "loc": {
                                                      "start": {
                                                        "line": 91,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 91,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4436,
                                                    "end": 4439,
                                                    "loc": {
                                                      "start": {
                                                        "line": 91,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 91,
                                                        "column": 24
                                                      }
                                                    },
                                                    "name": "hud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "&&",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 4443,
                                                  "end": 4459,
                                                  "loc": {
                                                    "start": {
                                                      "line": 91,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 91,
                                                      "column": 44
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4443,
                                                    "end": 4447,
                                                    "loc": {
                                                      "start": {
                                                        "line": 91,
                                                        "column": 28
                                                      },
                                                      "end": {
                                                        "line": 91,
                                                        "column": 32
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4448,
                                                    "end": 4459,
                                                    "loc": {
                                                      "start": {
                                                        "line": 91,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 91,
                                                        "column": 44
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                }
                                              },
                                              "operator": "&&",
                                              "right": {
                                                "type": "BinaryExpression",
                                                "start": 4463,
                                                "end": 4497,
                                                "loc": {
                                                  "start": {
                                                    "line": 91,
                                                    "column": 48
                                                  },
                                                  "end": {
                                                    "line": 91,
                                                    "column": 82
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 4463,
                                                  "end": 4479,
                                                  "loc": {
                                                    "start": {
                                                      "line": 91,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 91,
                                                      "column": 64
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4463,
                                                    "end": 4467,
                                                    "loc": {
                                                      "start": {
                                                        "line": 91,
                                                        "column": 48
                                                      },
                                                      "end": {
                                                        "line": 91,
                                                        "column": 52
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4468,
                                                    "end": 4479,
                                                    "loc": {
                                                      "start": {
                                                        "line": 91,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 91,
                                                        "column": 64
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "!==",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 4484,
                                                  "end": 4497,
                                                  "loc": {
                                                    "start": {
                                                      "line": 91,
                                                      "column": 69
                                                    },
                                                    "end": {
                                                      "line": 91,
                                                      "column": 82
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4484,
                                                    "end": 4488,
                                                    "loc": {
                                                      "start": {
                                                        "line": 91,
                                                        "column": 69
                                                      },
                                                      "end": {
                                                        "line": 91,
                                                        "column": 73
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4489,
                                                    "end": 4497,
                                                    "loc": {
                                                      "start": {
                                                        "line": 91,
                                                        "column": 74
                                                      },
                                                      "end": {
                                                        "line": 91,
                                                        "column": 82
                                                      }
                                                    },
                                                    "name": "controls"
                                                  },
                                                  "computed": false
                                                }
                                              }
                                            },
                                            "operator": "&&",
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 4501,
                                              "end": 4534,
                                              "loc": {
                                                "start": {
                                                  "line": 91,
                                                  "column": 86
                                                },
                                                "end": {
                                                  "line": 91,
                                                  "column": 119
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 4501,
                                                "end": 4527,
                                                "loc": {
                                                  "start": {
                                                    "line": 91,
                                                    "column": 86
                                                  },
                                                  "end": {
                                                    "line": 91,
                                                    "column": 112
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 4501,
                                                  "end": 4517,
                                                  "loc": {
                                                    "start": {
                                                      "line": 91,
                                                      "column": 86
                                                    },
                                                    "end": {
                                                      "line": 91,
                                                      "column": 102
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4501,
                                                    "end": 4505,
                                                    "loc": {
                                                      "start": {
                                                        "line": 91,
                                                        "column": 86
                                                      },
                                                      "end": {
                                                        "line": 91,
                                                        "column": 90
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4506,
                                                    "end": 4517,
                                                    "loc": {
                                                      "start": {
                                                        "line": 91,
                                                        "column": 91
                                                      },
                                                      "end": {
                                                        "line": 91,
                                                        "column": 102
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4518,
                                                  "end": 4527,
                                                  "loc": {
                                                    "start": {
                                                      "line": 91,
                                                      "column": 103
                                                    },
                                                    "end": {
                                                      "line": 91,
                                                      "column": 112
                                                    }
                                                  },
                                                  "name": "onMouseUp"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 4528,
                                                  "end": 4533,
                                                  "loc": {
                                                    "start": {
                                                      "line": 91,
                                                      "column": 113
                                                    },
                                                    "end": {
                                                      "line": 91,
                                                      "column": 118
                                                    }
                                                  },
                                                  "name": "state"
                                                }
                                              ]
                                            }
                                          }
                                        }
                                      ]
                                    }
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 4563,
                                  "end": 4850,
                                  "loc": {
                                    "start": {
                                      "line": 93,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 97,
                                      "column": 13
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 4563,
                                    "end": 4573,
                                    "loc": {
                                      "start": {
                                        "line": 93,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 93,
                                        "column": 22
                                      }
                                    },
                                    "name": "touchstart"
                                  },
                                  "value": {
                                    "type": "ArrowFunctionExpression",
                                    "start": 4575,
                                    "end": 4850,
                                    "loc": {
                                      "start": {
                                        "line": 93,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 97,
                                        "column": 13
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": false,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 4575,
                                        "end": 4580,
                                        "loc": {
                                          "start": {
                                            "line": 93,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 93,
                                            "column": 29
                                          }
                                        },
                                        "name": "state"
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "start": 4584,
                                      "end": 4850,
                                      "loc": {
                                        "start": {
                                          "line": 93,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 97,
                                          "column": 13
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4678,
                                          "end": 4712,
                                          "loc": {
                                            "start": {
                                              "line": 95,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 95,
                                              "column": 50
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 4678,
                                            "end": 4711,
                                            "loc": {
                                              "start": {
                                                "line": 95,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 95,
                                                "column": 49
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 4678,
                                              "end": 4704,
                                              "loc": {
                                                "start": {
                                                  "line": 95,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 95,
                                                  "column": 42
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 4678,
                                                "end": 4691,
                                                "loc": {
                                                  "start": {
                                                    "line": 95,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 95,
                                                    "column": 29
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 4678,
                                                  "end": 4682,
                                                  "loc": {
                                                    "start": {
                                                      "line": 95,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 95,
                                                      "column": 20
                                                    }
                                                  },
                                                  "leadingComments": null
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4683,
                                                  "end": 4691,
                                                  "loc": {
                                                    "start": {
                                                      "line": 95,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 95,
                                                      "column": 29
                                                    }
                                                  },
                                                  "name": "controls"
                                                },
                                                "computed": false,
                                                "leadingComments": null
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4692,
                                                "end": 4704,
                                                "loc": {
                                                  "start": {
                                                    "line": 95,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 95,
                                                    "column": 42
                                                  }
                                                },
                                                "name": "onTouchStart"
                                              },
                                              "computed": false,
                                              "leadingComments": null
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 4705,
                                                "end": 4710,
                                                "loc": {
                                                  "start": {
                                                    "line": 95,
                                                    "column": 43
                                                  },
                                                  "end": {
                                                    "line": 95,
                                                    "column": 48
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ],
                                            "leadingComments": null
                                          },
                                          "leadingComments": [
                                            {
                                              "type": "CommentLine",
                                              "value": "this.interactive && this.interaction.onTouchStart(state);",
                                              "start": 4602,
                                              "end": 4661,
                                              "loc": {
                                                "start": {
                                                  "line": 94,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 94,
                                                  "column": 75
                                                }
                                              },
                                              "range": [
                                                4602,
                                                4661
                                              ]
                                            }
                                          ]
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4729,
                                          "end": 4836,
                                          "loc": {
                                            "start": {
                                              "line": 96,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 96,
                                              "column": 123
                                            }
                                          },
                                          "expression": {
                                            "type": "LogicalExpression",
                                            "start": 4729,
                                            "end": 4835,
                                            "loc": {
                                              "start": {
                                                "line": 96,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 96,
                                                "column": 122
                                              }
                                            },
                                            "left": {
                                              "type": "LogicalExpression",
                                              "start": 4729,
                                              "end": 4795,
                                              "loc": {
                                                "start": {
                                                  "line": 96,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 96,
                                                  "column": 82
                                                }
                                              },
                                              "left": {
                                                "type": "LogicalExpression",
                                                "start": 4729,
                                                "end": 4757,
                                                "loc": {
                                                  "start": {
                                                    "line": 96,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 96,
                                                    "column": 44
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 4729,
                                                  "end": 4737,
                                                  "loc": {
                                                    "start": {
                                                      "line": 96,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 96,
                                                      "column": 24
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4729,
                                                    "end": 4733,
                                                    "loc": {
                                                      "start": {
                                                        "line": 96,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 96,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4734,
                                                    "end": 4737,
                                                    "loc": {
                                                      "start": {
                                                        "line": 96,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 96,
                                                        "column": 24
                                                      }
                                                    },
                                                    "name": "hud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "&&",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 4741,
                                                  "end": 4757,
                                                  "loc": {
                                                    "start": {
                                                      "line": 96,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 96,
                                                      "column": 44
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4741,
                                                    "end": 4745,
                                                    "loc": {
                                                      "start": {
                                                        "line": 96,
                                                        "column": 28
                                                      },
                                                      "end": {
                                                        "line": 96,
                                                        "column": 32
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4746,
                                                    "end": 4757,
                                                    "loc": {
                                                      "start": {
                                                        "line": 96,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 96,
                                                        "column": 44
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                }
                                              },
                                              "operator": "&&",
                                              "right": {
                                                "type": "BinaryExpression",
                                                "start": 4761,
                                                "end": 4795,
                                                "loc": {
                                                  "start": {
                                                    "line": 96,
                                                    "column": 48
                                                  },
                                                  "end": {
                                                    "line": 96,
                                                    "column": 82
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 4761,
                                                  "end": 4777,
                                                  "loc": {
                                                    "start": {
                                                      "line": 96,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 96,
                                                      "column": 64
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4761,
                                                    "end": 4765,
                                                    "loc": {
                                                      "start": {
                                                        "line": 96,
                                                        "column": 48
                                                      },
                                                      "end": {
                                                        "line": 96,
                                                        "column": 52
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4766,
                                                    "end": 4777,
                                                    "loc": {
                                                      "start": {
                                                        "line": 96,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 96,
                                                        "column": 64
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "!==",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 4782,
                                                  "end": 4795,
                                                  "loc": {
                                                    "start": {
                                                      "line": 96,
                                                      "column": 69
                                                    },
                                                    "end": {
                                                      "line": 96,
                                                      "column": 82
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4782,
                                                    "end": 4786,
                                                    "loc": {
                                                      "start": {
                                                        "line": 96,
                                                        "column": 69
                                                      },
                                                      "end": {
                                                        "line": 96,
                                                        "column": 73
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4787,
                                                    "end": 4795,
                                                    "loc": {
                                                      "start": {
                                                        "line": 96,
                                                        "column": 74
                                                      },
                                                      "end": {
                                                        "line": 96,
                                                        "column": 82
                                                      }
                                                    },
                                                    "name": "controls"
                                                  },
                                                  "computed": false
                                                }
                                              }
                                            },
                                            "operator": "&&",
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 4799,
                                              "end": 4835,
                                              "loc": {
                                                "start": {
                                                  "line": 96,
                                                  "column": 86
                                                },
                                                "end": {
                                                  "line": 96,
                                                  "column": 122
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 4799,
                                                "end": 4828,
                                                "loc": {
                                                  "start": {
                                                    "line": 96,
                                                    "column": 86
                                                  },
                                                  "end": {
                                                    "line": 96,
                                                    "column": 115
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 4799,
                                                  "end": 4815,
                                                  "loc": {
                                                    "start": {
                                                      "line": 96,
                                                      "column": 86
                                                    },
                                                    "end": {
                                                      "line": 96,
                                                      "column": 102
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4799,
                                                    "end": 4803,
                                                    "loc": {
                                                      "start": {
                                                        "line": 96,
                                                        "column": 86
                                                      },
                                                      "end": {
                                                        "line": 96,
                                                        "column": 90
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4804,
                                                    "end": 4815,
                                                    "loc": {
                                                      "start": {
                                                        "line": 96,
                                                        "column": 91
                                                      },
                                                      "end": {
                                                        "line": 96,
                                                        "column": 102
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4816,
                                                  "end": 4828,
                                                  "loc": {
                                                    "start": {
                                                      "line": 96,
                                                      "column": 103
                                                    },
                                                    "end": {
                                                      "line": 96,
                                                      "column": 115
                                                    }
                                                  },
                                                  "name": "onTouchStart"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 4829,
                                                  "end": 4834,
                                                  "loc": {
                                                    "start": {
                                                      "line": 96,
                                                      "column": 116
                                                    },
                                                    "end": {
                                                      "line": 96,
                                                      "column": 121
                                                    }
                                                  },
                                                  "name": "state"
                                                }
                                              ]
                                            }
                                          }
                                        }
                                      ]
                                    }
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 4864,
                                  "end": 5147,
                                  "loc": {
                                    "start": {
                                      "line": 98,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 102,
                                      "column": 13
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 4864,
                                    "end": 4873,
                                    "loc": {
                                      "start": {
                                        "line": 98,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 98,
                                        "column": 21
                                      }
                                    },
                                    "name": "touchmove"
                                  },
                                  "value": {
                                    "type": "ArrowFunctionExpression",
                                    "start": 4875,
                                    "end": 5147,
                                    "loc": {
                                      "start": {
                                        "line": 98,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 102,
                                        "column": 13
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": false,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 4875,
                                        "end": 4880,
                                        "loc": {
                                          "start": {
                                            "line": 98,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 98,
                                            "column": 28
                                          }
                                        },
                                        "name": "state"
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "start": 4884,
                                      "end": 5147,
                                      "loc": {
                                        "start": {
                                          "line": 98,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 102,
                                          "column": 13
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4977,
                                          "end": 5010,
                                          "loc": {
                                            "start": {
                                              "line": 100,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 100,
                                              "column": 49
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 4977,
                                            "end": 5009,
                                            "loc": {
                                              "start": {
                                                "line": 100,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 100,
                                                "column": 48
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 4977,
                                              "end": 5002,
                                              "loc": {
                                                "start": {
                                                  "line": 100,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 100,
                                                  "column": 41
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 4977,
                                                "end": 4990,
                                                "loc": {
                                                  "start": {
                                                    "line": 100,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 100,
                                                    "column": 29
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 4977,
                                                  "end": 4981,
                                                  "loc": {
                                                    "start": {
                                                      "line": 100,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 100,
                                                      "column": 20
                                                    }
                                                  },
                                                  "leadingComments": null
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4982,
                                                  "end": 4990,
                                                  "loc": {
                                                    "start": {
                                                      "line": 100,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 100,
                                                      "column": 29
                                                    }
                                                  },
                                                  "name": "controls"
                                                },
                                                "computed": false,
                                                "leadingComments": null
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4991,
                                                "end": 5002,
                                                "loc": {
                                                  "start": {
                                                    "line": 100,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 100,
                                                    "column": 41
                                                  }
                                                },
                                                "name": "onTouchMove"
                                              },
                                              "computed": false,
                                              "leadingComments": null
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 5003,
                                                "end": 5008,
                                                "loc": {
                                                  "start": {
                                                    "line": 100,
                                                    "column": 42
                                                  },
                                                  "end": {
                                                    "line": 100,
                                                    "column": 47
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ],
                                            "leadingComments": null
                                          },
                                          "leadingComments": [
                                            {
                                              "type": "CommentLine",
                                              "value": "this.interactive && this.interaction.onTouchMove(state);",
                                              "start": 4902,
                                              "end": 4960,
                                              "loc": {
                                                "start": {
                                                  "line": 99,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 99,
                                                  "column": 74
                                                }
                                              },
                                              "range": [
                                                4902,
                                                4960
                                              ]
                                            }
                                          ]
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 5027,
                                          "end": 5133,
                                          "loc": {
                                            "start": {
                                              "line": 101,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 101,
                                              "column": 122
                                            }
                                          },
                                          "expression": {
                                            "type": "LogicalExpression",
                                            "start": 5027,
                                            "end": 5132,
                                            "loc": {
                                              "start": {
                                                "line": 101,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 101,
                                                "column": 121
                                              }
                                            },
                                            "left": {
                                              "type": "LogicalExpression",
                                              "start": 5027,
                                              "end": 5093,
                                              "loc": {
                                                "start": {
                                                  "line": 101,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 101,
                                                  "column": 82
                                                }
                                              },
                                              "left": {
                                                "type": "LogicalExpression",
                                                "start": 5027,
                                                "end": 5055,
                                                "loc": {
                                                  "start": {
                                                    "line": 101,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 101,
                                                    "column": 44
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 5027,
                                                  "end": 5035,
                                                  "loc": {
                                                    "start": {
                                                      "line": 101,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 101,
                                                      "column": 24
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5027,
                                                    "end": 5031,
                                                    "loc": {
                                                      "start": {
                                                        "line": 101,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 101,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5032,
                                                    "end": 5035,
                                                    "loc": {
                                                      "start": {
                                                        "line": 101,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 101,
                                                        "column": 24
                                                      }
                                                    },
                                                    "name": "hud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "&&",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 5039,
                                                  "end": 5055,
                                                  "loc": {
                                                    "start": {
                                                      "line": 101,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 101,
                                                      "column": 44
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5039,
                                                    "end": 5043,
                                                    "loc": {
                                                      "start": {
                                                        "line": 101,
                                                        "column": 28
                                                      },
                                                      "end": {
                                                        "line": 101,
                                                        "column": 32
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5044,
                                                    "end": 5055,
                                                    "loc": {
                                                      "start": {
                                                        "line": 101,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 101,
                                                        "column": 44
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                }
                                              },
                                              "operator": "&&",
                                              "right": {
                                                "type": "BinaryExpression",
                                                "start": 5059,
                                                "end": 5093,
                                                "loc": {
                                                  "start": {
                                                    "line": 101,
                                                    "column": 48
                                                  },
                                                  "end": {
                                                    "line": 101,
                                                    "column": 82
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 5059,
                                                  "end": 5075,
                                                  "loc": {
                                                    "start": {
                                                      "line": 101,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 101,
                                                      "column": 64
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5059,
                                                    "end": 5063,
                                                    "loc": {
                                                      "start": {
                                                        "line": 101,
                                                        "column": 48
                                                      },
                                                      "end": {
                                                        "line": 101,
                                                        "column": 52
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5064,
                                                    "end": 5075,
                                                    "loc": {
                                                      "start": {
                                                        "line": 101,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 101,
                                                        "column": 64
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "!==",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 5080,
                                                  "end": 5093,
                                                  "loc": {
                                                    "start": {
                                                      "line": 101,
                                                      "column": 69
                                                    },
                                                    "end": {
                                                      "line": 101,
                                                      "column": 82
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5080,
                                                    "end": 5084,
                                                    "loc": {
                                                      "start": {
                                                        "line": 101,
                                                        "column": 69
                                                      },
                                                      "end": {
                                                        "line": 101,
                                                        "column": 73
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5085,
                                                    "end": 5093,
                                                    "loc": {
                                                      "start": {
                                                        "line": 101,
                                                        "column": 74
                                                      },
                                                      "end": {
                                                        "line": 101,
                                                        "column": 82
                                                      }
                                                    },
                                                    "name": "controls"
                                                  },
                                                  "computed": false
                                                }
                                              }
                                            },
                                            "operator": "&&",
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 5097,
                                              "end": 5132,
                                              "loc": {
                                                "start": {
                                                  "line": 101,
                                                  "column": 86
                                                },
                                                "end": {
                                                  "line": 101,
                                                  "column": 121
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 5097,
                                                "end": 5125,
                                                "loc": {
                                                  "start": {
                                                    "line": 101,
                                                    "column": 86
                                                  },
                                                  "end": {
                                                    "line": 101,
                                                    "column": 114
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 5097,
                                                  "end": 5113,
                                                  "loc": {
                                                    "start": {
                                                      "line": 101,
                                                      "column": 86
                                                    },
                                                    "end": {
                                                      "line": 101,
                                                      "column": 102
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5097,
                                                    "end": 5101,
                                                    "loc": {
                                                      "start": {
                                                        "line": 101,
                                                        "column": 86
                                                      },
                                                      "end": {
                                                        "line": 101,
                                                        "column": 90
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5102,
                                                    "end": 5113,
                                                    "loc": {
                                                      "start": {
                                                        "line": 101,
                                                        "column": 91
                                                      },
                                                      "end": {
                                                        "line": 101,
                                                        "column": 102
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 5114,
                                                  "end": 5125,
                                                  "loc": {
                                                    "start": {
                                                      "line": 101,
                                                      "column": 103
                                                    },
                                                    "end": {
                                                      "line": 101,
                                                      "column": 114
                                                    }
                                                  },
                                                  "name": "onTouchMove"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 5126,
                                                  "end": 5131,
                                                  "loc": {
                                                    "start": {
                                                      "line": 101,
                                                      "column": 115
                                                    },
                                                    "end": {
                                                      "line": 101,
                                                      "column": 120
                                                    }
                                                  },
                                                  "name": "state"
                                                }
                                              ]
                                            }
                                          }
                                        }
                                      ]
                                    }
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 5161,
                                  "end": 5440,
                                  "loc": {
                                    "start": {
                                      "line": 103,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 107,
                                      "column": 13
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 5161,
                                    "end": 5169,
                                    "loc": {
                                      "start": {
                                        "line": 103,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 103,
                                        "column": 20
                                      }
                                    },
                                    "name": "touchend"
                                  },
                                  "value": {
                                    "type": "ArrowFunctionExpression",
                                    "start": 5171,
                                    "end": 5440,
                                    "loc": {
                                      "start": {
                                        "line": 103,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 107,
                                        "column": 13
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": false,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 5171,
                                        "end": 5176,
                                        "loc": {
                                          "start": {
                                            "line": 103,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 103,
                                            "column": 27
                                          }
                                        },
                                        "name": "state"
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "start": 5180,
                                      "end": 5440,
                                      "loc": {
                                        "start": {
                                          "line": 103,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 107,
                                          "column": 13
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 5272,
                                          "end": 5304,
                                          "loc": {
                                            "start": {
                                              "line": 105,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 105,
                                              "column": 48
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 5272,
                                            "end": 5303,
                                            "loc": {
                                              "start": {
                                                "line": 105,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 105,
                                                "column": 47
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 5272,
                                              "end": 5296,
                                              "loc": {
                                                "start": {
                                                  "line": 105,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 105,
                                                  "column": 40
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 5272,
                                                "end": 5285,
                                                "loc": {
                                                  "start": {
                                                    "line": 105,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 105,
                                                    "column": 29
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 5272,
                                                  "end": 5276,
                                                  "loc": {
                                                    "start": {
                                                      "line": 105,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 105,
                                                      "column": 20
                                                    }
                                                  },
                                                  "leadingComments": null
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 5277,
                                                  "end": 5285,
                                                  "loc": {
                                                    "start": {
                                                      "line": 105,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 105,
                                                      "column": 29
                                                    }
                                                  },
                                                  "name": "controls"
                                                },
                                                "computed": false,
                                                "leadingComments": null
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 5286,
                                                "end": 5296,
                                                "loc": {
                                                  "start": {
                                                    "line": 105,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 105,
                                                    "column": 40
                                                  }
                                                },
                                                "name": "onTouchEnd"
                                              },
                                              "computed": false,
                                              "leadingComments": null
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 5297,
                                                "end": 5302,
                                                "loc": {
                                                  "start": {
                                                    "line": 105,
                                                    "column": 41
                                                  },
                                                  "end": {
                                                    "line": 105,
                                                    "column": 46
                                                  }
                                                },
                                                "name": "state"
                                              }
                                            ],
                                            "leadingComments": null
                                          },
                                          "leadingComments": [
                                            {
                                              "type": "CommentLine",
                                              "value": "this.interactive && this.interaction.onTouchEnd(state);",
                                              "start": 5198,
                                              "end": 5255,
                                              "loc": {
                                                "start": {
                                                  "line": 104,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 104,
                                                  "column": 73
                                                }
                                              },
                                              "range": [
                                                5198,
                                                5255
                                              ]
                                            }
                                          ]
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 5321,
                                          "end": 5426,
                                          "loc": {
                                            "start": {
                                              "line": 106,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 106,
                                              "column": 121
                                            }
                                          },
                                          "expression": {
                                            "type": "LogicalExpression",
                                            "start": 5321,
                                            "end": 5425,
                                            "loc": {
                                              "start": {
                                                "line": 106,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 106,
                                                "column": 120
                                              }
                                            },
                                            "left": {
                                              "type": "LogicalExpression",
                                              "start": 5321,
                                              "end": 5387,
                                              "loc": {
                                                "start": {
                                                  "line": 106,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 106,
                                                  "column": 82
                                                }
                                              },
                                              "left": {
                                                "type": "LogicalExpression",
                                                "start": 5321,
                                                "end": 5349,
                                                "loc": {
                                                  "start": {
                                                    "line": 106,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 106,
                                                    "column": 44
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 5321,
                                                  "end": 5329,
                                                  "loc": {
                                                    "start": {
                                                      "line": 106,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 106,
                                                      "column": 24
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5321,
                                                    "end": 5325,
                                                    "loc": {
                                                      "start": {
                                                        "line": 106,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 106,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5326,
                                                    "end": 5329,
                                                    "loc": {
                                                      "start": {
                                                        "line": 106,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 106,
                                                        "column": 24
                                                      }
                                                    },
                                                    "name": "hud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "&&",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 5333,
                                                  "end": 5349,
                                                  "loc": {
                                                    "start": {
                                                      "line": 106,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 106,
                                                      "column": 44
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5333,
                                                    "end": 5337,
                                                    "loc": {
                                                      "start": {
                                                        "line": 106,
                                                        "column": 28
                                                      },
                                                      "end": {
                                                        "line": 106,
                                                        "column": 32
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5338,
                                                    "end": 5349,
                                                    "loc": {
                                                      "start": {
                                                        "line": 106,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 106,
                                                        "column": 44
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                }
                                              },
                                              "operator": "&&",
                                              "right": {
                                                "type": "BinaryExpression",
                                                "start": 5353,
                                                "end": 5387,
                                                "loc": {
                                                  "start": {
                                                    "line": 106,
                                                    "column": 48
                                                  },
                                                  "end": {
                                                    "line": 106,
                                                    "column": 82
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 5353,
                                                  "end": 5369,
                                                  "loc": {
                                                    "start": {
                                                      "line": 106,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 106,
                                                      "column": 64
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5353,
                                                    "end": 5357,
                                                    "loc": {
                                                      "start": {
                                                        "line": 106,
                                                        "column": 48
                                                      },
                                                      "end": {
                                                        "line": 106,
                                                        "column": 52
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5358,
                                                    "end": 5369,
                                                    "loc": {
                                                      "start": {
                                                        "line": 106,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 106,
                                                        "column": 64
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "!==",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 5374,
                                                  "end": 5387,
                                                  "loc": {
                                                    "start": {
                                                      "line": 106,
                                                      "column": 69
                                                    },
                                                    "end": {
                                                      "line": 106,
                                                      "column": 82
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5374,
                                                    "end": 5378,
                                                    "loc": {
                                                      "start": {
                                                        "line": 106,
                                                        "column": 69
                                                      },
                                                      "end": {
                                                        "line": 106,
                                                        "column": 73
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5379,
                                                    "end": 5387,
                                                    "loc": {
                                                      "start": {
                                                        "line": 106,
                                                        "column": 74
                                                      },
                                                      "end": {
                                                        "line": 106,
                                                        "column": 82
                                                      }
                                                    },
                                                    "name": "controls"
                                                  },
                                                  "computed": false
                                                }
                                              }
                                            },
                                            "operator": "&&",
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 5391,
                                              "end": 5425,
                                              "loc": {
                                                "start": {
                                                  "line": 106,
                                                  "column": 86
                                                },
                                                "end": {
                                                  "line": 106,
                                                  "column": 120
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 5391,
                                                "end": 5418,
                                                "loc": {
                                                  "start": {
                                                    "line": 106,
                                                    "column": 86
                                                  },
                                                  "end": {
                                                    "line": 106,
                                                    "column": 113
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 5391,
                                                  "end": 5407,
                                                  "loc": {
                                                    "start": {
                                                      "line": 106,
                                                      "column": 86
                                                    },
                                                    "end": {
                                                      "line": 106,
                                                      "column": 102
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5391,
                                                    "end": 5395,
                                                    "loc": {
                                                      "start": {
                                                        "line": 106,
                                                        "column": 86
                                                      },
                                                      "end": {
                                                        "line": 106,
                                                        "column": 90
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5396,
                                                    "end": 5407,
                                                    "loc": {
                                                      "start": {
                                                        "line": 106,
                                                        "column": 91
                                                      },
                                                      "end": {
                                                        "line": 106,
                                                        "column": 102
                                                      }
                                                    },
                                                    "name": "controlsHud"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 5408,
                                                  "end": 5418,
                                                  "loc": {
                                                    "start": {
                                                      "line": 106,
                                                      "column": 103
                                                    },
                                                    "end": {
                                                      "line": 106,
                                                      "column": 113
                                                    }
                                                  },
                                                  "name": "onTouchEnd"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 5419,
                                                  "end": 5424,
                                                  "loc": {
                                                    "start": {
                                                      "line": 106,
                                                      "column": 114
                                                    },
                                                    "end": {
                                                      "line": 106,
                                                      "column": 119
                                                    }
                                                  },
                                                  "name": "state"
                                                }
                                              ]
                                            }
                                          }
                                        }
                                      ]
                                    }
                                  },
                                  "kind": "init"
                                }
                              ]
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5462,
                      "end": 5493,
                      "loc": {
                        "start": {
                          "line": 110,
                          "column": 8
                        },
                        "end": {
                          "line": 110,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5462,
                        "end": 5492,
                        "loc": {
                          "start": {
                            "line": 110,
                            "column": 8
                          },
                          "end": {
                            "line": 110,
                            "column": 38
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5462,
                          "end": 5472,
                          "loc": {
                            "start": {
                              "line": 110,
                              "column": 8
                            },
                            "end": {
                              "line": 110,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5462,
                            "end": 5466,
                            "loc": {
                              "start": {
                                "line": 110,
                                "column": 8
                              },
                              "end": {
                                "line": 110,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5467,
                            "end": 5472,
                            "loc": {
                              "start": {
                                "line": 110,
                                "column": 13
                              },
                              "end": {
                                "line": 110,
                                "column": 18
                              }
                            },
                            "name": "scene"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 5475,
                          "end": 5492,
                          "loc": {
                            "start": {
                              "line": 110,
                              "column": 21
                            },
                            "end": {
                              "line": 110,
                              "column": 38
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 5479,
                            "end": 5490,
                            "loc": {
                              "start": {
                                "line": 110,
                                "column": 25
                              },
                              "end": {
                                "line": 110,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5479,
                              "end": 5484,
                              "loc": {
                                "start": {
                                  "line": 110,
                                  "column": 25
                                },
                                "end": {
                                  "line": 110,
                                  "column": 30
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5485,
                              "end": 5490,
                              "loc": {
                                "start": {
                                  "line": 110,
                                  "column": 31
                                },
                                "end": {
                                  "line": 110,
                                  "column": 36
                                }
                              },
                              "name": "Scene"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5502,
                      "end": 5529,
                      "loc": {
                        "start": {
                          "line": 111,
                          "column": 8
                        },
                        "end": {
                          "line": 111,
                          "column": 35
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5502,
                        "end": 5528,
                        "loc": {
                          "start": {
                            "line": 111,
                            "column": 8
                          },
                          "end": {
                            "line": 111,
                            "column": 34
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5502,
                          "end": 5519,
                          "loc": {
                            "start": {
                              "line": 111,
                              "column": 8
                            },
                            "end": {
                              "line": 111,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5502,
                            "end": 5512,
                            "loc": {
                              "start": {
                                "line": 111,
                                "column": 8
                              },
                              "end": {
                                "line": 111,
                                "column": 18
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5502,
                              "end": 5506,
                              "loc": {
                                "start": {
                                  "line": 111,
                                  "column": 8
                                },
                                "end": {
                                  "line": 111,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5507,
                              "end": 5512,
                              "loc": {
                                "start": {
                                  "line": 111,
                                  "column": 13
                                },
                                "end": {
                                  "line": 111,
                                  "column": 18
                                }
                              },
                              "name": "scene"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5513,
                            "end": 5519,
                            "loc": {
                              "start": {
                                "line": 111,
                                "column": 19
                              },
                              "end": {
                                "line": 111,
                                "column": 25
                              }
                            },
                            "name": "canvas"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 5522,
                          "end": 5528,
                          "loc": {
                            "start": {
                              "line": 111,
                              "column": 28
                            },
                            "end": {
                              "line": 111,
                              "column": 34
                            }
                          },
                          "name": "canvas"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5538,
                      "end": 5561,
                      "loc": {
                        "start": {
                          "line": 112,
                          "column": 8
                        },
                        "end": {
                          "line": 112,
                          "column": 31
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5538,
                        "end": 5560,
                        "loc": {
                          "start": {
                            "line": 112,
                            "column": 8
                          },
                          "end": {
                            "line": 112,
                            "column": 30
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5538,
                          "end": 5553,
                          "loc": {
                            "start": {
                              "line": 112,
                              "column": 8
                            },
                            "end": {
                              "line": 112,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5538,
                            "end": 5548,
                            "loc": {
                              "start": {
                                "line": 112,
                                "column": 8
                              },
                              "end": {
                                "line": 112,
                                "column": 18
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5538,
                              "end": 5542,
                              "loc": {
                                "start": {
                                  "line": 112,
                                  "column": 8
                                },
                                "end": {
                                  "line": 112,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5543,
                              "end": 5548,
                              "loc": {
                                "start": {
                                  "line": 112,
                                  "column": 13
                                },
                                "end": {
                                  "line": 112,
                                  "column": 18
                                }
                              },
                              "name": "scene"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5549,
                            "end": 5553,
                            "loc": {
                              "start": {
                                "line": 112,
                                "column": 19
                              },
                              "end": {
                                "line": 112,
                                "column": 23
                              }
                            },
                            "name": "view"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ThisExpression",
                          "start": 5556,
                          "end": 5560,
                          "loc": {
                            "start": {
                              "line": 112,
                              "column": 26
                            },
                            "end": {
                              "line": 112,
                              "column": 30
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5571,
                      "end": 5665,
                      "loc": {
                        "start": {
                          "line": 114,
                          "column": 8
                        },
                        "end": {
                          "line": 114,
                          "column": 102
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5571,
                        "end": 5664,
                        "loc": {
                          "start": {
                            "line": 114,
                            "column": 8
                          },
                          "end": {
                            "line": 114,
                            "column": 101
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5571,
                          "end": 5583,
                          "loc": {
                            "start": {
                              "line": 114,
                              "column": 8
                            },
                            "end": {
                              "line": 114,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5571,
                            "end": 5575,
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 8
                              },
                              "end": {
                                "line": 114,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5576,
                            "end": 5583,
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 13
                              },
                              "end": {
                                "line": 114,
                                "column": 20
                              }
                            },
                            "name": "ambient"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 5586,
                          "end": 5664,
                          "loc": {
                            "start": {
                              "line": 114,
                              "column": 23
                            },
                            "end": {
                              "line": 114,
                              "column": 101
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 5590,
                            "end": 5608,
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 27
                              },
                              "end": {
                                "line": 114,
                                "column": 45
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5590,
                              "end": 5595,
                              "loc": {
                                "start": {
                                  "line": 114,
                                  "column": 27
                                },
                                "end": {
                                  "line": 114,
                                  "column": 32
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5596,
                              "end": 5608,
                              "loc": {
                                "start": {
                                  "line": 114,
                                  "column": 33
                                },
                                "end": {
                                  "line": 114,
                                  "column": 45
                                }
                              },
                              "name": "AmbientLight"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ConditionalExpression",
                              "start": 5609,
                              "end": 5663,
                              "loc": {
                                "start": {
                                  "line": 114,
                                  "column": 46
                                },
                                "end": {
                                  "line": 114,
                                  "column": 100
                                }
                              },
                              "test": {
                                "type": "MemberExpression",
                                "start": 5609,
                                "end": 5629,
                                "loc": {
                                  "start": {
                                    "line": 114,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 114,
                                    "column": 66
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 5609,
                                  "end": 5616,
                                  "loc": {
                                    "start": {
                                      "line": 114,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 114,
                                      "column": 53
                                    }
                                  },
                                  "name": "options"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5617,
                                  "end": 5629,
                                  "loc": {
                                    "start": {
                                      "line": 114,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 114,
                                      "column": 66
                                    }
                                  },
                                  "name": "ambientColor"
                                },
                                "computed": false
                              },
                              "consequent": {
                                "type": "MemberExpression",
                                "start": 5632,
                                "end": 5652,
                                "loc": {
                                  "start": {
                                    "line": 114,
                                    "column": 69
                                  },
                                  "end": {
                                    "line": 114,
                                    "column": 89
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 5632,
                                  "end": 5639,
                                  "loc": {
                                    "start": {
                                      "line": 114,
                                      "column": 69
                                    },
                                    "end": {
                                      "line": 114,
                                      "column": 76
                                    }
                                  },
                                  "name": "options"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5640,
                                  "end": 5652,
                                  "loc": {
                                    "start": {
                                      "line": 114,
                                      "column": 77
                                    },
                                    "end": {
                                      "line": 114,
                                      "column": 89
                                    }
                                  },
                                  "name": "ambientColor"
                                },
                                "computed": false
                              },
                              "alternate": {
                                "type": "Literal",
                                "start": 5655,
                                "end": 5663,
                                "loc": {
                                  "start": {
                                    "line": 114,
                                    "column": 92
                                  },
                                  "end": {
                                    "line": 114,
                                    "column": 100
                                  }
                                },
                                "value": 16777215,
                                "rawValue": 16777215,
                                "raw": "0xffffff"
                              }
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5674,
                      "end": 5780,
                      "loc": {
                        "start": {
                          "line": 115,
                          "column": 8
                        },
                        "end": {
                          "line": 115,
                          "column": 114
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5674,
                        "end": 5779,
                        "loc": {
                          "start": {
                            "line": 115,
                            "column": 8
                          },
                          "end": {
                            "line": 115,
                            "column": 113
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5674,
                          "end": 5696,
                          "loc": {
                            "start": {
                              "line": 115,
                              "column": 8
                            },
                            "end": {
                              "line": 115,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5674,
                            "end": 5686,
                            "loc": {
                              "start": {
                                "line": 115,
                                "column": 8
                              },
                              "end": {
                                "line": 115,
                                "column": 20
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5674,
                              "end": 5678,
                              "loc": {
                                "start": {
                                  "line": 115,
                                  "column": 8
                                },
                                "end": {
                                  "line": 115,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5679,
                              "end": 5686,
                              "loc": {
                                "start": {
                                  "line": 115,
                                  "column": 13
                                },
                                "end": {
                                  "line": 115,
                                  "column": 20
                                }
                              },
                              "name": "ambient"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5687,
                            "end": 5696,
                            "loc": {
                              "start": {
                                "line": 115,
                                "column": 21
                              },
                              "end": {
                                "line": 115,
                                "column": 30
                              }
                            },
                            "name": "intensity"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ConditionalExpression",
                          "start": 5699,
                          "end": 5779,
                          "loc": {
                            "start": {
                              "line": 115,
                              "column": 33
                            },
                            "end": {
                              "line": 115,
                              "column": 113
                            }
                          },
                          "test": {
                            "type": "BinaryExpression",
                            "start": 5699,
                            "end": 5746,
                            "loc": {
                              "start": {
                                "line": 115,
                                "column": 33
                              },
                              "end": {
                                "line": 115,
                                "column": 80
                              }
                            },
                            "left": {
                              "type": "UnaryExpression",
                              "start": 5699,
                              "end": 5730,
                              "loc": {
                                "start": {
                                  "line": 115,
                                  "column": 33
                                },
                                "end": {
                                  "line": 115,
                                  "column": 64
                                }
                              },
                              "operator": "typeof",
                              "prefix": true,
                              "argument": {
                                "type": "MemberExpression",
                                "start": 5706,
                                "end": 5730,
                                "loc": {
                                  "start": {
                                    "line": 115,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 115,
                                    "column": 64
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 5706,
                                  "end": 5713,
                                  "loc": {
                                    "start": {
                                      "line": 115,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 115,
                                      "column": 47
                                    }
                                  },
                                  "name": "options"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5714,
                                  "end": 5730,
                                  "loc": {
                                    "start": {
                                      "line": 115,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 115,
                                      "column": 64
                                    }
                                  },
                                  "name": "ambientIntensity"
                                },
                                "computed": false
                              }
                            },
                            "operator": "!==",
                            "right": {
                              "type": "Literal",
                              "start": 5735,
                              "end": 5746,
                              "loc": {
                                "start": {
                                  "line": 115,
                                  "column": 69
                                },
                                "end": {
                                  "line": 115,
                                  "column": 80
                                }
                              },
                              "value": "undefined",
                              "rawValue": "undefined",
                              "raw": "'undefined'"
                            }
                          },
                          "consequent": {
                            "type": "MemberExpression",
                            "start": 5749,
                            "end": 5773,
                            "loc": {
                              "start": {
                                "line": 115,
                                "column": 83
                              },
                              "end": {
                                "line": 115,
                                "column": 107
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5749,
                              "end": 5756,
                              "loc": {
                                "start": {
                                  "line": 115,
                                  "column": 83
                                },
                                "end": {
                                  "line": 115,
                                  "column": 90
                                }
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5757,
                              "end": 5773,
                              "loc": {
                                "start": {
                                  "line": 115,
                                  "column": 91
                                },
                                "end": {
                                  "line": 115,
                                  "column": 107
                                }
                              },
                              "name": "ambientIntensity"
                            },
                            "computed": false
                          },
                          "alternate": {
                            "type": "Literal",
                            "start": 5776,
                            "end": 5779,
                            "loc": {
                              "start": {
                                "line": 115,
                                "column": 110
                              },
                              "end": {
                                "line": 115,
                                "column": 113
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1.0"
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5789,
                      "end": 5814,
                      "loc": {
                        "start": {
                          "line": 116,
                          "column": 8
                        },
                        "end": {
                          "line": 116,
                          "column": 33
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5789,
                        "end": 5813,
                        "loc": {
                          "start": {
                            "line": 116,
                            "column": 8
                          },
                          "end": {
                            "line": 116,
                            "column": 32
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5789,
                          "end": 5806,
                          "loc": {
                            "start": {
                              "line": 116,
                              "column": 8
                            },
                            "end": {
                              "line": 116,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5789,
                            "end": 5801,
                            "loc": {
                              "start": {
                                "line": 116,
                                "column": 8
                              },
                              "end": {
                                "line": 116,
                                "column": 20
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5789,
                              "end": 5793,
                              "loc": {
                                "start": {
                                  "line": 116,
                                  "column": 8
                                },
                                "end": {
                                  "line": 116,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5794,
                              "end": 5801,
                              "loc": {
                                "start": {
                                  "line": 116,
                                  "column": 13
                                },
                                "end": {
                                  "line": 116,
                                  "column": 20
                                }
                              },
                              "name": "ambient"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5802,
                            "end": 5806,
                            "loc": {
                              "start": {
                                "line": 116,
                                "column": 21
                              },
                              "end": {
                                "line": 116,
                                "column": 25
                              }
                            },
                            "name": "keep"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 5809,
                          "end": 5813,
                          "loc": {
                            "start": {
                              "line": 116,
                              "column": 28
                            },
                            "end": {
                              "line": 116,
                              "column": 32
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5823,
                      "end": 5848,
                      "loc": {
                        "start": {
                          "line": 117,
                          "column": 8
                        },
                        "end": {
                          "line": 117,
                          "column": 33
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5823,
                        "end": 5847,
                        "loc": {
                          "start": {
                            "line": 117,
                            "column": 8
                          },
                          "end": {
                            "line": 117,
                            "column": 32
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5823,
                          "end": 5840,
                          "loc": {
                            "start": {
                              "line": 117,
                              "column": 8
                            },
                            "end": {
                              "line": 117,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5823,
                            "end": 5835,
                            "loc": {
                              "start": {
                                "line": 117,
                                "column": 8
                              },
                              "end": {
                                "line": 117,
                                "column": 20
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5823,
                              "end": 5827,
                              "loc": {
                                "start": {
                                  "line": 117,
                                  "column": 8
                                },
                                "end": {
                                  "line": 117,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5828,
                              "end": 5835,
                              "loc": {
                                "start": {
                                  "line": 117,
                                  "column": 13
                                },
                                "end": {
                                  "line": 117,
                                  "column": 20
                                }
                              },
                              "name": "ambient"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5836,
                            "end": 5840,
                            "loc": {
                              "start": {
                                "line": 117,
                                "column": 21
                              },
                              "end": {
                                "line": 117,
                                "column": 25
                              }
                            },
                            "name": "view"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ThisExpression",
                          "start": 5843,
                          "end": 5847,
                          "loc": {
                            "start": {
                              "line": 117,
                              "column": 28
                            },
                            "end": {
                              "line": 117,
                              "column": 32
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5857,
                      "end": 5886,
                      "loc": {
                        "start": {
                          "line": 118,
                          "column": 8
                        },
                        "end": {
                          "line": 118,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5857,
                        "end": 5885,
                        "loc": {
                          "start": {
                            "line": 118,
                            "column": 8
                          },
                          "end": {
                            "line": 118,
                            "column": 36
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5857,
                          "end": 5871,
                          "loc": {
                            "start": {
                              "line": 118,
                              "column": 8
                            },
                            "end": {
                              "line": 118,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5857,
                            "end": 5867,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 8
                              },
                              "end": {
                                "line": 118,
                                "column": 18
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5857,
                              "end": 5861,
                              "loc": {
                                "start": {
                                  "line": 118,
                                  "column": 8
                                },
                                "end": {
                                  "line": 118,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5862,
                              "end": 5867,
                              "loc": {
                                "start": {
                                  "line": 118,
                                  "column": 13
                                },
                                "end": {
                                  "line": 118,
                                  "column": 18
                                }
                              },
                              "name": "scene"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5868,
                            "end": 5871,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 19
                              },
                              "end": {
                                "line": 118,
                                "column": 22
                              }
                            },
                            "name": "add"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 5872,
                            "end": 5884,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 23
                              },
                              "end": {
                                "line": 118,
                                "column": 35
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5872,
                              "end": 5876,
                              "loc": {
                                "start": {
                                  "line": 118,
                                  "column": 23
                                },
                                "end": {
                                  "line": 118,
                                  "column": 27
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5877,
                              "end": 5884,
                              "loc": {
                                "start": {
                                  "line": 118,
                                  "column": 28
                                },
                                "end": {
                                  "line": 118,
                                  "column": 35
                                }
                              },
                              "name": "ambient"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5896,
                      "end": 5928,
                      "loc": {
                        "start": {
                          "line": 120,
                          "column": 8
                        },
                        "end": {
                          "line": 120,
                          "column": 40
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5896,
                        "end": 5927,
                        "loc": {
                          "start": {
                            "line": 120,
                            "column": 8
                          },
                          "end": {
                            "line": 120,
                            "column": 39
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5896,
                          "end": 5907,
                          "loc": {
                            "start": {
                              "line": 120,
                              "column": 8
                            },
                            "end": {
                              "line": 120,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5896,
                            "end": 5900,
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 8
                              },
                              "end": {
                                "line": 120,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5901,
                            "end": 5907,
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 13
                              },
                              "end": {
                                "line": 120,
                                "column": 19
                              }
                            },
                            "name": "camera"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 5910,
                          "end": 5927,
                          "loc": {
                            "start": {
                              "line": 120,
                              "column": 22
                            },
                            "end": {
                              "line": 120,
                              "column": 39
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 5914,
                            "end": 5925,
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 26
                              },
                              "end": {
                                "line": 120,
                                "column": 37
                              }
                            },
                            "name": "Perspective"
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5937,
                      "end": 6077,
                      "loc": {
                        "start": {
                          "line": 121,
                          "column": 8
                        },
                        "end": {
                          "line": 125,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5937,
                        "end": 6076,
                        "loc": {
                          "start": {
                            "line": 121,
                            "column": 8
                          },
                          "end": {
                            "line": 125,
                            "column": 10
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5937,
                          "end": 5950,
                          "loc": {
                            "start": {
                              "line": 121,
                              "column": 8
                            },
                            "end": {
                              "line": 121,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5937,
                            "end": 5941,
                            "loc": {
                              "start": {
                                "line": 121,
                                "column": 8
                              },
                              "end": {
                                "line": 121,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5942,
                            "end": 5950,
                            "loc": {
                              "start": {
                                "line": 121,
                                "column": 13
                              },
                              "end": {
                                "line": 121,
                                "column": 21
                              }
                            },
                            "name": "controls"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 5953,
                          "end": 6076,
                          "loc": {
                            "start": {
                              "line": 121,
                              "column": 24
                            },
                            "end": {
                              "line": 125,
                              "column": 10
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 5957,
                            "end": 5962,
                            "loc": {
                              "start": {
                                "line": 121,
                                "column": 28
                              },
                              "end": {
                                "line": 121,
                                "column": 33
                              }
                            },
                            "name": "Orbit"
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 5963,
                              "end": 5967,
                              "loc": {
                                "start": {
                                  "line": 121,
                                  "column": 34
                                },
                                "end": {
                                  "line": 121,
                                  "column": 38
                                }
                              }
                            },
                            {
                              "type": "ObjectExpression",
                              "start": 5969,
                              "end": 6075,
                              "loc": {
                                "start": {
                                  "line": 121,
                                  "column": 40
                                },
                                "end": {
                                  "line": 125,
                                  "column": 9
                                }
                              },
                              "properties": [
                                {
                                  "type": "Property",
                                  "start": 5983,
                                  "end": 6005,
                                  "loc": {
                                    "start": {
                                      "line": 122,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 122,
                                      "column": 34
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 5983,
                                    "end": 5996,
                                    "loc": {
                                      "start": {
                                        "line": 122,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 122,
                                        "column": 25
                                      }
                                    },
                                    "name": "maxPolarAngle"
                                  },
                                  "value": {
                                    "type": "MemberExpression",
                                    "start": 5998,
                                    "end": 6005,
                                    "loc": {
                                      "start": {
                                        "line": 122,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 122,
                                        "column": 34
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 5998,
                                      "end": 6002,
                                      "loc": {
                                        "start": {
                                          "line": 122,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 122,
                                          "column": 31
                                        }
                                      },
                                      "name": "Math"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 6003,
                                      "end": 6005,
                                      "loc": {
                                        "start": {
                                          "line": 122,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 122,
                                          "column": 34
                                        }
                                      },
                                      "name": "PI"
                                    },
                                    "computed": false
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 6019,
                                  "end": 6033,
                                  "loc": {
                                    "start": {
                                      "line": 123,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 123,
                                      "column": 26
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 6019,
                                    "end": 6030,
                                    "loc": {
                                      "start": {
                                        "line": 123,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 123,
                                        "column": 23
                                      }
                                    },
                                    "name": "minDistance"
                                  },
                                  "value": {
                                    "type": "Literal",
                                    "start": 6032,
                                    "end": 6033,
                                    "loc": {
                                      "start": {
                                        "line": 123,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 123,
                                        "column": 26
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 6047,
                                  "end": 6065,
                                  "loc": {
                                    "start": {
                                      "line": 124,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 124,
                                      "column": 30
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 6047,
                                    "end": 6058,
                                    "loc": {
                                      "start": {
                                        "line": 124,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 124,
                                        "column": 23
                                      }
                                    },
                                    "name": "maxDistance"
                                  },
                                  "value": {
                                    "type": "Literal",
                                    "start": 6060,
                                    "end": 6065,
                                    "loc": {
                                      "start": {
                                        "line": 124,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 124,
                                        "column": 30
                                      }
                                    },
                                    "value": 20000,
                                    "rawValue": 20000,
                                    "raw": "20000"
                                  },
                                  "kind": "init"
                                }
                              ]
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6087,
                      "end": 6104,
                      "loc": {
                        "start": {
                          "line": 127,
                          "column": 8
                        },
                        "end": {
                          "line": 127,
                          "column": 25
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6087,
                        "end": 6103,
                        "loc": {
                          "start": {
                            "line": 127,
                            "column": 8
                          },
                          "end": {
                            "line": 127,
                            "column": 24
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6087,
                          "end": 6095,
                          "loc": {
                            "start": {
                              "line": 127,
                              "column": 8
                            },
                            "end": {
                              "line": 127,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6087,
                            "end": 6091,
                            "loc": {
                              "start": {
                                "line": 127,
                                "column": 8
                              },
                              "end": {
                                "line": 127,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6092,
                            "end": 6095,
                            "loc": {
                              "start": {
                                "line": 127,
                                "column": 13
                              },
                              "end": {
                                "line": 127,
                                "column": 16
                              }
                            },
                            "name": "hud"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 6098,
                          "end": 6103,
                          "loc": {
                            "start": {
                              "line": 127,
                              "column": 19
                            },
                            "end": {
                              "line": 127,
                              "column": 24
                            }
                          },
                          "value": false,
                          "rawValue": false,
                          "raw": "false"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6113,
                      "end": 6147,
                      "loc": {
                        "start": {
                          "line": 128,
                          "column": 8
                        },
                        "end": {
                          "line": 128,
                          "column": 42
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6113,
                        "end": 6146,
                        "loc": {
                          "start": {
                            "line": 128,
                            "column": 8
                          },
                          "end": {
                            "line": 128,
                            "column": 41
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6113,
                          "end": 6126,
                          "loc": {
                            "start": {
                              "line": 128,
                              "column": 8
                            },
                            "end": {
                              "line": 128,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6113,
                            "end": 6117,
                            "loc": {
                              "start": {
                                "line": 128,
                                "column": 8
                              },
                              "end": {
                                "line": 128,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6118,
                            "end": 6126,
                            "loc": {
                              "start": {
                                "line": 128,
                                "column": 13
                              },
                              "end": {
                                "line": 128,
                                "column": 21
                              }
                            },
                            "name": "sceneHud"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 6129,
                          "end": 6146,
                          "loc": {
                            "start": {
                              "line": 128,
                              "column": 24
                            },
                            "end": {
                              "line": 128,
                              "column": 41
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 6133,
                            "end": 6144,
                            "loc": {
                              "start": {
                                "line": 128,
                                "column": 28
                              },
                              "end": {
                                "line": 128,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 6133,
                              "end": 6138,
                              "loc": {
                                "start": {
                                  "line": 128,
                                  "column": 28
                                },
                                "end": {
                                  "line": 128,
                                  "column": 33
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6139,
                              "end": 6144,
                              "loc": {
                                "start": {
                                  "line": 128,
                                  "column": 34
                                },
                                "end": {
                                  "line": 128,
                                  "column": 39
                                }
                              },
                              "name": "Scene"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6156,
                      "end": 6186,
                      "loc": {
                        "start": {
                          "line": 129,
                          "column": 8
                        },
                        "end": {
                          "line": 129,
                          "column": 38
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6156,
                        "end": 6185,
                        "loc": {
                          "start": {
                            "line": 129,
                            "column": 8
                          },
                          "end": {
                            "line": 129,
                            "column": 37
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6156,
                          "end": 6176,
                          "loc": {
                            "start": {
                              "line": 129,
                              "column": 8
                            },
                            "end": {
                              "line": 129,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6156,
                            "end": 6169,
                            "loc": {
                              "start": {
                                "line": 129,
                                "column": 8
                              },
                              "end": {
                                "line": 129,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6156,
                              "end": 6160,
                              "loc": {
                                "start": {
                                  "line": 129,
                                  "column": 8
                                },
                                "end": {
                                  "line": 129,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6161,
                              "end": 6169,
                              "loc": {
                                "start": {
                                  "line": 129,
                                  "column": 13
                                },
                                "end": {
                                  "line": 129,
                                  "column": 21
                                }
                              },
                              "name": "sceneHud"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6170,
                            "end": 6176,
                            "loc": {
                              "start": {
                                "line": 129,
                                "column": 22
                              },
                              "end": {
                                "line": 129,
                                "column": 28
                              }
                            },
                            "name": "canvas"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 6179,
                          "end": 6185,
                          "loc": {
                            "start": {
                              "line": 129,
                              "column": 31
                            },
                            "end": {
                              "line": 129,
                              "column": 37
                            }
                          },
                          "name": "canvas"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6195,
                      "end": 6221,
                      "loc": {
                        "start": {
                          "line": 130,
                          "column": 8
                        },
                        "end": {
                          "line": 130,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6195,
                        "end": 6220,
                        "loc": {
                          "start": {
                            "line": 130,
                            "column": 8
                          },
                          "end": {
                            "line": 130,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6195,
                          "end": 6213,
                          "loc": {
                            "start": {
                              "line": 130,
                              "column": 8
                            },
                            "end": {
                              "line": 130,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6195,
                            "end": 6208,
                            "loc": {
                              "start": {
                                "line": 130,
                                "column": 8
                              },
                              "end": {
                                "line": 130,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6195,
                              "end": 6199,
                              "loc": {
                                "start": {
                                  "line": 130,
                                  "column": 8
                                },
                                "end": {
                                  "line": 130,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6200,
                              "end": 6208,
                              "loc": {
                                "start": {
                                  "line": 130,
                                  "column": 13
                                },
                                "end": {
                                  "line": 130,
                                  "column": 21
                                }
                              },
                              "name": "sceneHud"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6209,
                            "end": 6213,
                            "loc": {
                              "start": {
                                "line": 130,
                                "column": 22
                              },
                              "end": {
                                "line": 130,
                                "column": 26
                              }
                            },
                            "name": "view"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ThisExpression",
                          "start": 6216,
                          "end": 6220,
                          "loc": {
                            "start": {
                              "line": 130,
                              "column": 29
                            },
                            "end": {
                              "line": 130,
                              "column": 33
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6230,
                      "end": 6259,
                      "loc": {
                        "start": {
                          "line": 131,
                          "column": 8
                        },
                        "end": {
                          "line": 131,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6230,
                        "end": 6258,
                        "loc": {
                          "start": {
                            "line": 131,
                            "column": 8
                          },
                          "end": {
                            "line": 131,
                            "column": 36
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6230,
                          "end": 6244,
                          "loc": {
                            "start": {
                              "line": 131,
                              "column": 8
                            },
                            "end": {
                              "line": 131,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6230,
                            "end": 6234,
                            "loc": {
                              "start": {
                                "line": 131,
                                "column": 8
                              },
                              "end": {
                                "line": 131,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6235,
                            "end": 6244,
                            "loc": {
                              "start": {
                                "line": 131,
                                "column": 13
                              },
                              "end": {
                                "line": 131,
                                "column": 22
                              }
                            },
                            "name": "cameraHud"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 6247,
                          "end": 6258,
                          "loc": {
                            "start": {
                              "line": 131,
                              "column": 25
                            },
                            "end": {
                              "line": 131,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6247,
                            "end": 6251,
                            "loc": {
                              "start": {
                                "line": 131,
                                "column": 25
                              },
                              "end": {
                                "line": 131,
                                "column": 29
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6252,
                            "end": 6258,
                            "loc": {
                              "start": {
                                "line": 131,
                                "column": 30
                              },
                              "end": {
                                "line": 131,
                                "column": 36
                              }
                            },
                            "name": "camera"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6268,
                      "end": 6301,
                      "loc": {
                        "start": {
                          "line": 132,
                          "column": 8
                        },
                        "end": {
                          "line": 132,
                          "column": 41
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6268,
                        "end": 6300,
                        "loc": {
                          "start": {
                            "line": 132,
                            "column": 8
                          },
                          "end": {
                            "line": 132,
                            "column": 40
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6268,
                          "end": 6284,
                          "loc": {
                            "start": {
                              "line": 132,
                              "column": 8
                            },
                            "end": {
                              "line": 132,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6268,
                            "end": 6272,
                            "loc": {
                              "start": {
                                "line": 132,
                                "column": 8
                              },
                              "end": {
                                "line": 132,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6273,
                            "end": 6284,
                            "loc": {
                              "start": {
                                "line": 132,
                                "column": 13
                              },
                              "end": {
                                "line": 132,
                                "column": 24
                              }
                            },
                            "name": "controlsHud"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 6287,
                          "end": 6300,
                          "loc": {
                            "start": {
                              "line": 132,
                              "column": 27
                            },
                            "end": {
                              "line": 132,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6287,
                            "end": 6291,
                            "loc": {
                              "start": {
                                "line": 132,
                                "column": 27
                              },
                              "end": {
                                "line": 132,
                                "column": 31
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6292,
                            "end": 6300,
                            "loc": {
                              "start": {
                                "line": 132,
                                "column": 32
                              },
                              "end": {
                                "line": 132,
                                "column": 40
                              }
                            },
                            "name": "controls"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6311,
                      "end": 6408,
                      "loc": {
                        "start": {
                          "line": 134,
                          "column": 8
                        },
                        "end": {
                          "line": 134,
                          "column": 105
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6311,
                        "end": 6407,
                        "loc": {
                          "start": {
                            "line": 134,
                            "column": 8
                          },
                          "end": {
                            "line": 134,
                            "column": 104
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6311,
                          "end": 6326,
                          "loc": {
                            "start": {
                              "line": 134,
                              "column": 8
                            },
                            "end": {
                              "line": 134,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6311,
                            "end": 6315,
                            "loc": {
                              "start": {
                                "line": 134,
                                "column": 8
                              },
                              "end": {
                                "line": 134,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6316,
                            "end": 6326,
                            "loc": {
                              "start": {
                                "line": 134,
                                "column": 13
                              },
                              "end": {
                                "line": 134,
                                "column": 23
                              }
                            },
                            "name": "ambientHud"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 6329,
                          "end": 6407,
                          "loc": {
                            "start": {
                              "line": 134,
                              "column": 26
                            },
                            "end": {
                              "line": 134,
                              "column": 104
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 6333,
                            "end": 6351,
                            "loc": {
                              "start": {
                                "line": 134,
                                "column": 30
                              },
                              "end": {
                                "line": 134,
                                "column": 48
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 6333,
                              "end": 6338,
                              "loc": {
                                "start": {
                                  "line": 134,
                                  "column": 30
                                },
                                "end": {
                                  "line": 134,
                                  "column": 35
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6339,
                              "end": 6351,
                              "loc": {
                                "start": {
                                  "line": 134,
                                  "column": 36
                                },
                                "end": {
                                  "line": 134,
                                  "column": 48
                                }
                              },
                              "name": "AmbientLight"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ConditionalExpression",
                              "start": 6352,
                              "end": 6406,
                              "loc": {
                                "start": {
                                  "line": 134,
                                  "column": 49
                                },
                                "end": {
                                  "line": 134,
                                  "column": 103
                                }
                              },
                              "test": {
                                "type": "MemberExpression",
                                "start": 6352,
                                "end": 6372,
                                "loc": {
                                  "start": {
                                    "line": 134,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 134,
                                    "column": 69
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 6352,
                                  "end": 6359,
                                  "loc": {
                                    "start": {
                                      "line": 134,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 134,
                                      "column": 56
                                    }
                                  },
                                  "name": "options"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6360,
                                  "end": 6372,
                                  "loc": {
                                    "start": {
                                      "line": 134,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 134,
                                      "column": 69
                                    }
                                  },
                                  "name": "ambientColor"
                                },
                                "computed": false
                              },
                              "consequent": {
                                "type": "MemberExpression",
                                "start": 6375,
                                "end": 6395,
                                "loc": {
                                  "start": {
                                    "line": 134,
                                    "column": 72
                                  },
                                  "end": {
                                    "line": 134,
                                    "column": 92
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 6375,
                                  "end": 6382,
                                  "loc": {
                                    "start": {
                                      "line": 134,
                                      "column": 72
                                    },
                                    "end": {
                                      "line": 134,
                                      "column": 79
                                    }
                                  },
                                  "name": "options"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6383,
                                  "end": 6395,
                                  "loc": {
                                    "start": {
                                      "line": 134,
                                      "column": 80
                                    },
                                    "end": {
                                      "line": 134,
                                      "column": 92
                                    }
                                  },
                                  "name": "ambientColor"
                                },
                                "computed": false
                              },
                              "alternate": {
                                "type": "Literal",
                                "start": 6398,
                                "end": 6406,
                                "loc": {
                                  "start": {
                                    "line": 134,
                                    "column": 95
                                  },
                                  "end": {
                                    "line": 134,
                                    "column": 103
                                  }
                                },
                                "value": 16777215,
                                "rawValue": 16777215,
                                "raw": "0xffffff"
                              }
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6417,
                      "end": 6526,
                      "loc": {
                        "start": {
                          "line": 135,
                          "column": 8
                        },
                        "end": {
                          "line": 135,
                          "column": 117
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6417,
                        "end": 6525,
                        "loc": {
                          "start": {
                            "line": 135,
                            "column": 8
                          },
                          "end": {
                            "line": 135,
                            "column": 116
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6417,
                          "end": 6442,
                          "loc": {
                            "start": {
                              "line": 135,
                              "column": 8
                            },
                            "end": {
                              "line": 135,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6417,
                            "end": 6432,
                            "loc": {
                              "start": {
                                "line": 135,
                                "column": 8
                              },
                              "end": {
                                "line": 135,
                                "column": 23
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6417,
                              "end": 6421,
                              "loc": {
                                "start": {
                                  "line": 135,
                                  "column": 8
                                },
                                "end": {
                                  "line": 135,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6422,
                              "end": 6432,
                              "loc": {
                                "start": {
                                  "line": 135,
                                  "column": 13
                                },
                                "end": {
                                  "line": 135,
                                  "column": 23
                                }
                              },
                              "name": "ambientHud"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6433,
                            "end": 6442,
                            "loc": {
                              "start": {
                                "line": 135,
                                "column": 24
                              },
                              "end": {
                                "line": 135,
                                "column": 33
                              }
                            },
                            "name": "intensity"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ConditionalExpression",
                          "start": 6445,
                          "end": 6525,
                          "loc": {
                            "start": {
                              "line": 135,
                              "column": 36
                            },
                            "end": {
                              "line": 135,
                              "column": 116
                            }
                          },
                          "test": {
                            "type": "BinaryExpression",
                            "start": 6445,
                            "end": 6492,
                            "loc": {
                              "start": {
                                "line": 135,
                                "column": 36
                              },
                              "end": {
                                "line": 135,
                                "column": 83
                              }
                            },
                            "left": {
                              "type": "UnaryExpression",
                              "start": 6445,
                              "end": 6476,
                              "loc": {
                                "start": {
                                  "line": 135,
                                  "column": 36
                                },
                                "end": {
                                  "line": 135,
                                  "column": 67
                                }
                              },
                              "operator": "typeof",
                              "prefix": true,
                              "argument": {
                                "type": "MemberExpression",
                                "start": 6452,
                                "end": 6476,
                                "loc": {
                                  "start": {
                                    "line": 135,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 135,
                                    "column": 67
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 6452,
                                  "end": 6459,
                                  "loc": {
                                    "start": {
                                      "line": 135,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 135,
                                      "column": 50
                                    }
                                  },
                                  "name": "options"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6460,
                                  "end": 6476,
                                  "loc": {
                                    "start": {
                                      "line": 135,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 135,
                                      "column": 67
                                    }
                                  },
                                  "name": "ambientIntensity"
                                },
                                "computed": false
                              }
                            },
                            "operator": "!==",
                            "right": {
                              "type": "Literal",
                              "start": 6481,
                              "end": 6492,
                              "loc": {
                                "start": {
                                  "line": 135,
                                  "column": 72
                                },
                                "end": {
                                  "line": 135,
                                  "column": 83
                                }
                              },
                              "value": "undefined",
                              "rawValue": "undefined",
                              "raw": "'undefined'"
                            }
                          },
                          "consequent": {
                            "type": "MemberExpression",
                            "start": 6495,
                            "end": 6519,
                            "loc": {
                              "start": {
                                "line": 135,
                                "column": 86
                              },
                              "end": {
                                "line": 135,
                                "column": 110
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 6495,
                              "end": 6502,
                              "loc": {
                                "start": {
                                  "line": 135,
                                  "column": 86
                                },
                                "end": {
                                  "line": 135,
                                  "column": 93
                                }
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6503,
                              "end": 6519,
                              "loc": {
                                "start": {
                                  "line": 135,
                                  "column": 94
                                },
                                "end": {
                                  "line": 135,
                                  "column": 110
                                }
                              },
                              "name": "ambientIntensity"
                            },
                            "computed": false
                          },
                          "alternate": {
                            "type": "Literal",
                            "start": 6522,
                            "end": 6525,
                            "loc": {
                              "start": {
                                "line": 135,
                                "column": 113
                              },
                              "end": {
                                "line": 135,
                                "column": 116
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1.0"
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6535,
                      "end": 6563,
                      "loc": {
                        "start": {
                          "line": 136,
                          "column": 8
                        },
                        "end": {
                          "line": 136,
                          "column": 36
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6535,
                        "end": 6562,
                        "loc": {
                          "start": {
                            "line": 136,
                            "column": 8
                          },
                          "end": {
                            "line": 136,
                            "column": 35
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6535,
                          "end": 6555,
                          "loc": {
                            "start": {
                              "line": 136,
                              "column": 8
                            },
                            "end": {
                              "line": 136,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6535,
                            "end": 6550,
                            "loc": {
                              "start": {
                                "line": 136,
                                "column": 8
                              },
                              "end": {
                                "line": 136,
                                "column": 23
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6535,
                              "end": 6539,
                              "loc": {
                                "start": {
                                  "line": 136,
                                  "column": 8
                                },
                                "end": {
                                  "line": 136,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6540,
                              "end": 6550,
                              "loc": {
                                "start": {
                                  "line": 136,
                                  "column": 13
                                },
                                "end": {
                                  "line": 136,
                                  "column": 23
                                }
                              },
                              "name": "ambientHud"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6551,
                            "end": 6555,
                            "loc": {
                              "start": {
                                "line": 136,
                                "column": 24
                              },
                              "end": {
                                "line": 136,
                                "column": 28
                              }
                            },
                            "name": "keep"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 6558,
                          "end": 6562,
                          "loc": {
                            "start": {
                              "line": 136,
                              "column": 31
                            },
                            "end": {
                              "line": 136,
                              "column": 35
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6572,
                      "end": 6600,
                      "loc": {
                        "start": {
                          "line": 137,
                          "column": 8
                        },
                        "end": {
                          "line": 137,
                          "column": 36
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6572,
                        "end": 6599,
                        "loc": {
                          "start": {
                            "line": 137,
                            "column": 8
                          },
                          "end": {
                            "line": 137,
                            "column": 35
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6572,
                          "end": 6592,
                          "loc": {
                            "start": {
                              "line": 137,
                              "column": 8
                            },
                            "end": {
                              "line": 137,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6572,
                            "end": 6587,
                            "loc": {
                              "start": {
                                "line": 137,
                                "column": 8
                              },
                              "end": {
                                "line": 137,
                                "column": 23
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6572,
                              "end": 6576,
                              "loc": {
                                "start": {
                                  "line": 137,
                                  "column": 8
                                },
                                "end": {
                                  "line": 137,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6577,
                              "end": 6587,
                              "loc": {
                                "start": {
                                  "line": 137,
                                  "column": 13
                                },
                                "end": {
                                  "line": 137,
                                  "column": 23
                                }
                              },
                              "name": "ambientHud"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6588,
                            "end": 6592,
                            "loc": {
                              "start": {
                                "line": 137,
                                "column": 24
                              },
                              "end": {
                                "line": 137,
                                "column": 28
                              }
                            },
                            "name": "view"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ThisExpression",
                          "start": 6595,
                          "end": 6599,
                          "loc": {
                            "start": {
                              "line": 137,
                              "column": 31
                            },
                            "end": {
                              "line": 137,
                              "column": 35
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6609,
                      "end": 6644,
                      "loc": {
                        "start": {
                          "line": 138,
                          "column": 8
                        },
                        "end": {
                          "line": 138,
                          "column": 43
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 6609,
                        "end": 6643,
                        "loc": {
                          "start": {
                            "line": 138,
                            "column": 8
                          },
                          "end": {
                            "line": 138,
                            "column": 42
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 6609,
                          "end": 6626,
                          "loc": {
                            "start": {
                              "line": 138,
                              "column": 8
                            },
                            "end": {
                              "line": 138,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6609,
                            "end": 6622,
                            "loc": {
                              "start": {
                                "line": 138,
                                "column": 8
                              },
                              "end": {
                                "line": 138,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6609,
                              "end": 6613,
                              "loc": {
                                "start": {
                                  "line": 138,
                                  "column": 8
                                },
                                "end": {
                                  "line": 138,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6614,
                              "end": 6622,
                              "loc": {
                                "start": {
                                  "line": 138,
                                  "column": 13
                                },
                                "end": {
                                  "line": 138,
                                  "column": 21
                                }
                              },
                              "name": "sceneHud"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6623,
                            "end": 6626,
                            "loc": {
                              "start": {
                                "line": 138,
                                "column": 22
                              },
                              "end": {
                                "line": 138,
                                "column": 25
                              }
                            },
                            "name": "add"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 6627,
                            "end": 6642,
                            "loc": {
                              "start": {
                                "line": 138,
                                "column": 26
                              },
                              "end": {
                                "line": 138,
                                "column": 41
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6627,
                              "end": 6631,
                              "loc": {
                                "start": {
                                  "line": 138,
                                  "column": 26
                                },
                                "end": {
                                  "line": 138,
                                  "column": 30
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6632,
                              "end": 6642,
                              "loc": {
                                "start": {
                                  "line": 138,
                                  "column": 31
                                },
                                "end": {
                                  "line": 138,
                                  "column": 41
                                }
                              },
                              "name": "ambientHud"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6654,
                      "end": 6695,
                      "loc": {
                        "start": {
                          "line": 140,
                          "column": 8
                        },
                        "end": {
                          "line": 140,
                          "column": 49
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6654,
                        "end": 6694,
                        "loc": {
                          "start": {
                            "line": 140,
                            "column": 8
                          },
                          "end": {
                            "line": 140,
                            "column": 48
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6654,
                          "end": 6670,
                          "loc": {
                            "start": {
                              "line": 140,
                              "column": 8
                            },
                            "end": {
                              "line": 140,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6654,
                            "end": 6658,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 8
                              },
                              "end": {
                                "line": 140,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6659,
                            "end": 6670,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 13
                              },
                              "end": {
                                "line": 140,
                                "column": 24
                              }
                            },
                            "name": "interaction"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 6673,
                          "end": 6694,
                          "loc": {
                            "start": {
                              "line": 140,
                              "column": 27
                            },
                            "end": {
                              "line": 140,
                              "column": 48
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 6677,
                            "end": 6688,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 31
                              },
                              "end": {
                                "line": 140,
                                "column": 42
                              }
                            },
                            "name": "Interaction"
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 6689,
                              "end": 6693,
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 43
                                },
                                "end": {
                                  "line": 140,
                                  "column": 47
                                }
                              }
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6705,
                      "end": 6725,
                      "loc": {
                        "start": {
                          "line": 142,
                          "column": 8
                        },
                        "end": {
                          "line": 142,
                          "column": 28
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 6705,
                        "end": 6724,
                        "loc": {
                          "start": {
                            "line": 142,
                            "column": 8
                          },
                          "end": {
                            "line": 142,
                            "column": 27
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 6705,
                          "end": 6722,
                          "loc": {
                            "start": {
                              "line": 142,
                              "column": 8
                            },
                            "end": {
                              "line": 142,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6705,
                            "end": 6709,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 8
                              },
                              "end": {
                                "line": 142,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6710,
                            "end": 6722,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 13
                              },
                              "end": {
                                "line": 142,
                                "column": 25
                              }
                            },
                            "name": "updateScopes"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6734,
                      "end": 6763,
                      "loc": {
                        "start": {
                          "line": 143,
                          "column": 8
                        },
                        "end": {
                          "line": 143,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 6734,
                        "end": 6762,
                        "loc": {
                          "start": {
                            "line": 143,
                            "column": 8
                          },
                          "end": {
                            "line": 143,
                            "column": 36
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 6734,
                          "end": 6756,
                          "loc": {
                            "start": {
                              "line": 143,
                              "column": 8
                            },
                            "end": {
                              "line": 143,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6734,
                            "end": 6751,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 8
                              },
                              "end": {
                                "line": 143,
                                "column": 25
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 6734,
                              "end": 6745,
                              "loc": {
                                "start": {
                                  "line": 143,
                                  "column": 8
                                },
                                "end": {
                                  "line": 143,
                                  "column": 19
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 6734,
                                "end": 6738,
                                "loc": {
                                  "start": {
                                    "line": 143,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 143,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6739,
                                "end": 6745,
                                "loc": {
                                  "start": {
                                    "line": 143,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 143,
                                    "column": 19
                                  }
                                },
                                "name": "canvas"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6746,
                              "end": 6751,
                              "loc": {
                                "start": {
                                  "line": 143,
                                  "column": 20
                                },
                                "end": {
                                  "line": 143,
                                  "column": 25
                                }
                              },
                              "name": "views"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6752,
                            "end": 6756,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 26
                              },
                              "end": {
                                "line": 143,
                                "column": 30
                              }
                            },
                            "name": "push"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 6757,
                            "end": 6761,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 31
                              },
                              "end": {
                                "line": 143,
                                "column": 35
                              }
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6772,
                      "end": 6795,
                      "loc": {
                        "start": {
                          "line": 144,
                          "column": 8
                        },
                        "end": {
                          "line": 144,
                          "column": 31
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 6772,
                        "end": 6794,
                        "loc": {
                          "start": {
                            "line": 144,
                            "column": 8
                          },
                          "end": {
                            "line": 144,
                            "column": 30
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 6772,
                          "end": 6792,
                          "loc": {
                            "start": {
                              "line": 144,
                              "column": 8
                            },
                            "end": {
                              "line": 144,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6772,
                            "end": 6785,
                            "loc": {
                              "start": {
                                "line": 144,
                                "column": 8
                              },
                              "end": {
                                "line": 144,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6772,
                              "end": 6776,
                              "loc": {
                                "start": {
                                  "line": 144,
                                  "column": 8
                                },
                                "end": {
                                  "line": 144,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6777,
                              "end": 6785,
                              "loc": {
                                "start": {
                                  "line": 144,
                                  "column": 13
                                },
                                "end": {
                                  "line": 144,
                                  "column": 21
                                }
                              },
                              "name": "renderer"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6786,
                            "end": 6792,
                            "loc": {
                              "start": {
                                "line": 144,
                                "column": 22
                              },
                              "end": {
                                "line": 144,
                                "column": 28
                              }
                            },
                            "name": "resize"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "* Construct a new View\n        @param {Object} [canvas=lastCreated] - The parent canvas, if none defined the lastCreated will be used\n        @param {Object} [options={}] - Options to initialize the View with\n        @param {HTMLElement} [options.dom=canvas.dom] - The HTML element on which the view will draw\n        @param {Boolean} [options.renderAlways=false] - Set to true the view will render 60fps,\n        set to false it will render on changes (default, recommended)\n        @param {Boolean} [options.visible=true] - Set to true the view will render\n        @param {Function} [options.callbackBefore=undefined] - Callback before the render pass\n        @param {Function} [options.callbackRender=undefined] - Callback to custom-render the scene\n        @param {Function} [options.callbackAfter=undefined] - Callback after the render pass\n        @param {Number} [options.background=canvas.renderer.clearColor] - Background color\n        @param {Number} [options.opacity=0.0] - Background opacity\n        @param {Number} [options.ambientColor=0xffffff] - Ambient color\n        @param {Number} [options.ambientIntensity=1.0] - Ambient intensity\n        @example\n        import View from 'view';\n        // Create a view, defaults into the same dom as the canvas\n        const view = new View(canvas, { dom: '#view', ambient: 0x909090 });\n        // Add model to the view's scene\n        view.scene.add(model);\n        @returns {Object} The constructed View ",
                  "start": 574,
                  "end": 2041,
                  "loc": {
                    "start": {
                      "line": 15,
                      "column": 4
                    },
                    "end": {
                      "line": 35,
                      "column": 49
                    }
                  },
                  "range": [
                    574,
                    2041
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 6807,
              "end": 7063,
              "loc": {
                "start": {
                  "line": 147,
                  "column": 4
                },
                "end": {
                  "line": 158,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 6811,
                "end": 6820,
                "loc": {
                  "start": {
                    "line": 147,
                    "column": 8
                  },
                  "end": {
                    "line": 147,
                    "column": 17
                  }
                },
                "name": "showStats"
              },
              "static": false,
              "kind": "set",
              "value": {
                "type": "FunctionExpression",
                "start": 6820,
                "end": 7063,
                "loc": {
                  "start": {
                    "line": 147,
                    "column": 17
                  },
                  "end": {
                    "line": 158,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 6821,
                    "end": 6826,
                    "loc": {
                      "start": {
                        "line": 147,
                        "column": 18
                      },
                      "end": {
                        "line": 147,
                        "column": 23
                      }
                    },
                    "name": "value"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 6828,
                  "end": 7063,
                  "loc": {
                    "start": {
                      "line": 147,
                      "column": 25
                    },
                    "end": {
                      "line": 158,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 6839,
                      "end": 6935,
                      "loc": {
                        "start": {
                          "line": 149,
                          "column": 8
                        },
                        "end": {
                          "line": 152,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 6843,
                        "end": 6853,
                        "loc": {
                          "start": {
                            "line": 149,
                            "column": 12
                          },
                          "end": {
                            "line": 149,
                            "column": 22
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 6843,
                          "end": 6847,
                          "loc": {
                            "start": {
                              "line": 149,
                              "column": 12
                            },
                            "end": {
                              "line": 149,
                              "column": 16
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 6848,
                          "end": 6853,
                          "loc": {
                            "start": {
                              "line": 149,
                              "column": 17
                            },
                            "end": {
                              "line": 149,
                              "column": 22
                            }
                          },
                          "name": "stats"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 6855,
                        "end": 6935,
                        "loc": {
                          "start": {
                            "line": 149,
                            "column": 24
                          },
                          "end": {
                            "line": 152,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 6869,
                            "end": 6889,
                            "loc": {
                              "start": {
                                "line": 150,
                                "column": 12
                              },
                              "end": {
                                "line": 150,
                                "column": 32
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 6869,
                              "end": 6888,
                              "loc": {
                                "start": {
                                  "line": 150,
                                  "column": 12
                                },
                                "end": {
                                  "line": 150,
                                  "column": 31
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 6869,
                                "end": 6886,
                                "loc": {
                                  "start": {
                                    "line": 150,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 150,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 6869,
                                  "end": 6879,
                                  "loc": {
                                    "start": {
                                      "line": 150,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 150,
                                      "column": 22
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 6869,
                                    "end": 6873,
                                    "loc": {
                                      "start": {
                                        "line": 150,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 150,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 6874,
                                    "end": 6879,
                                    "loc": {
                                      "start": {
                                        "line": 150,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 150,
                                        "column": 22
                                      }
                                    },
                                    "name": "stats"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6880,
                                  "end": 6886,
                                  "loc": {
                                    "start": {
                                      "line": 150,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 150,
                                      "column": 29
                                    }
                                  },
                                  "name": "remove"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 6902,
                            "end": 6925,
                            "loc": {
                              "start": {
                                "line": 151,
                                "column": 12
                              },
                              "end": {
                                "line": 151,
                                "column": 35
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 6902,
                              "end": 6924,
                              "loc": {
                                "start": {
                                  "line": 151,
                                  "column": 12
                                },
                                "end": {
                                  "line": 151,
                                  "column": 34
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 6902,
                                "end": 6912,
                                "loc": {
                                  "start": {
                                    "line": 151,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 151,
                                    "column": 22
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 6902,
                                  "end": 6906,
                                  "loc": {
                                    "start": {
                                      "line": 151,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 151,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6907,
                                  "end": 6912,
                                  "loc": {
                                    "start": {
                                      "line": 151,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 151,
                                      "column": 22
                                    }
                                  },
                                  "name": "stats"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "Identifier",
                                "start": 6915,
                                "end": 6924,
                                "loc": {
                                  "start": {
                                    "line": 151,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 151,
                                    "column": 34
                                  }
                                },
                                "name": "undefined"
                              }
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 6945,
                      "end": 7057,
                      "loc": {
                        "start": {
                          "line": 154,
                          "column": 8
                        },
                        "end": {
                          "line": 157,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 6949,
                        "end": 6954,
                        "loc": {
                          "start": {
                            "line": 154,
                            "column": 12
                          },
                          "end": {
                            "line": 154,
                            "column": 17
                          }
                        },
                        "name": "value"
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 6956,
                        "end": 7057,
                        "loc": {
                          "start": {
                            "line": 154,
                            "column": 19
                          },
                          "end": {
                            "line": 157,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 6970,
                            "end": 6995,
                            "loc": {
                              "start": {
                                "line": 155,
                                "column": 12
                              },
                              "end": {
                                "line": 155,
                                "column": 37
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 6970,
                              "end": 6994,
                              "loc": {
                                "start": {
                                  "line": 155,
                                  "column": 12
                                },
                                "end": {
                                  "line": 155,
                                  "column": 36
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 6970,
                                "end": 6980,
                                "loc": {
                                  "start": {
                                    "line": 155,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 155,
                                    "column": 22
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 6970,
                                  "end": 6974,
                                  "loc": {
                                    "start": {
                                      "line": 155,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 155,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6975,
                                  "end": 6980,
                                  "loc": {
                                    "start": {
                                      "line": 155,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 155,
                                      "column": 22
                                    }
                                  },
                                  "name": "stats"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "NewExpression",
                                "start": 6983,
                                "end": 6994,
                                "loc": {
                                  "start": {
                                    "line": 155,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 155,
                                    "column": 36
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 6987,
                                  "end": 6992,
                                  "loc": {
                                    "start": {
                                      "line": 155,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 155,
                                      "column": 34
                                    }
                                  },
                                  "name": "Stats"
                                },
                                "arguments": []
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 7008,
                            "end": 7047,
                            "loc": {
                              "start": {
                                "line": 156,
                                "column": 12
                              },
                              "end": {
                                "line": 156,
                                "column": 51
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 7008,
                              "end": 7046,
                              "loc": {
                                "start": {
                                  "line": 156,
                                  "column": 12
                                },
                                "end": {
                                  "line": 156,
                                  "column": 50
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 7008,
                                "end": 7028,
                                "loc": {
                                  "start": {
                                    "line": 156,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 156,
                                    "column": 32
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 7008,
                                  "end": 7016,
                                  "loc": {
                                    "start": {
                                      "line": 156,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 156,
                                      "column": 20
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 7008,
                                    "end": 7012,
                                    "loc": {
                                      "start": {
                                        "line": 156,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 156,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7013,
                                    "end": 7016,
                                    "loc": {
                                      "start": {
                                        "line": 156,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 156,
                                        "column": 20
                                      }
                                    },
                                    "name": "dom"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7017,
                                  "end": 7028,
                                  "loc": {
                                    "start": {
                                      "line": 156,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 156,
                                      "column": 32
                                    }
                                  },
                                  "name": "appendChild"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 7030,
                                  "end": 7044,
                                  "loc": {
                                    "start": {
                                      "line": 156,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 156,
                                      "column": 48
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 7030,
                                    "end": 7040,
                                    "loc": {
                                      "start": {
                                        "line": 156,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 156,
                                        "column": 44
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 7030,
                                      "end": 7034,
                                      "loc": {
                                        "start": {
                                          "line": 156,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 156,
                                          "column": 38
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7035,
                                      "end": 7040,
                                      "loc": {
                                        "start": {
                                          "line": 156,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 156,
                                          "column": 44
                                        }
                                      },
                                      "name": "stats"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7041,
                                    "end": 7044,
                                    "loc": {
                                      "start": {
                                        "line": 156,
                                        "column": 45
                                      },
                                      "end": {
                                        "line": 156,
                                        "column": 48
                                      }
                                    },
                                    "name": "dom"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "alternate": null
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "* Sets the cursor style. Applies when the mouse is inside the view's rect.\n        @param {String} style='auto' - CSS cursor style\n        @param {String} [fallback] - Fallback style, should the target style not be available\n        @example\n        // 'grab' is available in WebKit and Blink only\n        view.setCursor('grab', 'move'); ",
                  "start": 7069,
                  "end": 7411,
                  "loc": {
                    "start": {
                      "line": 160,
                      "column": 4
                    },
                    "end": {
                      "line": 165,
                      "column": 42
                    }
                  },
                  "range": [
                    7069,
                    7411
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 7416,
              "end": 7624,
              "loc": {
                "start": {
                  "line": 166,
                  "column": 4
                },
                "end": {
                  "line": 172,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 7416,
                "end": 7425,
                "loc": {
                  "start": {
                    "line": 166,
                    "column": 4
                  },
                  "end": {
                    "line": 166,
                    "column": 13
                  }
                },
                "name": "setCursor",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 7425,
                "end": 7624,
                "loc": {
                  "start": {
                    "line": 166,
                    "column": 13
                  },
                  "end": {
                    "line": 172,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "AssignmentPattern",
                    "start": 7426,
                    "end": 7438,
                    "loc": {
                      "start": {
                        "line": 166,
                        "column": 14
                      },
                      "end": {
                        "line": 166,
                        "column": 26
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 7426,
                      "end": 7431,
                      "loc": {
                        "start": {
                          "line": 166,
                          "column": 14
                        },
                        "end": {
                          "line": 166,
                          "column": 19
                        }
                      },
                      "name": "style"
                    },
                    "right": {
                      "type": "Literal",
                      "start": 7432,
                      "end": 7438,
                      "loc": {
                        "start": {
                          "line": 166,
                          "column": 20
                        },
                        "end": {
                          "line": 166,
                          "column": 26
                        }
                      },
                      "value": "auto",
                      "rawValue": "auto",
                      "raw": "'auto'"
                    }
                  },
                  {
                    "type": "Identifier",
                    "start": 7440,
                    "end": 7448,
                    "loc": {
                      "start": {
                        "line": 166,
                        "column": 28
                      },
                      "end": {
                        "line": 166,
                        "column": 36
                      }
                    },
                    "name": "fallback"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 7450,
                  "end": 7624,
                  "loc": {
                    "start": {
                      "line": 166,
                      "column": 38
                    },
                    "end": {
                      "line": 172,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 7460,
                      "end": 7597,
                      "loc": {
                        "start": {
                          "line": 167,
                          "column": 8
                        },
                        "end": {
                          "line": 170,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 7464,
                        "end": 7484,
                        "loc": {
                          "start": {
                            "line": 167,
                            "column": 12
                          },
                          "end": {
                            "line": 167,
                            "column": 32
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 7464,
                          "end": 7469,
                          "loc": {
                            "start": {
                              "line": 167,
                              "column": 12
                            },
                            "end": {
                              "line": 167,
                              "column": 17
                            }
                          },
                          "name": "style"
                        },
                        "operator": "!=",
                        "right": {
                          "type": "MemberExpression",
                          "start": 7473,
                          "end": 7484,
                          "loc": {
                            "start": {
                              "line": 167,
                              "column": 21
                            },
                            "end": {
                              "line": 167,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 7473,
                            "end": 7477,
                            "loc": {
                              "start": {
                                "line": 167,
                                "column": 21
                              },
                              "end": {
                                "line": 167,
                                "column": 25
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7478,
                            "end": 7484,
                            "loc": {
                              "start": {
                                "line": 167,
                                "column": 26
                              },
                              "end": {
                                "line": 167,
                                "column": 32
                              }
                            },
                            "name": "cursor"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 7486,
                        "end": 7597,
                        "loc": {
                          "start": {
                            "line": 167,
                            "column": 34
                          },
                          "end": {
                            "line": 170,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 7500,
                            "end": 7554,
                            "loc": {
                              "start": {
                                "line": 168,
                                "column": 12
                              },
                              "end": {
                                "line": 168,
                                "column": 66
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 7500,
                              "end": 7553,
                              "loc": {
                                "start": {
                                  "line": 168,
                                  "column": 12
                                },
                                "end": {
                                  "line": 168,
                                  "column": 65
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 7500,
                                "end": 7516,
                                "loc": {
                                  "start": {
                                    "line": 168,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 168,
                                    "column": 28
                                  }
                                },
                                "name": "setPrefixedValue"
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 7517,
                                  "end": 7525,
                                  "loc": {
                                    "start": {
                                      "line": 168,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 168,
                                      "column": 37
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 7517,
                                    "end": 7521,
                                    "loc": {
                                      "start": {
                                        "line": 168,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 168,
                                        "column": 33
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7522,
                                    "end": 7525,
                                    "loc": {
                                      "start": {
                                        "line": 168,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 168,
                                        "column": 37
                                      }
                                    },
                                    "name": "dom"
                                  },
                                  "computed": false
                                },
                                {
                                  "type": "Literal",
                                  "start": 7527,
                                  "end": 7535,
                                  "loc": {
                                    "start": {
                                      "line": 168,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 168,
                                      "column": 47
                                    }
                                  },
                                  "value": "cursor",
                                  "rawValue": "cursor",
                                  "raw": "\"cursor\""
                                },
                                {
                                  "type": "Identifier",
                                  "start": 7537,
                                  "end": 7542,
                                  "loc": {
                                    "start": {
                                      "line": 168,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 168,
                                      "column": 54
                                    }
                                  },
                                  "name": "style"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 7544,
                                  "end": 7552,
                                  "loc": {
                                    "start": {
                                      "line": 168,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 168,
                                      "column": 64
                                    }
                                  },
                                  "name": "fallback"
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 7567,
                            "end": 7587,
                            "loc": {
                              "start": {
                                "line": 169,
                                "column": 12
                              },
                              "end": {
                                "line": 169,
                                "column": 32
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 7567,
                              "end": 7586,
                              "loc": {
                                "start": {
                                  "line": 169,
                                  "column": 12
                                },
                                "end": {
                                  "line": 169,
                                  "column": 31
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 7567,
                                "end": 7578,
                                "loc": {
                                  "start": {
                                    "line": 169,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 169,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 7567,
                                  "end": 7571,
                                  "loc": {
                                    "start": {
                                      "line": 169,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 169,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7572,
                                  "end": 7578,
                                  "loc": {
                                    "start": {
                                      "line": 169,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 169,
                                      "column": 23
                                    }
                                  },
                                  "name": "cursor"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "Identifier",
                                "start": 7581,
                                "end": 7586,
                                "loc": {
                                  "start": {
                                    "line": 169,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 169,
                                    "column": 31
                                  }
                                },
                                "name": "style"
                              }
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 7606,
                      "end": 7618,
                      "loc": {
                        "start": {
                          "line": 171,
                          "column": 8
                        },
                        "end": {
                          "line": 171,
                          "column": 20
                        }
                      },
                      "argument": {
                        "type": "ThisExpression",
                        "start": 7613,
                        "end": 7617,
                        "loc": {
                          "start": {
                            "line": 171,
                            "column": 15
                          },
                          "end": {
                            "line": 171,
                            "column": 19
                          }
                        }
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "* Sets the cursor style. Applies when the mouse is inside the view's rect.\n        @param {String} style='auto' - CSS cursor style\n        @param {String} [fallback] - Fallback style, should the target style not be available\n        @example\n        // 'grab' is available in WebKit and Blink only\n        view.setCursor('grab', 'move'); ",
                  "start": 7069,
                  "end": 7411,
                  "loc": {
                    "start": {
                      "line": 160,
                      "column": 4
                    },
                    "end": {
                      "line": 165,
                      "column": 42
                    }
                  },
                  "range": [
                    7069,
                    7411
                  ]
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "* Projects 2-dimensional coordinate from a 3-dimensional point within the view's scene.\n        @param {THREE.Vector3} point3 - Input point\n        @example\n        // Grab x and y off THREE's projected Vector2\n        let {x, y} = view.getPoint2D(new THREE.Vector3(10, 20, 100));\n        @returns {THREE.Vector2} The projected point ",
                  "start": 7630,
                  "end": 7968,
                  "loc": {
                    "start": {
                      "line": 174,
                      "column": 4
                    },
                    "end": {
                      "line": 179,
                      "column": 55
                    }
                  },
                  "range": [
                    7630,
                    7968
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 7973,
              "end": 8254,
              "loc": {
                "start": {
                  "line": 180,
                  "column": 4
                },
                "end": {
                  "line": 186,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 7973,
                "end": 7982,
                "loc": {
                  "start": {
                    "line": 180,
                    "column": 4
                  },
                  "end": {
                    "line": 180,
                    "column": 13
                  }
                },
                "name": "getPoint2",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 7982,
                "end": 8254,
                "loc": {
                  "start": {
                    "line": 180,
                    "column": 13
                  },
                  "end": {
                    "line": 186,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 7983,
                    "end": 7989,
                    "loc": {
                      "start": {
                        "line": 180,
                        "column": 14
                      },
                      "end": {
                        "line": 180,
                        "column": 20
                      }
                    },
                    "name": "point3"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 7991,
                  "end": 8254,
                  "loc": {
                    "start": {
                      "line": 180,
                      "column": 22
                    },
                    "end": {
                      "line": 186,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 8001,
                      "end": 8062,
                      "loc": {
                        "start": {
                          "line": 181,
                          "column": 8
                        },
                        "end": {
                          "line": 181,
                          "column": 69
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 8005,
                          "end": 8031,
                          "loc": {
                            "start": {
                              "line": 181,
                              "column": 12
                            },
                            "end": {
                              "line": 181,
                              "column": 38
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 8005,
                            "end": 8014,
                            "loc": {
                              "start": {
                                "line": 181,
                                "column": 12
                              },
                              "end": {
                                "line": 181,
                                "column": 21
                              }
                            },
                            "name": "widthHalf"
                          },
                          "init": {
                            "type": "BinaryExpression",
                            "start": 8017,
                            "end": 8031,
                            "loc": {
                              "start": {
                                "line": 181,
                                "column": 24
                              },
                              "end": {
                                "line": 181,
                                "column": 38
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 8017,
                              "end": 8027,
                              "loc": {
                                "start": {
                                  "line": 181,
                                  "column": 24
                                },
                                "end": {
                                  "line": 181,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 8017,
                                "end": 8021,
                                "loc": {
                                  "start": {
                                    "line": 181,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 181,
                                    "column": 28
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8022,
                                "end": 8027,
                                "loc": {
                                  "start": {
                                    "line": 181,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 181,
                                    "column": 34
                                  }
                                },
                                "name": "width"
                              },
                              "computed": false
                            },
                            "operator": "/",
                            "right": {
                              "type": "Literal",
                              "start": 8030,
                              "end": 8031,
                              "loc": {
                                "start": {
                                  "line": 181,
                                  "column": 37
                                },
                                "end": {
                                  "line": 181,
                                  "column": 38
                                }
                              },
                              "value": 2,
                              "rawValue": 2,
                              "raw": "2"
                            }
                          }
                        },
                        {
                          "type": "VariableDeclarator",
                          "start": 8033,
                          "end": 8061,
                          "loc": {
                            "start": {
                              "line": 181,
                              "column": 40
                            },
                            "end": {
                              "line": 181,
                              "column": 68
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 8033,
                            "end": 8043,
                            "loc": {
                              "start": {
                                "line": 181,
                                "column": 40
                              },
                              "end": {
                                "line": 181,
                                "column": 50
                              }
                            },
                            "name": "heightHalf"
                          },
                          "init": {
                            "type": "BinaryExpression",
                            "start": 8046,
                            "end": 8061,
                            "loc": {
                              "start": {
                                "line": 181,
                                "column": 53
                              },
                              "end": {
                                "line": 181,
                                "column": 68
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 8046,
                              "end": 8057,
                              "loc": {
                                "start": {
                                  "line": 181,
                                  "column": 53
                                },
                                "end": {
                                  "line": 181,
                                  "column": 64
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 8046,
                                "end": 8050,
                                "loc": {
                                  "start": {
                                    "line": 181,
                                    "column": 53
                                  },
                                  "end": {
                                    "line": 181,
                                    "column": 57
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8051,
                                "end": 8057,
                                "loc": {
                                  "start": {
                                    "line": 181,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 181,
                                    "column": 64
                                  }
                                },
                                "name": "height"
                              },
                              "computed": false
                            },
                            "operator": "/",
                            "right": {
                              "type": "Literal",
                              "start": 8060,
                              "end": 8061,
                              "loc": {
                                "start": {
                                  "line": 181,
                                  "column": 67
                                },
                                "end": {
                                  "line": 181,
                                  "column": 68
                                }
                              },
                              "value": 2,
                              "rawValue": 2,
                              "raw": "2"
                            }
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 8071,
                      "end": 8112,
                      "loc": {
                        "start": {
                          "line": 182,
                          "column": 8
                        },
                        "end": {
                          "line": 182,
                          "column": 49
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 8075,
                          "end": 8111,
                          "loc": {
                            "start": {
                              "line": 182,
                              "column": 12
                            },
                            "end": {
                              "line": 182,
                              "column": 48
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 8075,
                            "end": 8081,
                            "loc": {
                              "start": {
                                "line": 182,
                                "column": 12
                              },
                              "end": {
                                "line": 182,
                                "column": 18
                              }
                            },
                            "name": "vector"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 8084,
                            "end": 8111,
                            "loc": {
                              "start": {
                                "line": 182,
                                "column": 21
                              },
                              "end": {
                                "line": 182,
                                "column": 48
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 8084,
                              "end": 8098,
                              "loc": {
                                "start": {
                                  "line": 182,
                                  "column": 21
                                },
                                "end": {
                                  "line": 182,
                                  "column": 35
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 8084,
                                "end": 8090,
                                "loc": {
                                  "start": {
                                    "line": 182,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 182,
                                    "column": 27
                                  }
                                },
                                "name": "point3"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8091,
                                "end": 8098,
                                "loc": {
                                  "start": {
                                    "line": 182,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 182,
                                    "column": 35
                                  }
                                },
                                "name": "project"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 8099,
                                "end": 8110,
                                "loc": {
                                  "start": {
                                    "line": 182,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 182,
                                    "column": 47
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 8099,
                                  "end": 8103,
                                  "loc": {
                                    "start": {
                                      "line": 182,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 182,
                                      "column": 40
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8104,
                                  "end": 8110,
                                  "loc": {
                                    "start": {
                                      "line": 182,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 182,
                                      "column": 47
                                    }
                                  },
                                  "name": "camera"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 8121,
                      "end": 8167,
                      "loc": {
                        "start": {
                          "line": 183,
                          "column": 8
                        },
                        "end": {
                          "line": 183,
                          "column": 54
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 8121,
                        "end": 8166,
                        "loc": {
                          "start": {
                            "line": 183,
                            "column": 8
                          },
                          "end": {
                            "line": 183,
                            "column": 53
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 8121,
                          "end": 8129,
                          "loc": {
                            "start": {
                              "line": 183,
                              "column": 8
                            },
                            "end": {
                              "line": 183,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 8121,
                            "end": 8127,
                            "loc": {
                              "start": {
                                "line": 183,
                                "column": 8
                              },
                              "end": {
                                "line": 183,
                                "column": 14
                              }
                            },
                            "name": "vector"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8128,
                            "end": 8129,
                            "loc": {
                              "start": {
                                "line": 183,
                                "column": 15
                              },
                              "end": {
                                "line": 183,
                                "column": 16
                              }
                            },
                            "name": "x"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "BinaryExpression",
                          "start": 8132,
                          "end": 8166,
                          "loc": {
                            "start": {
                              "line": 183,
                              "column": 19
                            },
                            "end": {
                              "line": 183,
                              "column": 53
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 8133,
                            "end": 8153,
                            "loc": {
                              "start": {
                                "line": 183,
                                "column": 20
                              },
                              "end": {
                                "line": 183,
                                "column": 40
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 8133,
                              "end": 8141,
                              "loc": {
                                "start": {
                                  "line": 183,
                                  "column": 20
                                },
                                "end": {
                                  "line": 183,
                                  "column": 28
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 8133,
                                "end": 8139,
                                "loc": {
                                  "start": {
                                    "line": 183,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 183,
                                    "column": 26
                                  }
                                },
                                "name": "vector"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8140,
                                "end": 8141,
                                "loc": {
                                  "start": {
                                    "line": 183,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 183,
                                    "column": 28
                                  }
                                },
                                "name": "x"
                              },
                              "computed": false
                            },
                            "operator": "*",
                            "right": {
                              "type": "Identifier",
                              "start": 8144,
                              "end": 8153,
                              "loc": {
                                "start": {
                                  "line": 183,
                                  "column": 31
                                },
                                "end": {
                                  "line": 183,
                                  "column": 40
                                }
                              },
                              "name": "widthHalf"
                            },
                            "parenthesizedExpression": true
                          },
                          "operator": "+",
                          "right": {
                            "type": "Identifier",
                            "start": 8157,
                            "end": 8166,
                            "loc": {
                              "start": {
                                "line": 183,
                                "column": 44
                              },
                              "end": {
                                "line": 183,
                                "column": 53
                              }
                            },
                            "name": "widthHalf"
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 8176,
                      "end": 8225,
                      "loc": {
                        "start": {
                          "line": 184,
                          "column": 8
                        },
                        "end": {
                          "line": 184,
                          "column": 57
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 8176,
                        "end": 8224,
                        "loc": {
                          "start": {
                            "line": 184,
                            "column": 8
                          },
                          "end": {
                            "line": 184,
                            "column": 56
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 8176,
                          "end": 8184,
                          "loc": {
                            "start": {
                              "line": 184,
                              "column": 8
                            },
                            "end": {
                              "line": 184,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 8176,
                            "end": 8182,
                            "loc": {
                              "start": {
                                "line": 184,
                                "column": 8
                              },
                              "end": {
                                "line": 184,
                                "column": 14
                              }
                            },
                            "name": "vector"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8183,
                            "end": 8184,
                            "loc": {
                              "start": {
                                "line": 184,
                                "column": 15
                              },
                              "end": {
                                "line": 184,
                                "column": 16
                              }
                            },
                            "name": "y"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "BinaryExpression",
                          "start": 8187,
                          "end": 8224,
                          "loc": {
                            "start": {
                              "line": 184,
                              "column": 19
                            },
                            "end": {
                              "line": 184,
                              "column": 56
                            }
                          },
                          "left": {
                            "type": "UnaryExpression",
                            "start": 8187,
                            "end": 8211,
                            "loc": {
                              "start": {
                                "line": 184,
                                "column": 19
                              },
                              "end": {
                                "line": 184,
                                "column": 43
                              }
                            },
                            "operator": "-",
                            "prefix": true,
                            "argument": {
                              "type": "BinaryExpression",
                              "start": 8189,
                              "end": 8210,
                              "loc": {
                                "start": {
                                  "line": 184,
                                  "column": 21
                                },
                                "end": {
                                  "line": 184,
                                  "column": 42
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 8189,
                                "end": 8197,
                                "loc": {
                                  "start": {
                                    "line": 184,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 184,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 8189,
                                  "end": 8195,
                                  "loc": {
                                    "start": {
                                      "line": 184,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 184,
                                      "column": 27
                                    }
                                  },
                                  "name": "vector"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8196,
                                  "end": 8197,
                                  "loc": {
                                    "start": {
                                      "line": 184,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 184,
                                      "column": 29
                                    }
                                  },
                                  "name": "y"
                                },
                                "computed": false
                              },
                              "operator": "*",
                              "right": {
                                "type": "Identifier",
                                "start": 8200,
                                "end": 8210,
                                "loc": {
                                  "start": {
                                    "line": 184,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 184,
                                    "column": 42
                                  }
                                },
                                "name": "heightHalf"
                              },
                              "parenthesizedExpression": true
                            }
                          },
                          "operator": "+",
                          "right": {
                            "type": "Identifier",
                            "start": 8214,
                            "end": 8224,
                            "loc": {
                              "start": {
                                "line": 184,
                                "column": 46
                              },
                              "end": {
                                "line": 184,
                                "column": 56
                              }
                            },
                            "name": "heightHalf"
                          }
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 8234,
                      "end": 8248,
                      "loc": {
                        "start": {
                          "line": 185,
                          "column": 8
                        },
                        "end": {
                          "line": 185,
                          "column": 22
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 8241,
                        "end": 8247,
                        "loc": {
                          "start": {
                            "line": 185,
                            "column": 15
                          },
                          "end": {
                            "line": 185,
                            "column": 21
                          }
                        },
                        "name": "vector"
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "* Projects 2-dimensional coordinate from a 3-dimensional point within the view's scene.\n        @param {THREE.Vector3} point3 - Input point\n        @example\n        // Grab x and y off THREE's projected Vector2\n        let {x, y} = view.getPoint2D(new THREE.Vector3(10, 20, 100));\n        @returns {THREE.Vector2} The projected point ",
                  "start": 7630,
                  "end": 7968,
                  "loc": {
                    "start": {
                      "line": 174,
                      "column": 4
                    },
                    "end": {
                      "line": 179,
                      "column": 55
                    }
                  },
                  "range": [
                    7630,
                    7968
                  ]
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "/Note: maximal depth is used, so the point is on the \"far\" frustum (with huge coordinates)",
                  "start": 8260,
                  "end": 8352,
                  "loc": {
                    "start": {
                      "line": 188,
                      "column": 4
                    },
                    "end": {
                      "line": 188,
                      "column": 96
                    }
                  },
                  "range": [
                    8260,
                    8352
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 8357,
              "end": 8555,
              "loc": {
                "start": {
                  "line": 189,
                  "column": 4
                },
                "end": {
                  "line": 193,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 8357,
                "end": 8366,
                "loc": {
                  "start": {
                    "line": 189,
                    "column": 4
                  },
                  "end": {
                    "line": 189,
                    "column": 13
                  }
                },
                "name": "getPoint3",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 8366,
                "end": 8555,
                "loc": {
                  "start": {
                    "line": 189,
                    "column": 13
                  },
                  "end": {
                    "line": 193,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 8367,
                    "end": 8373,
                    "loc": {
                      "start": {
                        "line": 189,
                        "column": 14
                      },
                      "end": {
                        "line": 189,
                        "column": 20
                      }
                    },
                    "name": "point2"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 8375,
                  "end": 8555,
                  "loc": {
                    "start": {
                      "line": 189,
                      "column": 22
                    },
                    "end": {
                      "line": 193,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 8385,
                      "end": 8487,
                      "loc": {
                        "start": {
                          "line": 190,
                          "column": 8
                        },
                        "end": {
                          "line": 190,
                          "column": 110
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 8389,
                          "end": 8486,
                          "loc": {
                            "start": {
                              "line": 190,
                              "column": 12
                            },
                            "end": {
                              "line": 190,
                              "column": 109
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 8389,
                            "end": 8395,
                            "loc": {
                              "start": {
                                "line": 190,
                                "column": 12
                              },
                              "end": {
                                "line": 190,
                                "column": 18
                              }
                            },
                            "name": "vector"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 8398,
                            "end": 8486,
                            "loc": {
                              "start": {
                                "line": 190,
                                "column": 21
                              },
                              "end": {
                                "line": 190,
                                "column": 109
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 8402,
                              "end": 8415,
                              "loc": {
                                "start": {
                                  "line": 190,
                                  "column": 25
                                },
                                "end": {
                                  "line": 190,
                                  "column": 38
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 8402,
                                "end": 8407,
                                "loc": {
                                  "start": {
                                    "line": 190,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 190,
                                    "column": 30
                                  }
                                },
                                "name": "THREE"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8408,
                                "end": 8415,
                                "loc": {
                                  "start": {
                                    "line": 190,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 190,
                                    "column": 38
                                  }
                                },
                                "name": "Vector3"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "BinaryExpression",
                                "start": 8416,
                                "end": 8447,
                                "loc": {
                                  "start": {
                                    "line": 190,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 190,
                                    "column": 70
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 8416,
                                  "end": 8443,
                                  "loc": {
                                    "start": {
                                      "line": 190,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 190,
                                      "column": 66
                                    }
                                  },
                                  "left": {
                                    "type": "BinaryExpression",
                                    "start": 8417,
                                    "end": 8438,
                                    "loc": {
                                      "start": {
                                        "line": 190,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 190,
                                        "column": 61
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 8417,
                                      "end": 8425,
                                      "loc": {
                                        "start": {
                                          "line": 190,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 190,
                                          "column": 48
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 8417,
                                        "end": 8423,
                                        "loc": {
                                          "start": {
                                            "line": 190,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 190,
                                            "column": 46
                                          }
                                        },
                                        "name": "point2"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8424,
                                        "end": 8425,
                                        "loc": {
                                          "start": {
                                            "line": 190,
                                            "column": 47
                                          },
                                          "end": {
                                            "line": 190,
                                            "column": 48
                                          }
                                        },
                                        "name": "x"
                                      },
                                      "computed": false
                                    },
                                    "operator": "/",
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 8428,
                                      "end": 8438,
                                      "loc": {
                                        "start": {
                                          "line": 190,
                                          "column": 51
                                        },
                                        "end": {
                                          "line": 190,
                                          "column": 61
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 8428,
                                        "end": 8432,
                                        "loc": {
                                          "start": {
                                            "line": 190,
                                            "column": 51
                                          },
                                          "end": {
                                            "line": 190,
                                            "column": 55
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8433,
                                        "end": 8438,
                                        "loc": {
                                          "start": {
                                            "line": 190,
                                            "column": 56
                                          },
                                          "end": {
                                            "line": 190,
                                            "column": 61
                                          }
                                        },
                                        "name": "width"
                                      },
                                      "computed": false
                                    },
                                    "parenthesizedExpression": true
                                  },
                                  "operator": "*",
                                  "right": {
                                    "type": "Literal",
                                    "start": 8442,
                                    "end": 8443,
                                    "loc": {
                                      "start": {
                                        "line": 190,
                                        "column": 65
                                      },
                                      "end": {
                                        "line": 190,
                                        "column": 66
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  }
                                },
                                "operator": "-",
                                "right": {
                                  "type": "Literal",
                                  "start": 8446,
                                  "end": 8447,
                                  "loc": {
                                    "start": {
                                      "line": 190,
                                      "column": 69
                                    },
                                    "end": {
                                      "line": 190,
                                      "column": 70
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                }
                              },
                              {
                                "type": "BinaryExpression",
                                "start": 8449,
                                "end": 8482,
                                "loc": {
                                  "start": {
                                    "line": 190,
                                    "column": 72
                                  },
                                  "end": {
                                    "line": 190,
                                    "column": 105
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 8449,
                                  "end": 8478,
                                  "loc": {
                                    "start": {
                                      "line": 190,
                                      "column": 72
                                    },
                                    "end": {
                                      "line": 190,
                                      "column": 101
                                    }
                                  },
                                  "left": {
                                    "type": "UnaryExpression",
                                    "start": 8449,
                                    "end": 8474,
                                    "loc": {
                                      "start": {
                                        "line": 190,
                                        "column": 72
                                      },
                                      "end": {
                                        "line": 190,
                                        "column": 97
                                      }
                                    },
                                    "operator": "-",
                                    "prefix": true,
                                    "argument": {
                                      "type": "BinaryExpression",
                                      "start": 8451,
                                      "end": 8473,
                                      "loc": {
                                        "start": {
                                          "line": 190,
                                          "column": 74
                                        },
                                        "end": {
                                          "line": 190,
                                          "column": 96
                                        }
                                      },
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 8451,
                                        "end": 8459,
                                        "loc": {
                                          "start": {
                                            "line": 190,
                                            "column": 74
                                          },
                                          "end": {
                                            "line": 190,
                                            "column": 82
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 8451,
                                          "end": 8457,
                                          "loc": {
                                            "start": {
                                              "line": 190,
                                              "column": 74
                                            },
                                            "end": {
                                              "line": 190,
                                              "column": 80
                                            }
                                          },
                                          "name": "point2"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8458,
                                          "end": 8459,
                                          "loc": {
                                            "start": {
                                              "line": 190,
                                              "column": 81
                                            },
                                            "end": {
                                              "line": 190,
                                              "column": 82
                                            }
                                          },
                                          "name": "y"
                                        },
                                        "computed": false
                                      },
                                      "operator": "/",
                                      "right": {
                                        "type": "MemberExpression",
                                        "start": 8462,
                                        "end": 8473,
                                        "loc": {
                                          "start": {
                                            "line": 190,
                                            "column": 85
                                          },
                                          "end": {
                                            "line": 190,
                                            "column": 96
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 8462,
                                          "end": 8466,
                                          "loc": {
                                            "start": {
                                              "line": 190,
                                              "column": 85
                                            },
                                            "end": {
                                              "line": 190,
                                              "column": 89
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8467,
                                          "end": 8473,
                                          "loc": {
                                            "start": {
                                              "line": 190,
                                              "column": 90
                                            },
                                            "end": {
                                              "line": 190,
                                              "column": 96
                                            }
                                          },
                                          "name": "height"
                                        },
                                        "computed": false
                                      },
                                      "parenthesizedExpression": true
                                    }
                                  },
                                  "operator": "*",
                                  "right": {
                                    "type": "Literal",
                                    "start": 8477,
                                    "end": 8478,
                                    "loc": {
                                      "start": {
                                        "line": 190,
                                        "column": 100
                                      },
                                      "end": {
                                        "line": 190,
                                        "column": 101
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  }
                                },
                                "operator": "+",
                                "right": {
                                  "type": "Literal",
                                  "start": 8481,
                                  "end": 8482,
                                  "loc": {
                                    "start": {
                                      "line": 190,
                                      "column": 104
                                    },
                                    "end": {
                                      "line": 190,
                                      "column": 105
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                }
                              },
                              {
                                "type": "Literal",
                                "start": 8484,
                                "end": 8485,
                                "loc": {
                                  "start": {
                                    "line": 190,
                                    "column": 107
                                  },
                                  "end": {
                                    "line": 190,
                                    "column": 108
                                  }
                                },
                                "value": 1,
                                "rawValue": 1,
                                "raw": "1"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 8496,
                      "end": 8526,
                      "loc": {
                        "start": {
                          "line": 191,
                          "column": 8
                        },
                        "end": {
                          "line": 191,
                          "column": 38
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 8496,
                        "end": 8525,
                        "loc": {
                          "start": {
                            "line": 191,
                            "column": 8
                          },
                          "end": {
                            "line": 191,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 8496,
                          "end": 8512,
                          "loc": {
                            "start": {
                              "line": 191,
                              "column": 8
                            },
                            "end": {
                              "line": 191,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 8496,
                            "end": 8502,
                            "loc": {
                              "start": {
                                "line": 191,
                                "column": 8
                              },
                              "end": {
                                "line": 191,
                                "column": 14
                              }
                            },
                            "name": "vector"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8503,
                            "end": 8512,
                            "loc": {
                              "start": {
                                "line": 191,
                                "column": 15
                              },
                              "end": {
                                "line": 191,
                                "column": 24
                              }
                            },
                            "name": "unproject"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 8513,
                            "end": 8524,
                            "loc": {
                              "start": {
                                "line": 191,
                                "column": 25
                              },
                              "end": {
                                "line": 191,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 8513,
                              "end": 8517,
                              "loc": {
                                "start": {
                                  "line": 191,
                                  "column": 25
                                },
                                "end": {
                                  "line": 191,
                                  "column": 29
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8518,
                              "end": 8524,
                              "loc": {
                                "start": {
                                  "line": 191,
                                  "column": 30
                                },
                                "end": {
                                  "line": 191,
                                  "column": 36
                                }
                              },
                              "name": "camera"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 8535,
                      "end": 8549,
                      "loc": {
                        "start": {
                          "line": 192,
                          "column": 8
                        },
                        "end": {
                          "line": 192,
                          "column": 22
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 8542,
                        "end": 8548,
                        "loc": {
                          "start": {
                            "line": 192,
                            "column": 15
                          },
                          "end": {
                            "line": 192,
                            "column": 21
                          }
                        },
                        "name": "vector"
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "/Note: maximal depth is used, so the point is on the \"far\" frustum (with huge coordinates)",
                  "start": 8260,
                  "end": 8352,
                  "loc": {
                    "start": {
                      "line": 188,
                      "column": 4
                    },
                    "end": {
                      "line": 188,
                      "column": 96
                    }
                  },
                  "range": [
                    8260,
                    8352
                  ]
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": "/returns a line of all the points corresponding to given 2D view coords",
                  "start": 8561,
                  "end": 8634,
                  "loc": {
                    "start": {
                      "line": 195,
                      "column": 4
                    },
                    "end": {
                      "line": 195,
                      "column": 77
                    }
                  },
                  "range": [
                    8561,
                    8634
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 8639,
              "end": 9001,
              "loc": {
                "start": {
                  "line": 196,
                  "column": 4
                },
                "end": {
                  "line": 202,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 8639,
                "end": 8651,
                "loc": {
                  "start": {
                    "line": 196,
                    "column": 4
                  },
                  "end": {
                    "line": 196,
                    "column": 16
                  }
                },
                "name": "getViewLine3",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 8651,
                "end": 9001,
                "loc": {
                  "start": {
                    "line": 196,
                    "column": 16
                  },
                  "end": {
                    "line": 202,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 8652,
                    "end": 8658,
                    "loc": {
                      "start": {
                        "line": 196,
                        "column": 17
                      },
                      "end": {
                        "line": 196,
                        "column": 23
                      }
                    },
                    "name": "point2"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 8660,
                  "end": 9001,
                  "loc": {
                    "start": {
                      "line": 196,
                      "column": 25
                    },
                    "end": {
                      "line": 202,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 8670,
                      "end": 8770,
                      "loc": {
                        "start": {
                          "line": 197,
                          "column": 8
                        },
                        "end": {
                          "line": 197,
                          "column": 108
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 8674,
                          "end": 8769,
                          "loc": {
                            "start": {
                              "line": 197,
                              "column": 12
                            },
                            "end": {
                              "line": 197,
                              "column": 107
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 8674,
                            "end": 8678,
                            "loc": {
                              "start": {
                                "line": 197,
                                "column": 12
                              },
                              "end": {
                                "line": 197,
                                "column": 16
                              }
                            },
                            "name": "near"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 8681,
                            "end": 8769,
                            "loc": {
                              "start": {
                                "line": 197,
                                "column": 19
                              },
                              "end": {
                                "line": 197,
                                "column": 107
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 8685,
                              "end": 8698,
                              "loc": {
                                "start": {
                                  "line": 197,
                                  "column": 23
                                },
                                "end": {
                                  "line": 197,
                                  "column": 36
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 8685,
                                "end": 8690,
                                "loc": {
                                  "start": {
                                    "line": 197,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 197,
                                    "column": 28
                                  }
                                },
                                "name": "THREE"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8691,
                                "end": 8698,
                                "loc": {
                                  "start": {
                                    "line": 197,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 197,
                                    "column": 36
                                  }
                                },
                                "name": "Vector3"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "BinaryExpression",
                                "start": 8699,
                                "end": 8730,
                                "loc": {
                                  "start": {
                                    "line": 197,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 197,
                                    "column": 68
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 8699,
                                  "end": 8726,
                                  "loc": {
                                    "start": {
                                      "line": 197,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 197,
                                      "column": 64
                                    }
                                  },
                                  "left": {
                                    "type": "BinaryExpression",
                                    "start": 8700,
                                    "end": 8721,
                                    "loc": {
                                      "start": {
                                        "line": 197,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 197,
                                        "column": 59
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 8700,
                                      "end": 8708,
                                      "loc": {
                                        "start": {
                                          "line": 197,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 197,
                                          "column": 46
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 8700,
                                        "end": 8706,
                                        "loc": {
                                          "start": {
                                            "line": 197,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 197,
                                            "column": 44
                                          }
                                        },
                                        "name": "point2"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8707,
                                        "end": 8708,
                                        "loc": {
                                          "start": {
                                            "line": 197,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 197,
                                            "column": 46
                                          }
                                        },
                                        "name": "x"
                                      },
                                      "computed": false
                                    },
                                    "operator": "/",
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 8711,
                                      "end": 8721,
                                      "loc": {
                                        "start": {
                                          "line": 197,
                                          "column": 49
                                        },
                                        "end": {
                                          "line": 197,
                                          "column": 59
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 8711,
                                        "end": 8715,
                                        "loc": {
                                          "start": {
                                            "line": 197,
                                            "column": 49
                                          },
                                          "end": {
                                            "line": 197,
                                            "column": 53
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8716,
                                        "end": 8721,
                                        "loc": {
                                          "start": {
                                            "line": 197,
                                            "column": 54
                                          },
                                          "end": {
                                            "line": 197,
                                            "column": 59
                                          }
                                        },
                                        "name": "width"
                                      },
                                      "computed": false
                                    },
                                    "parenthesizedExpression": true
                                  },
                                  "operator": "*",
                                  "right": {
                                    "type": "Literal",
                                    "start": 8725,
                                    "end": 8726,
                                    "loc": {
                                      "start": {
                                        "line": 197,
                                        "column": 63
                                      },
                                      "end": {
                                        "line": 197,
                                        "column": 64
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  }
                                },
                                "operator": "-",
                                "right": {
                                  "type": "Literal",
                                  "start": 8729,
                                  "end": 8730,
                                  "loc": {
                                    "start": {
                                      "line": 197,
                                      "column": 67
                                    },
                                    "end": {
                                      "line": 197,
                                      "column": 68
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                }
                              },
                              {
                                "type": "BinaryExpression",
                                "start": 8732,
                                "end": 8765,
                                "loc": {
                                  "start": {
                                    "line": 197,
                                    "column": 70
                                  },
                                  "end": {
                                    "line": 197,
                                    "column": 103
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 8732,
                                  "end": 8761,
                                  "loc": {
                                    "start": {
                                      "line": 197,
                                      "column": 70
                                    },
                                    "end": {
                                      "line": 197,
                                      "column": 99
                                    }
                                  },
                                  "left": {
                                    "type": "UnaryExpression",
                                    "start": 8732,
                                    "end": 8757,
                                    "loc": {
                                      "start": {
                                        "line": 197,
                                        "column": 70
                                      },
                                      "end": {
                                        "line": 197,
                                        "column": 95
                                      }
                                    },
                                    "operator": "-",
                                    "prefix": true,
                                    "argument": {
                                      "type": "BinaryExpression",
                                      "start": 8734,
                                      "end": 8756,
                                      "loc": {
                                        "start": {
                                          "line": 197,
                                          "column": 72
                                        },
                                        "end": {
                                          "line": 197,
                                          "column": 94
                                        }
                                      },
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 8734,
                                        "end": 8742,
                                        "loc": {
                                          "start": {
                                            "line": 197,
                                            "column": 72
                                          },
                                          "end": {
                                            "line": 197,
                                            "column": 80
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 8734,
                                          "end": 8740,
                                          "loc": {
                                            "start": {
                                              "line": 197,
                                              "column": 72
                                            },
                                            "end": {
                                              "line": 197,
                                              "column": 78
                                            }
                                          },
                                          "name": "point2"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8741,
                                          "end": 8742,
                                          "loc": {
                                            "start": {
                                              "line": 197,
                                              "column": 79
                                            },
                                            "end": {
                                              "line": 197,
                                              "column": 80
                                            }
                                          },
                                          "name": "y"
                                        },
                                        "computed": false
                                      },
                                      "operator": "/",
                                      "right": {
                                        "type": "MemberExpression",
                                        "start": 8745,
                                        "end": 8756,
                                        "loc": {
                                          "start": {
                                            "line": 197,
                                            "column": 83
                                          },
                                          "end": {
                                            "line": 197,
                                            "column": 94
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 8745,
                                          "end": 8749,
                                          "loc": {
                                            "start": {
                                              "line": 197,
                                              "column": 83
                                            },
                                            "end": {
                                              "line": 197,
                                              "column": 87
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8750,
                                          "end": 8756,
                                          "loc": {
                                            "start": {
                                              "line": 197,
                                              "column": 88
                                            },
                                            "end": {
                                              "line": 197,
                                              "column": 94
                                            }
                                          },
                                          "name": "height"
                                        },
                                        "computed": false
                                      },
                                      "parenthesizedExpression": true
                                    }
                                  },
                                  "operator": "*",
                                  "right": {
                                    "type": "Literal",
                                    "start": 8760,
                                    "end": 8761,
                                    "loc": {
                                      "start": {
                                        "line": 197,
                                        "column": 98
                                      },
                                      "end": {
                                        "line": 197,
                                        "column": 99
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  }
                                },
                                "operator": "+",
                                "right": {
                                  "type": "Literal",
                                  "start": 8764,
                                  "end": 8765,
                                  "loc": {
                                    "start": {
                                      "line": 197,
                                      "column": 102
                                    },
                                    "end": {
                                      "line": 197,
                                      "column": 103
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                }
                              },
                              {
                                "type": "Literal",
                                "start": 8767,
                                "end": 8768,
                                "loc": {
                                  "start": {
                                    "line": 197,
                                    "column": 105
                                  },
                                  "end": {
                                    "line": 197,
                                    "column": 106
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 8779,
                      "end": 8879,
                      "loc": {
                        "start": {
                          "line": 198,
                          "column": 8
                        },
                        "end": {
                          "line": 198,
                          "column": 108
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 8784,
                          "end": 8878,
                          "loc": {
                            "start": {
                              "line": 198,
                              "column": 13
                            },
                            "end": {
                              "line": 198,
                              "column": 107
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 8784,
                            "end": 8787,
                            "loc": {
                              "start": {
                                "line": 198,
                                "column": 13
                              },
                              "end": {
                                "line": 198,
                                "column": 16
                              }
                            },
                            "name": "far"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 8790,
                            "end": 8878,
                            "loc": {
                              "start": {
                                "line": 198,
                                "column": 19
                              },
                              "end": {
                                "line": 198,
                                "column": 107
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 8794,
                              "end": 8807,
                              "loc": {
                                "start": {
                                  "line": 198,
                                  "column": 23
                                },
                                "end": {
                                  "line": 198,
                                  "column": 36
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 8794,
                                "end": 8799,
                                "loc": {
                                  "start": {
                                    "line": 198,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 198,
                                    "column": 28
                                  }
                                },
                                "name": "THREE"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8800,
                                "end": 8807,
                                "loc": {
                                  "start": {
                                    "line": 198,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 198,
                                    "column": 36
                                  }
                                },
                                "name": "Vector3"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "BinaryExpression",
                                "start": 8808,
                                "end": 8839,
                                "loc": {
                                  "start": {
                                    "line": 198,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 198,
                                    "column": 68
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 8808,
                                  "end": 8835,
                                  "loc": {
                                    "start": {
                                      "line": 198,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 198,
                                      "column": 64
                                    }
                                  },
                                  "left": {
                                    "type": "BinaryExpression",
                                    "start": 8809,
                                    "end": 8830,
                                    "loc": {
                                      "start": {
                                        "line": 198,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 198,
                                        "column": 59
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 8809,
                                      "end": 8817,
                                      "loc": {
                                        "start": {
                                          "line": 198,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 198,
                                          "column": 46
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 8809,
                                        "end": 8815,
                                        "loc": {
                                          "start": {
                                            "line": 198,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 198,
                                            "column": 44
                                          }
                                        },
                                        "name": "point2"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8816,
                                        "end": 8817,
                                        "loc": {
                                          "start": {
                                            "line": 198,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 198,
                                            "column": 46
                                          }
                                        },
                                        "name": "x"
                                      },
                                      "computed": false
                                    },
                                    "operator": "/",
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 8820,
                                      "end": 8830,
                                      "loc": {
                                        "start": {
                                          "line": 198,
                                          "column": 49
                                        },
                                        "end": {
                                          "line": 198,
                                          "column": 59
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 8820,
                                        "end": 8824,
                                        "loc": {
                                          "start": {
                                            "line": 198,
                                            "column": 49
                                          },
                                          "end": {
                                            "line": 198,
                                            "column": 53
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8825,
                                        "end": 8830,
                                        "loc": {
                                          "start": {
                                            "line": 198,
                                            "column": 54
                                          },
                                          "end": {
                                            "line": 198,
                                            "column": 59
                                          }
                                        },
                                        "name": "width"
                                      },
                                      "computed": false
                                    },
                                    "parenthesizedExpression": true
                                  },
                                  "operator": "*",
                                  "right": {
                                    "type": "Literal",
                                    "start": 8834,
                                    "end": 8835,
                                    "loc": {
                                      "start": {
                                        "line": 198,
                                        "column": 63
                                      },
                                      "end": {
                                        "line": 198,
                                        "column": 64
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  }
                                },
                                "operator": "-",
                                "right": {
                                  "type": "Literal",
                                  "start": 8838,
                                  "end": 8839,
                                  "loc": {
                                    "start": {
                                      "line": 198,
                                      "column": 67
                                    },
                                    "end": {
                                      "line": 198,
                                      "column": 68
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                }
                              },
                              {
                                "type": "BinaryExpression",
                                "start": 8841,
                                "end": 8874,
                                "loc": {
                                  "start": {
                                    "line": 198,
                                    "column": 70
                                  },
                                  "end": {
                                    "line": 198,
                                    "column": 103
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 8841,
                                  "end": 8870,
                                  "loc": {
                                    "start": {
                                      "line": 198,
                                      "column": 70
                                    },
                                    "end": {
                                      "line": 198,
                                      "column": 99
                                    }
                                  },
                                  "left": {
                                    "type": "UnaryExpression",
                                    "start": 8841,
                                    "end": 8866,
                                    "loc": {
                                      "start": {
                                        "line": 198,
                                        "column": 70
                                      },
                                      "end": {
                                        "line": 198,
                                        "column": 95
                                      }
                                    },
                                    "operator": "-",
                                    "prefix": true,
                                    "argument": {
                                      "type": "BinaryExpression",
                                      "start": 8843,
                                      "end": 8865,
                                      "loc": {
                                        "start": {
                                          "line": 198,
                                          "column": 72
                                        },
                                        "end": {
                                          "line": 198,
                                          "column": 94
                                        }
                                      },
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 8843,
                                        "end": 8851,
                                        "loc": {
                                          "start": {
                                            "line": 198,
                                            "column": 72
                                          },
                                          "end": {
                                            "line": 198,
                                            "column": 80
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 8843,
                                          "end": 8849,
                                          "loc": {
                                            "start": {
                                              "line": 198,
                                              "column": 72
                                            },
                                            "end": {
                                              "line": 198,
                                              "column": 78
                                            }
                                          },
                                          "name": "point2"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8850,
                                          "end": 8851,
                                          "loc": {
                                            "start": {
                                              "line": 198,
                                              "column": 79
                                            },
                                            "end": {
                                              "line": 198,
                                              "column": 80
                                            }
                                          },
                                          "name": "y"
                                        },
                                        "computed": false
                                      },
                                      "operator": "/",
                                      "right": {
                                        "type": "MemberExpression",
                                        "start": 8854,
                                        "end": 8865,
                                        "loc": {
                                          "start": {
                                            "line": 198,
                                            "column": 83
                                          },
                                          "end": {
                                            "line": 198,
                                            "column": 94
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 8854,
                                          "end": 8858,
                                          "loc": {
                                            "start": {
                                              "line": 198,
                                              "column": 83
                                            },
                                            "end": {
                                              "line": 198,
                                              "column": 87
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8859,
                                          "end": 8865,
                                          "loc": {
                                            "start": {
                                              "line": 198,
                                              "column": 88
                                            },
                                            "end": {
                                              "line": 198,
                                              "column": 94
                                            }
                                          },
                                          "name": "height"
                                        },
                                        "computed": false
                                      },
                                      "parenthesizedExpression": true
                                    }
                                  },
                                  "operator": "*",
                                  "right": {
                                    "type": "Literal",
                                    "start": 8869,
                                    "end": 8870,
                                    "loc": {
                                      "start": {
                                        "line": 198,
                                        "column": 98
                                      },
                                      "end": {
                                        "line": 198,
                                        "column": 99
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  }
                                },
                                "operator": "+",
                                "right": {
                                  "type": "Literal",
                                  "start": 8873,
                                  "end": 8874,
                                  "loc": {
                                    "start": {
                                      "line": 198,
                                      "column": 102
                                    },
                                    "end": {
                                      "line": 198,
                                      "column": 103
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                }
                              },
                              {
                                "type": "Literal",
                                "start": 8876,
                                "end": 8877,
                                "loc": {
                                  "start": {
                                    "line": 198,
                                    "column": 105
                                  },
                                  "end": {
                                    "line": 198,
                                    "column": 106
                                  }
                                },
                                "value": 1,
                                "rawValue": 1,
                                "raw": "1"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 8888,
                      "end": 8916,
                      "loc": {
                        "start": {
                          "line": 199,
                          "column": 8
                        },
                        "end": {
                          "line": 199,
                          "column": 36
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 8888,
                        "end": 8915,
                        "loc": {
                          "start": {
                            "line": 199,
                            "column": 8
                          },
                          "end": {
                            "line": 199,
                            "column": 35
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 8888,
                          "end": 8902,
                          "loc": {
                            "start": {
                              "line": 199,
                              "column": 8
                            },
                            "end": {
                              "line": 199,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 8888,
                            "end": 8892,
                            "loc": {
                              "start": {
                                "line": 199,
                                "column": 8
                              },
                              "end": {
                                "line": 199,
                                "column": 12
                              }
                            },
                            "name": "near"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8893,
                            "end": 8902,
                            "loc": {
                              "start": {
                                "line": 199,
                                "column": 13
                              },
                              "end": {
                                "line": 199,
                                "column": 22
                              }
                            },
                            "name": "unproject"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 8903,
                            "end": 8914,
                            "loc": {
                              "start": {
                                "line": 199,
                                "column": 23
                              },
                              "end": {
                                "line": 199,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 8903,
                              "end": 8907,
                              "loc": {
                                "start": {
                                  "line": 199,
                                  "column": 23
                                },
                                "end": {
                                  "line": 199,
                                  "column": 27
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8908,
                              "end": 8914,
                              "loc": {
                                "start": {
                                  "line": 199,
                                  "column": 28
                                },
                                "end": {
                                  "line": 199,
                                  "column": 34
                                }
                              },
                              "name": "camera"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 8925,
                      "end": 8952,
                      "loc": {
                        "start": {
                          "line": 200,
                          "column": 8
                        },
                        "end": {
                          "line": 200,
                          "column": 35
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 8925,
                        "end": 8951,
                        "loc": {
                          "start": {
                            "line": 200,
                            "column": 8
                          },
                          "end": {
                            "line": 200,
                            "column": 34
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 8925,
                          "end": 8938,
                          "loc": {
                            "start": {
                              "line": 200,
                              "column": 8
                            },
                            "end": {
                              "line": 200,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 8925,
                            "end": 8928,
                            "loc": {
                              "start": {
                                "line": 200,
                                "column": 8
                              },
                              "end": {
                                "line": 200,
                                "column": 11
                              }
                            },
                            "name": "far"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8929,
                            "end": 8938,
                            "loc": {
                              "start": {
                                "line": 200,
                                "column": 12
                              },
                              "end": {
                                "line": 200,
                                "column": 21
                              }
                            },
                            "name": "unproject"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 8939,
                            "end": 8950,
                            "loc": {
                              "start": {
                                "line": 200,
                                "column": 22
                              },
                              "end": {
                                "line": 200,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 8939,
                              "end": 8943,
                              "loc": {
                                "start": {
                                  "line": 200,
                                  "column": 22
                                },
                                "end": {
                                  "line": 200,
                                  "column": 26
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8944,
                              "end": 8950,
                              "loc": {
                                "start": {
                                  "line": 200,
                                  "column": 27
                                },
                                "end": {
                                  "line": 200,
                                  "column": 33
                                }
                              },
                              "name": "camera"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 8961,
                      "end": 8995,
                      "loc": {
                        "start": {
                          "line": 201,
                          "column": 8
                        },
                        "end": {
                          "line": 201,
                          "column": 42
                        }
                      },
                      "argument": {
                        "type": "NewExpression",
                        "start": 8968,
                        "end": 8994,
                        "loc": {
                          "start": {
                            "line": 201,
                            "column": 15
                          },
                          "end": {
                            "line": 201,
                            "column": 41
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 8972,
                          "end": 8983,
                          "loc": {
                            "start": {
                              "line": 201,
                              "column": 19
                            },
                            "end": {
                              "line": 201,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 8972,
                            "end": 8977,
                            "loc": {
                              "start": {
                                "line": 201,
                                "column": 19
                              },
                              "end": {
                                "line": 201,
                                "column": 24
                              }
                            },
                            "name": "THREE"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8978,
                            "end": 8983,
                            "loc": {
                              "start": {
                                "line": 201,
                                "column": 25
                              },
                              "end": {
                                "line": 201,
                                "column": 30
                              }
                            },
                            "name": "Line3"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 8984,
                            "end": 8988,
                            "loc": {
                              "start": {
                                "line": 201,
                                "column": 31
                              },
                              "end": {
                                "line": 201,
                                "column": 35
                              }
                            },
                            "name": "near"
                          },
                          {
                            "type": "Identifier",
                            "start": 8990,
                            "end": 8993,
                            "loc": {
                              "start": {
                                "line": 201,
                                "column": 37
                              },
                              "end": {
                                "line": 201,
                                "column": 40
                              }
                            },
                            "name": "far"
                          }
                        ]
                      }
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": "/returns a line of all the points corresponding to given 2D view coords",
                  "start": 8561,
                  "end": 8634,
                  "loc": {
                    "start": {
                      "line": 195,
                      "column": 4
                    },
                    "end": {
                      "line": 195,
                      "column": 77
                    }
                  },
                  "range": [
                    8561,
                    8634
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 9007,
              "end": 9032,
              "loc": {
                "start": {
                  "line": 204,
                  "column": 4
                },
                "end": {
                  "line": 206,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 9007,
                "end": 9021,
                "loc": {
                  "start": {
                    "line": 204,
                    "column": 4
                  },
                  "end": {
                    "line": 204,
                    "column": 18
                  }
                },
                "name": "updateOverlays"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 9021,
                "end": 9032,
                "loc": {
                  "start": {
                    "line": 204,
                    "column": 18
                  },
                  "end": {
                    "line": 206,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 9024,
                  "end": 9032,
                  "loc": {
                    "start": {
                      "line": 204,
                      "column": 21
                    },
                    "end": {
                      "line": 206,
                      "column": 5
                    }
                  },
                  "body": []
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 9038,
              "end": 9383,
              "loc": {
                "start": {
                  "line": 208,
                  "column": 4
                },
                "end": {
                  "line": 218,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 9038,
                "end": 9050,
                "loc": {
                  "start": {
                    "line": 208,
                    "column": 4
                  },
                  "end": {
                    "line": 208,
                    "column": 16
                  }
                },
                "name": "updateScopes"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 9050,
                "end": 9383,
                "loc": {
                  "start": {
                    "line": 208,
                    "column": 16
                  },
                  "end": {
                    "line": 218,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 9053,
                  "end": 9383,
                  "loc": {
                    "start": {
                      "line": 208,
                      "column": 19
                    },
                    "end": {
                      "line": 218,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 9063,
                      "end": 9085,
                      "loc": {
                        "start": {
                          "line": 209,
                          "column": 8
                        },
                        "end": {
                          "line": 209,
                          "column": 30
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 9067,
                          "end": 9084,
                          "loc": {
                            "start": {
                              "line": 209,
                              "column": 12
                            },
                            "end": {
                              "line": 209,
                              "column": 29
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 9067,
                            "end": 9073,
                            "loc": {
                              "start": {
                                "line": 209,
                                "column": 12
                              },
                              "end": {
                                "line": 209,
                                "column": 18
                              }
                            },
                            "name": "parent"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 9076,
                            "end": 9084,
                            "loc": {
                              "start": {
                                "line": 209,
                                "column": 21
                              },
                              "end": {
                                "line": 209,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 9076,
                              "end": 9080,
                              "loc": {
                                "start": {
                                  "line": 209,
                                  "column": 21
                                },
                                "end": {
                                  "line": 209,
                                  "column": 25
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9081,
                              "end": 9084,
                              "loc": {
                                "start": {
                                  "line": 209,
                                  "column": 26
                                },
                                "end": {
                                  "line": 209,
                                  "column": 29
                                }
                              },
                              "name": "dom"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "WhileStatement",
                      "start": 9094,
                      "end": 9377,
                      "loc": {
                        "start": {
                          "line": 210,
                          "column": 8
                        },
                        "end": {
                          "line": 217,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 9101,
                        "end": 9138,
                        "loc": {
                          "start": {
                            "line": 210,
                            "column": 15
                          },
                          "end": {
                            "line": 210,
                            "column": 52
                          }
                        },
                        "left": {
                          "type": "UnaryExpression",
                          "start": 9101,
                          "end": 9109,
                          "loc": {
                            "start": {
                              "line": 210,
                              "column": 15
                            },
                            "end": {
                              "line": 210,
                              "column": 23
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "UnaryExpression",
                            "start": 9102,
                            "end": 9109,
                            "loc": {
                              "start": {
                                "line": 210,
                                "column": 16
                              },
                              "end": {
                                "line": 210,
                                "column": 23
                              }
                            },
                            "operator": "!",
                            "prefix": true,
                            "argument": {
                              "type": "Identifier",
                              "start": 9103,
                              "end": 9109,
                              "loc": {
                                "start": {
                                  "line": 210,
                                  "column": 17
                                },
                                "end": {
                                  "line": 210,
                                  "column": 23
                                }
                              },
                              "name": "parent"
                            }
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 9113,
                          "end": 9138,
                          "loc": {
                            "start": {
                              "line": 210,
                              "column": 27
                            },
                            "end": {
                              "line": 210,
                              "column": 52
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 9113,
                            "end": 9119,
                            "loc": {
                              "start": {
                                "line": 210,
                                "column": 27
                              },
                              "end": {
                                "line": 210,
                                "column": 33
                              }
                            },
                            "name": "parent"
                          },
                          "operator": "!=",
                          "right": {
                            "type": "MemberExpression",
                            "start": 9123,
                            "end": 9138,
                            "loc": {
                              "start": {
                                "line": 210,
                                "column": 37
                              },
                              "end": {
                                "line": 210,
                                "column": 52
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 9123,
                              "end": 9134,
                              "loc": {
                                "start": {
                                  "line": 210,
                                  "column": 37
                                },
                                "end": {
                                  "line": 210,
                                  "column": 48
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 9123,
                                "end": 9127,
                                "loc": {
                                  "start": {
                                    "line": 210,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 210,
                                    "column": 41
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9128,
                                "end": 9134,
                                "loc": {
                                  "start": {
                                    "line": 210,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 210,
                                    "column": 48
                                  }
                                },
                                "name": "canvas"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9135,
                              "end": 9138,
                              "loc": {
                                "start": {
                                  "line": 210,
                                  "column": 49
                                },
                                "end": {
                                  "line": 210,
                                  "column": 52
                                }
                              },
                              "name": "dom"
                            },
                            "computed": false
                          }
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 9140,
                        "end": 9377,
                        "loc": {
                          "start": {
                            "line": 210,
                            "column": 54
                          },
                          "end": {
                            "line": 217,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 9154,
                            "end": 9197,
                            "loc": {
                              "start": {
                                "line": 211,
                                "column": 12
                              },
                              "end": {
                                "line": 211,
                                "column": 55
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 9158,
                                "end": 9196,
                                "loc": {
                                  "start": {
                                    "line": 211,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 211,
                                    "column": 54
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 9158,
                                  "end": 9163,
                                  "loc": {
                                    "start": {
                                      "line": 211,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 211,
                                      "column": 21
                                    }
                                  },
                                  "name": "scope"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 9166,
                                  "end": 9196,
                                  "loc": {
                                    "start": {
                                      "line": 211,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 211,
                                      "column": 54
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 9166,
                                    "end": 9188,
                                    "loc": {
                                      "start": {
                                        "line": 211,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 211,
                                        "column": 46
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 9166,
                                      "end": 9184,
                                      "loc": {
                                        "start": {
                                          "line": 211,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 211,
                                          "column": 42
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 9166,
                                        "end": 9177,
                                        "loc": {
                                          "start": {
                                            "line": 211,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 211,
                                            "column": 35
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 9166,
                                          "end": 9170,
                                          "loc": {
                                            "start": {
                                              "line": 211,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 211,
                                              "column": 28
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 9171,
                                          "end": 9177,
                                          "loc": {
                                            "start": {
                                              "line": 211,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 211,
                                              "column": 35
                                            }
                                          },
                                          "name": "canvas"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9178,
                                        "end": 9184,
                                        "loc": {
                                          "start": {
                                            "line": 211,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 211,
                                            "column": 42
                                          }
                                        },
                                        "name": "scopes"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9185,
                                      "end": 9188,
                                      "loc": {
                                        "start": {
                                          "line": 211,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 211,
                                          "column": 46
                                        }
                                      },
                                      "name": "get"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 9189,
                                      "end": 9195,
                                      "loc": {
                                        "start": {
                                          "line": 211,
                                          "column": 47
                                        },
                                        "end": {
                                          "line": 211,
                                          "column": 53
                                        }
                                      },
                                      "name": "parent"
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "let"
                          },
                          {
                            "type": "IfStatement",
                            "start": 9210,
                            "end": 9327,
                            "loc": {
                              "start": {
                                "line": 212,
                                "column": 12
                              },
                              "end": {
                                "line": 215,
                                "column": 55
                              }
                            },
                            "test": {
                              "type": "Identifier",
                              "start": 9214,
                              "end": 9219,
                              "loc": {
                                "start": {
                                  "line": 212,
                                  "column": 16
                                },
                                "end": {
                                  "line": 212,
                                  "column": 21
                                }
                              },
                              "name": "scope"
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 9237,
                              "end": 9254,
                              "loc": {
                                "start": {
                                  "line": 213,
                                  "column": 16
                                },
                                "end": {
                                  "line": 213,
                                  "column": 33
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 9237,
                                "end": 9253,
                                "loc": {
                                  "start": {
                                    "line": 213,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 213,
                                    "column": 32
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 9237,
                                  "end": 9247,
                                  "loc": {
                                    "start": {
                                      "line": 213,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 213,
                                      "column": 26
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 9237,
                                    "end": 9242,
                                    "loc": {
                                      "start": {
                                        "line": 213,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 213,
                                        "column": 21
                                      }
                                    },
                                    "name": "scope"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9243,
                                    "end": 9247,
                                    "loc": {
                                      "start": {
                                        "line": 213,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 213,
                                        "column": 26
                                      }
                                    },
                                    "name": "push"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ThisExpression",
                                    "start": 9248,
                                    "end": 9252,
                                    "loc": {
                                      "start": {
                                        "line": 213,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 213,
                                        "column": 31
                                      }
                                    }
                                  }
                                ]
                              }
                            },
                            "alternate": {
                              "type": "ExpressionStatement",
                              "start": 9288,
                              "end": 9327,
                              "loc": {
                                "start": {
                                  "line": 215,
                                  "column": 16
                                },
                                "end": {
                                  "line": 215,
                                  "column": 55
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 9288,
                                "end": 9326,
                                "loc": {
                                  "start": {
                                    "line": 215,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 215,
                                    "column": 54
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 9288,
                                  "end": 9310,
                                  "loc": {
                                    "start": {
                                      "line": 215,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 215,
                                      "column": 38
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 9288,
                                    "end": 9306,
                                    "loc": {
                                      "start": {
                                        "line": 215,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 215,
                                        "column": 34
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 9288,
                                      "end": 9299,
                                      "loc": {
                                        "start": {
                                          "line": 215,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 215,
                                          "column": 27
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 9288,
                                        "end": 9292,
                                        "loc": {
                                          "start": {
                                            "line": 215,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 215,
                                            "column": 20
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9293,
                                        "end": 9299,
                                        "loc": {
                                          "start": {
                                            "line": 215,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 215,
                                            "column": 27
                                          }
                                        },
                                        "name": "canvas"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9300,
                                      "end": 9306,
                                      "loc": {
                                        "start": {
                                          "line": 215,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 215,
                                          "column": 34
                                        }
                                      },
                                      "name": "scopes"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9307,
                                    "end": 9310,
                                    "loc": {
                                      "start": {
                                        "line": 215,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 215,
                                        "column": 38
                                      }
                                    },
                                    "name": "set"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 9311,
                                    "end": 9317,
                                    "loc": {
                                      "start": {
                                        "line": 215,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 215,
                                        "column": 45
                                      }
                                    },
                                    "name": "parent"
                                  },
                                  {
                                    "type": "ArrayExpression",
                                    "start": 9319,
                                    "end": 9325,
                                    "loc": {
                                      "start": {
                                        "line": 215,
                                        "column": 47
                                      },
                                      "end": {
                                        "line": 215,
                                        "column": 53
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "ThisExpression",
                                        "start": 9320,
                                        "end": 9324,
                                        "loc": {
                                          "start": {
                                            "line": 215,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 215,
                                            "column": 52
                                          }
                                        }
                                      }
                                    ]
                                  }
                                ]
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 9340,
                            "end": 9367,
                            "loc": {
                              "start": {
                                "line": 216,
                                "column": 12
                              },
                              "end": {
                                "line": 216,
                                "column": 39
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 9340,
                              "end": 9366,
                              "loc": {
                                "start": {
                                  "line": 216,
                                  "column": 12
                                },
                                "end": {
                                  "line": 216,
                                  "column": 38
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 9340,
                                "end": 9346,
                                "loc": {
                                  "start": {
                                    "line": 216,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 216,
                                    "column": 18
                                  }
                                },
                                "name": "parent"
                              },
                              "right": {
                                "type": "MemberExpression",
                                "start": 9349,
                                "end": 9366,
                                "loc": {
                                  "start": {
                                    "line": 216,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 216,
                                    "column": 38
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 9349,
                                  "end": 9355,
                                  "loc": {
                                    "start": {
                                      "line": 216,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 216,
                                      "column": 27
                                    }
                                  },
                                  "name": "parent"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9356,
                                  "end": 9366,
                                  "loc": {
                                    "start": {
                                      "line": 216,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 216,
                                      "column": 38
                                    }
                                  },
                                  "name": "parentNode"
                                },
                                "computed": false
                              }
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 9389,
              "end": 10708,
              "loc": {
                "start": {
                  "line": 220,
                  "column": 4
                },
                "end": {
                  "line": 252,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 9389,
                "end": 9394,
                "loc": {
                  "start": {
                    "line": 220,
                    "column": 4
                  },
                  "end": {
                    "line": 220,
                    "column": 9
                  }
                },
                "name": "clear"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 9394,
                "end": 10708,
                "loc": {
                  "start": {
                    "line": 220,
                    "column": 9
                  },
                  "end": {
                    "line": 252,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 9395,
                    "end": 9399,
                    "loc": {
                      "start": {
                        "line": 220,
                        "column": 10
                      },
                      "end": {
                        "line": 220,
                        "column": 14
                      }
                    },
                    "name": "time"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 9401,
                  "end": 10708,
                  "loc": {
                    "start": {
                      "line": 220,
                      "column": 16
                    },
                    "end": {
                      "line": 252,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 9475,
                      "end": 9532,
                      "loc": {
                        "start": {
                          "line": 222,
                          "column": 8
                        },
                        "end": {
                          "line": 222,
                          "column": 65
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 9475,
                        "end": 9531,
                        "loc": {
                          "start": {
                            "line": 222,
                            "column": 8
                          },
                          "end": {
                            "line": 222,
                            "column": 64
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 9475,
                          "end": 9485,
                          "loc": {
                            "start": {
                              "line": 222,
                              "column": 8
                            },
                            "end": {
                              "line": 222,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 9475,
                            "end": 9479,
                            "loc": {
                              "start": {
                                "line": 222,
                                "column": 8
                              },
                              "end": {
                                "line": 222,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9480,
                            "end": 9485,
                            "loc": {
                              "start": {
                                "line": 222,
                                "column": 13
                              },
                              "end": {
                                "line": 222,
                                "column": 18
                              }
                            },
                            "name": "dirty"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "LogicalExpression",
                          "start": 9488,
                          "end": 9531,
                          "loc": {
                            "start": {
                              "line": 222,
                              "column": 21
                            },
                            "end": {
                              "line": 222,
                              "column": 64
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 9488,
                            "end": 9513,
                            "loc": {
                              "start": {
                                "line": 222,
                                "column": 21
                              },
                              "end": {
                                "line": 222,
                                "column": 46
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 9488,
                              "end": 9509,
                              "loc": {
                                "start": {
                                  "line": 222,
                                  "column": 21
                                },
                                "end": {
                                  "line": 222,
                                  "column": 42
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 9488,
                                "end": 9492,
                                "loc": {
                                  "start": {
                                    "line": 222,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 222,
                                    "column": 25
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9493,
                                "end": 9509,
                                "loc": {
                                  "start": {
                                    "line": 222,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 222,
                                    "column": 42
                                  }
                                },
                                "name": "invalidateFrames"
                              },
                              "computed": false
                            },
                            "operator": ">",
                            "right": {
                              "type": "Literal",
                              "start": 9512,
                              "end": 9513,
                              "loc": {
                                "start": {
                                  "line": 222,
                                  "column": 45
                                },
                                "end": {
                                  "line": 222,
                                  "column": 46
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            }
                          },
                          "operator": "&&",
                          "right": {
                            "type": "CallExpression",
                            "start": 9517,
                            "end": 9531,
                            "loc": {
                              "start": {
                                "line": 222,
                                "column": 50
                              },
                              "end": {
                                "line": 222,
                                "column": 64
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 9517,
                              "end": 9529,
                              "loc": {
                                "start": {
                                  "line": 222,
                                  "column": 50
                                },
                                "end": {
                                  "line": 222,
                                  "column": 62
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 9517,
                                "end": 9521,
                                "loc": {
                                  "start": {
                                    "line": 222,
                                    "column": 50
                                  },
                                  "end": {
                                    "line": 222,
                                    "column": 54
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9522,
                                "end": 9529,
                                "loc": {
                                  "start": {
                                    "line": 222,
                                    "column": 55
                                  },
                                  "end": {
                                    "line": 222,
                                    "column": 62
                                  }
                                },
                                "name": "measure"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Measure and check if dirty (size & position changed)",
                          "start": 9411,
                          "end": 9466,
                          "loc": {
                            "start": {
                              "line": 221,
                              "column": 8
                            },
                            "end": {
                              "line": 221,
                              "column": 63
                            }
                          },
                          "range": [
                            9411,
                            9466
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 9541,
                      "end": 10584,
                      "loc": {
                        "start": {
                          "line": 223,
                          "column": 8
                        },
                        "end": {
                          "line": 246,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 9545,
                        "end": 9557,
                        "loc": {
                          "start": {
                            "line": 223,
                            "column": 12
                          },
                          "end": {
                            "line": 223,
                            "column": 24
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 9545,
                          "end": 9549,
                          "loc": {
                            "start": {
                              "line": 223,
                              "column": 12
                            },
                            "end": {
                              "line": 223,
                              "column": 16
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 9550,
                          "end": 9557,
                          "loc": {
                            "start": {
                              "line": 223,
                              "column": 17
                            },
                            "end": {
                              "line": 223,
                              "column": 24
                            }
                          },
                          "name": "visible"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 9559,
                        "end": 10584,
                        "loc": {
                          "start": {
                            "line": 223,
                            "column": 26
                          },
                          "end": {
                            "line": 246,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 9609,
                            "end": 9629,
                            "loc": {
                              "start": {
                                "line": 225,
                                "column": 12
                              },
                              "end": {
                                "line": 225,
                                "column": 32
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 9609,
                              "end": 9628,
                              "loc": {
                                "start": {
                                  "line": 225,
                                  "column": 12
                                },
                                "end": {
                                  "line": 225,
                                  "column": 31
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 9609,
                                "end": 9626,
                                "loc": {
                                  "start": {
                                    "line": 225,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 225,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 9609,
                                  "end": 9619,
                                  "loc": {
                                    "start": {
                                      "line": 225,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 225,
                                      "column": 22
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 9609,
                                    "end": 9613,
                                    "loc": {
                                      "start": {
                                        "line": 225,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 225,
                                        "column": 16
                                      }
                                    },
                                    "leadingComments": null
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9614,
                                    "end": 9619,
                                    "loc": {
                                      "start": {
                                        "line": 225,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 225,
                                        "column": 22
                                      }
                                    },
                                    "name": "input"
                                  },
                                  "computed": false,
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9620,
                                  "end": 9626,
                                  "loc": {
                                    "start": {
                                      "line": 225,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 225,
                                      "column": 29
                                    }
                                  },
                                  "name": "update"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "arguments": [],
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " Call event scheduler",
                                "start": 9573,
                                "end": 9596,
                                "loc": {
                                  "start": {
                                    "line": 224,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 224,
                                    "column": 35
                                  }
                                },
                                "range": [
                                  9573,
                                  9596
                                ]
                              }
                            ],
                            "trailingComments": [
                              {
                                "type": "CommentLine",
                                "value": " Update controls",
                                "start": 9642,
                                "end": 9660,
                                "loc": {
                                  "start": {
                                    "line": 226,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 226,
                                    "column": 30
                                  }
                                },
                                "range": [
                                  9642,
                                  9660
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 9673,
                            "end": 9700,
                            "loc": {
                              "start": {
                                "line": 227,
                                "column": 12
                              },
                              "end": {
                                "line": 227,
                                "column": 39
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 9673,
                              "end": 9699,
                              "loc": {
                                "start": {
                                  "line": 227,
                                  "column": 12
                                },
                                "end": {
                                  "line": 227,
                                  "column": 38
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 9673,
                                "end": 9693,
                                "loc": {
                                  "start": {
                                    "line": 227,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 227,
                                    "column": 32
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 9673,
                                  "end": 9686,
                                  "loc": {
                                    "start": {
                                      "line": 227,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 227,
                                      "column": 25
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 9673,
                                    "end": 9677,
                                    "loc": {
                                      "start": {
                                        "line": 227,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 227,
                                        "column": 16
                                      }
                                    },
                                    "leadingComments": null
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9678,
                                    "end": 9686,
                                    "loc": {
                                      "start": {
                                        "line": 227,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 227,
                                        "column": 25
                                      }
                                    },
                                    "name": "controls"
                                  },
                                  "computed": false,
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9687,
                                  "end": 9693,
                                  "loc": {
                                    "start": {
                                      "line": 227,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 227,
                                      "column": 32
                                    }
                                  },
                                  "name": "update"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 9694,
                                  "end": 9698,
                                  "loc": {
                                    "start": {
                                      "line": 227,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 227,
                                      "column": 37
                                    }
                                  },
                                  "name": "time"
                                }
                              ],
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " Update controls",
                                "start": 9642,
                                "end": 9660,
                                "loc": {
                                  "start": {
                                    "line": 226,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 226,
                                    "column": 30
                                  }
                                },
                                "range": [
                                  9642,
                                  9660
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 9713,
                            "end": 9812,
                            "loc": {
                              "start": {
                                "line": 228,
                                "column": 12
                              },
                              "end": {
                                "line": 228,
                                "column": 111
                              }
                            },
                            "expression": {
                              "type": "LogicalExpression",
                              "start": 9713,
                              "end": 9811,
                              "loc": {
                                "start": {
                                  "line": 228,
                                  "column": 12
                                },
                                "end": {
                                  "line": 228,
                                  "column": 110
                                }
                              },
                              "left": {
                                "type": "LogicalExpression",
                                "start": 9713,
                                "end": 9778,
                                "loc": {
                                  "start": {
                                    "line": 228,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 228,
                                    "column": 77
                                  }
                                },
                                "left": {
                                  "type": "LogicalExpression",
                                  "start": 9713,
                                  "end": 9741,
                                  "loc": {
                                    "start": {
                                      "line": 228,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 228,
                                      "column": 40
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 9713,
                                    "end": 9721,
                                    "loc": {
                                      "start": {
                                        "line": 228,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 228,
                                        "column": 20
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 9713,
                                      "end": 9717,
                                      "loc": {
                                        "start": {
                                          "line": 228,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 228,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9718,
                                      "end": 9721,
                                      "loc": {
                                        "start": {
                                          "line": 228,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 228,
                                          "column": 20
                                        }
                                      },
                                      "name": "hud"
                                    },
                                    "computed": false
                                  },
                                  "operator": "&&",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 9725,
                                    "end": 9741,
                                    "loc": {
                                      "start": {
                                        "line": 228,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 228,
                                        "column": 40
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 9725,
                                      "end": 9729,
                                      "loc": {
                                        "start": {
                                          "line": 228,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 228,
                                          "column": 28
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9730,
                                      "end": 9741,
                                      "loc": {
                                        "start": {
                                          "line": 228,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 228,
                                          "column": 40
                                        }
                                      },
                                      "name": "controlsHud"
                                    },
                                    "computed": false
                                  }
                                },
                                "operator": "&&",
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 9745,
                                  "end": 9778,
                                  "loc": {
                                    "start": {
                                      "line": 228,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 228,
                                      "column": 77
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 9745,
                                    "end": 9761,
                                    "loc": {
                                      "start": {
                                        "line": 228,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 228,
                                        "column": 60
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 9745,
                                      "end": 9749,
                                      "loc": {
                                        "start": {
                                          "line": 228,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 228,
                                          "column": 48
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9750,
                                      "end": 9761,
                                      "loc": {
                                        "start": {
                                          "line": 228,
                                          "column": 49
                                        },
                                        "end": {
                                          "line": 228,
                                          "column": 60
                                        }
                                      },
                                      "name": "controlsHud"
                                    },
                                    "computed": false
                                  },
                                  "operator": "!=",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 9765,
                                    "end": 9778,
                                    "loc": {
                                      "start": {
                                        "line": 228,
                                        "column": 64
                                      },
                                      "end": {
                                        "line": 228,
                                        "column": 77
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 9765,
                                      "end": 9769,
                                      "loc": {
                                        "start": {
                                          "line": 228,
                                          "column": 64
                                        },
                                        "end": {
                                          "line": 228,
                                          "column": 68
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9770,
                                      "end": 9778,
                                      "loc": {
                                        "start": {
                                          "line": 228,
                                          "column": 69
                                        },
                                        "end": {
                                          "line": 228,
                                          "column": 77
                                        }
                                      },
                                      "name": "controls"
                                    },
                                    "computed": false
                                  }
                                }
                              },
                              "operator": "&&",
                              "right": {
                                "type": "CallExpression",
                                "start": 9782,
                                "end": 9811,
                                "loc": {
                                  "start": {
                                    "line": 228,
                                    "column": 81
                                  },
                                  "end": {
                                    "line": 228,
                                    "column": 110
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 9782,
                                  "end": 9805,
                                  "loc": {
                                    "start": {
                                      "line": 228,
                                      "column": 81
                                    },
                                    "end": {
                                      "line": 228,
                                      "column": 104
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 9782,
                                    "end": 9798,
                                    "loc": {
                                      "start": {
                                        "line": 228,
                                        "column": 81
                                      },
                                      "end": {
                                        "line": 228,
                                        "column": 97
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 9782,
                                      "end": 9786,
                                      "loc": {
                                        "start": {
                                          "line": 228,
                                          "column": 81
                                        },
                                        "end": {
                                          "line": 228,
                                          "column": 85
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9787,
                                      "end": 9798,
                                      "loc": {
                                        "start": {
                                          "line": 228,
                                          "column": 86
                                        },
                                        "end": {
                                          "line": 228,
                                          "column": 97
                                        }
                                      },
                                      "name": "controlsHud"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9799,
                                    "end": 9805,
                                    "loc": {
                                      "start": {
                                        "line": 228,
                                        "column": 98
                                      },
                                      "end": {
                                        "line": 228,
                                        "column": 104
                                      }
                                    },
                                    "name": "update"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 9806,
                                    "end": 9810,
                                    "loc": {
                                      "start": {
                                        "line": 228,
                                        "column": 105
                                      },
                                      "end": {
                                        "line": 228,
                                        "column": 109
                                      }
                                    },
                                    "name": "time"
                                  }
                                ]
                              }
                            },
                            "trailingComments": [
                              {
                                "type": "CommentLine",
                                "value": " Update interaction",
                                "start": 9825,
                                "end": 9846,
                                "loc": {
                                  "start": {
                                    "line": 229,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 229,
                                    "column": 33
                                  }
                                },
                                "range": [
                                  9825,
                                  9846
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 9859,
                            "end": 9885,
                            "loc": {
                              "start": {
                                "line": 230,
                                "column": 12
                              },
                              "end": {
                                "line": 230,
                                "column": 38
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 9859,
                              "end": 9884,
                              "loc": {
                                "start": {
                                  "line": 230,
                                  "column": 12
                                },
                                "end": {
                                  "line": 230,
                                  "column": 37
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 9859,
                                "end": 9882,
                                "loc": {
                                  "start": {
                                    "line": 230,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 230,
                                    "column": 35
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 9859,
                                  "end": 9875,
                                  "loc": {
                                    "start": {
                                      "line": 230,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 230,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 9859,
                                    "end": 9863,
                                    "loc": {
                                      "start": {
                                        "line": 230,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 230,
                                        "column": 16
                                      }
                                    },
                                    "leadingComments": null
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9864,
                                    "end": 9875,
                                    "loc": {
                                      "start": {
                                        "line": 230,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 230,
                                        "column": 28
                                      }
                                    },
                                    "name": "interaction"
                                  },
                                  "computed": false,
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 9876,
                                  "end": 9882,
                                  "loc": {
                                    "start": {
                                      "line": 230,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 230,
                                      "column": 35
                                    }
                                  },
                                  "name": "update"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "arguments": [],
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " Update interaction",
                                "start": 9825,
                                "end": 9846,
                                "loc": {
                                  "start": {
                                    "line": 229,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 229,
                                    "column": 33
                                  }
                                },
                                "range": [
                                  9825,
                                  9846
                                ]
                              }
                            ]
                          },
                          {
                            "type": "IfStatement",
                            "start": 9899,
                            "end": 10574,
                            "loc": {
                              "start": {
                                "line": 232,
                                "column": 12
                              },
                              "end": {
                                "line": 245,
                                "column": 13
                              }
                            },
                            "test": {
                              "type": "LogicalExpression",
                              "start": 9903,
                              "end": 10037,
                              "loc": {
                                "start": {
                                  "line": 232,
                                  "column": 16
                                },
                                "end": {
                                  "line": 235,
                                  "column": 41
                                }
                              },
                              "left": {
                                "type": "LogicalExpression",
                                "start": 9903,
                                "end": 9992,
                                "loc": {
                                  "start": {
                                    "line": 232,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 234,
                                    "column": 38
                                  }
                                },
                                "left": {
                                  "type": "LogicalExpression",
                                  "start": 9903,
                                  "end": 9950,
                                  "loc": {
                                    "start": {
                                      "line": 232,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 233,
                                      "column": 33
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 9903,
                                    "end": 9913,
                                    "loc": {
                                      "start": {
                                        "line": 232,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 232,
                                        "column": 26
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 9903,
                                      "end": 9907,
                                      "loc": {
                                        "start": {
                                          "line": 232,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 232,
                                          "column": 20
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9908,
                                      "end": 9913,
                                      "loc": {
                                        "start": {
                                          "line": 232,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 232,
                                          "column": 26
                                        }
                                      },
                                      "name": "dirty"
                                    },
                                    "computed": false
                                  },
                                  "operator": "||",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 9933,
                                    "end": 9950,
                                    "loc": {
                                      "start": {
                                        "line": 233,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 233,
                                        "column": 33
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 9933,
                                      "end": 9937,
                                      "loc": {
                                        "start": {
                                          "line": 233,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 233,
                                          "column": 20
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9938,
                                      "end": 9950,
                                      "loc": {
                                        "start": {
                                          "line": 233,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 233,
                                          "column": 33
                                        }
                                      },
                                      "name": "renderAlways"
                                    },
                                    "computed": false
                                  }
                                },
                                "operator": "||",
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 9970,
                                  "end": 9992,
                                  "loc": {
                                    "start": {
                                      "line": 234,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 234,
                                      "column": 38
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 9970,
                                    "end": 9983,
                                    "loc": {
                                      "start": {
                                        "line": 234,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 234,
                                        "column": 29
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 9970,
                                      "end": 9974,
                                      "loc": {
                                        "start": {
                                          "line": 234,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 234,
                                          "column": 20
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9975,
                                      "end": 9983,
                                      "loc": {
                                        "start": {
                                          "line": 234,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 234,
                                          "column": 29
                                        }
                                      },
                                      "name": "controls"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9984,
                                    "end": 9992,
                                    "loc": {
                                      "start": {
                                        "line": 234,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 234,
                                        "column": 38
                                      }
                                    },
                                    "name": "inMotion"
                                  },
                                  "computed": false
                                }
                              },
                              "operator": "||",
                              "right": {
                                "type": "MemberExpression",
                                "start": 10012,
                                "end": 10037,
                                "loc": {
                                  "start": {
                                    "line": 235,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 235,
                                    "column": 41
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 10012,
                                  "end": 10028,
                                  "loc": {
                                    "start": {
                                      "line": 235,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 235,
                                      "column": 32
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 10012,
                                    "end": 10016,
                                    "loc": {
                                      "start": {
                                        "line": 235,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 235,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10017,
                                    "end": 10028,
                                    "loc": {
                                      "start": {
                                        "line": 235,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 235,
                                        "column": 32
                                      }
                                    },
                                    "name": "controlsHud"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10029,
                                  "end": 10037,
                                  "loc": {
                                    "start": {
                                      "line": 235,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 235,
                                      "column": 41
                                    }
                                  },
                                  "name": "inMotion"
                                },
                                "computed": false
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 10039,
                              "end": 10574,
                              "loc": {
                                "start": {
                                  "line": 235,
                                  "column": 43
                                },
                                "end": {
                                  "line": 245,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "IfStatement",
                                  "start": 10147,
                                  "end": 10560,
                                  "loc": {
                                    "start": {
                                      "line": 238,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 244,
                                      "column": 17
                                    }
                                  },
                                  "test": {
                                    "type": "MemberExpression",
                                    "start": 10151,
                                    "end": 10161,
                                    "loc": {
                                      "start": {
                                        "line": 238,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 238,
                                        "column": 30
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 10151,
                                      "end": 10155,
                                      "loc": {
                                        "start": {
                                          "line": 238,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 238,
                                          "column": 24
                                        }
                                      },
                                      "leadingComments": null
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10156,
                                      "end": 10161,
                                      "loc": {
                                        "start": {
                                          "line": 238,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 238,
                                          "column": 30
                                        }
                                      },
                                      "name": "dirty"
                                    },
                                    "computed": false,
                                    "leadingComments": null
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "start": 10163,
                                    "end": 10560,
                                    "loc": {
                                      "start": {
                                        "line": 238,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 244,
                                        "column": 17
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 10185,
                                        "end": 10212,
                                        "loc": {
                                          "start": {
                                            "line": 239,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 239,
                                            "column": 47
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 10185,
                                          "end": 10211,
                                          "loc": {
                                            "start": {
                                              "line": 239,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 239,
                                              "column": 46
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 10185,
                                            "end": 10204,
                                            "loc": {
                                              "start": {
                                                "line": 239,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 239,
                                                "column": 39
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 10185,
                                              "end": 10198,
                                              "loc": {
                                                "start": {
                                                  "line": 239,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 239,
                                                  "column": 33
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 10185,
                                                "end": 10189,
                                                "loc": {
                                                  "start": {
                                                    "line": 239,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 239,
                                                    "column": 24
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 10190,
                                                "end": 10198,
                                                "loc": {
                                                  "start": {
                                                    "line": 239,
                                                    "column": 25
                                                  },
                                                  "end": {
                                                    "line": 239,
                                                    "column": 33
                                                  }
                                                },
                                                "name": "renderer"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 10199,
                                              "end": 10204,
                                              "loc": {
                                                "start": {
                                                  "line": 239,
                                                  "column": 34
                                                },
                                                "end": {
                                                  "line": 239,
                                                  "column": 39
                                                }
                                              },
                                              "name": "dirty"
                                            },
                                            "computed": false
                                          },
                                          "right": {
                                            "type": "Literal",
                                            "start": 10207,
                                            "end": 10211,
                                            "loc": {
                                              "start": {
                                                "line": 239,
                                                "column": 42
                                              },
                                              "end": {
                                                "line": 239,
                                                "column": 46
                                              }
                                            },
                                            "value": true,
                                            "rawValue": true,
                                            "raw": "true"
                                          }
                                        }
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 10233,
                                        "end": 10314,
                                        "loc": {
                                          "start": {
                                            "line": 240,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 240,
                                            "column": 101
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 10233,
                                          "end": 10313,
                                          "loc": {
                                            "start": {
                                              "line": 240,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 240,
                                              "column": 100
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 10233,
                                            "end": 10261,
                                            "loc": {
                                              "start": {
                                                "line": 240,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 240,
                                                "column": 48
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 10233,
                                              "end": 10249,
                                              "loc": {
                                                "start": {
                                                  "line": 240,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 240,
                                                  "column": 36
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10233,
                                                "end": 10246,
                                                "loc": {
                                                  "start": {
                                                    "line": 240,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 240,
                                                    "column": 33
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10233,
                                                  "end": 10237,
                                                  "loc": {
                                                    "start": {
                                                      "line": 240,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 240,
                                                      "column": 24
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10238,
                                                  "end": 10246,
                                                  "loc": {
                                                    "start": {
                                                      "line": 240,
                                                      "column": 25
                                                    },
                                                    "end": {
                                                      "line": 240,
                                                      "column": 33
                                                    }
                                                  },
                                                  "name": "renderer"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 10247,
                                                "end": 10249,
                                                "loc": {
                                                  "start": {
                                                    "line": 240,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 240,
                                                    "column": 36
                                                  }
                                                },
                                                "name": "gl"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 10250,
                                              "end": 10261,
                                              "loc": {
                                                "start": {
                                                  "line": 240,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 240,
                                                  "column": 48
                                                }
                                              },
                                              "name": "setViewport"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "MemberExpression",
                                              "start": 10262,
                                              "end": 10273,
                                              "loc": {
                                                "start": {
                                                  "line": 240,
                                                  "column": 49
                                                },
                                                "end": {
                                                  "line": 240,
                                                  "column": 60
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10262,
                                                "end": 10270,
                                                "loc": {
                                                  "start": {
                                                    "line": 240,
                                                    "column": 49
                                                  },
                                                  "end": {
                                                    "line": 240,
                                                    "column": 57
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10262,
                                                  "end": 10266,
                                                  "loc": {
                                                    "start": {
                                                      "line": 240,
                                                      "column": 49
                                                    },
                                                    "end": {
                                                      "line": 240,
                                                      "column": 53
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10267,
                                                  "end": 10270,
                                                  "loc": {
                                                    "start": {
                                                      "line": 240,
                                                      "column": 54
                                                    },
                                                    "end": {
                                                      "line": 240,
                                                      "column": 57
                                                    }
                                                  },
                                                  "name": "old"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Literal",
                                                "start": 10271,
                                                "end": 10272,
                                                "loc": {
                                                  "start": {
                                                    "line": 240,
                                                    "column": 58
                                                  },
                                                  "end": {
                                                    "line": 240,
                                                    "column": 59
                                                  }
                                                },
                                                "value": 0,
                                                "rawValue": 0,
                                                "raw": "0"
                                              },
                                              "computed": true
                                            },
                                            {
                                              "type": "MemberExpression",
                                              "start": 10275,
                                              "end": 10286,
                                              "loc": {
                                                "start": {
                                                  "line": 240,
                                                  "column": 62
                                                },
                                                "end": {
                                                  "line": 240,
                                                  "column": 73
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10275,
                                                "end": 10283,
                                                "loc": {
                                                  "start": {
                                                    "line": 240,
                                                    "column": 62
                                                  },
                                                  "end": {
                                                    "line": 240,
                                                    "column": 70
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10275,
                                                  "end": 10279,
                                                  "loc": {
                                                    "start": {
                                                      "line": 240,
                                                      "column": 62
                                                    },
                                                    "end": {
                                                      "line": 240,
                                                      "column": 66
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10280,
                                                  "end": 10283,
                                                  "loc": {
                                                    "start": {
                                                      "line": 240,
                                                      "column": 67
                                                    },
                                                    "end": {
                                                      "line": 240,
                                                      "column": 70
                                                    }
                                                  },
                                                  "name": "old"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Literal",
                                                "start": 10284,
                                                "end": 10285,
                                                "loc": {
                                                  "start": {
                                                    "line": 240,
                                                    "column": 71
                                                  },
                                                  "end": {
                                                    "line": 240,
                                                    "column": 72
                                                  }
                                                },
                                                "value": 1,
                                                "rawValue": 1,
                                                "raw": "1"
                                              },
                                              "computed": true
                                            },
                                            {
                                              "type": "MemberExpression",
                                              "start": 10288,
                                              "end": 10299,
                                              "loc": {
                                                "start": {
                                                  "line": 240,
                                                  "column": 75
                                                },
                                                "end": {
                                                  "line": 240,
                                                  "column": 86
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10288,
                                                "end": 10296,
                                                "loc": {
                                                  "start": {
                                                    "line": 240,
                                                    "column": 75
                                                  },
                                                  "end": {
                                                    "line": 240,
                                                    "column": 83
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10288,
                                                  "end": 10292,
                                                  "loc": {
                                                    "start": {
                                                      "line": 240,
                                                      "column": 75
                                                    },
                                                    "end": {
                                                      "line": 240,
                                                      "column": 79
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10293,
                                                  "end": 10296,
                                                  "loc": {
                                                    "start": {
                                                      "line": 240,
                                                      "column": 80
                                                    },
                                                    "end": {
                                                      "line": 240,
                                                      "column": 83
                                                    }
                                                  },
                                                  "name": "old"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Literal",
                                                "start": 10297,
                                                "end": 10298,
                                                "loc": {
                                                  "start": {
                                                    "line": 240,
                                                    "column": 84
                                                  },
                                                  "end": {
                                                    "line": 240,
                                                    "column": 85
                                                  }
                                                },
                                                "value": 2,
                                                "rawValue": 2,
                                                "raw": "2"
                                              },
                                              "computed": true
                                            },
                                            {
                                              "type": "MemberExpression",
                                              "start": 10301,
                                              "end": 10312,
                                              "loc": {
                                                "start": {
                                                  "line": 240,
                                                  "column": 88
                                                },
                                                "end": {
                                                  "line": 240,
                                                  "column": 99
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10301,
                                                "end": 10309,
                                                "loc": {
                                                  "start": {
                                                    "line": 240,
                                                    "column": 88
                                                  },
                                                  "end": {
                                                    "line": 240,
                                                    "column": 96
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10301,
                                                  "end": 10305,
                                                  "loc": {
                                                    "start": {
                                                      "line": 240,
                                                      "column": 88
                                                    },
                                                    "end": {
                                                      "line": 240,
                                                      "column": 92
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10306,
                                                  "end": 10309,
                                                  "loc": {
                                                    "start": {
                                                      "line": 240,
                                                      "column": 93
                                                    },
                                                    "end": {
                                                      "line": 240,
                                                      "column": 96
                                                    }
                                                  },
                                                  "name": "old"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Literal",
                                                "start": 10310,
                                                "end": 10311,
                                                "loc": {
                                                  "start": {
                                                    "line": 240,
                                                    "column": 97
                                                  },
                                                  "end": {
                                                    "line": 240,
                                                    "column": 98
                                                  }
                                                },
                                                "value": 3,
                                                "rawValue": 3,
                                                "raw": "3"
                                              },
                                              "computed": true
                                            }
                                          ]
                                        }
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 10335,
                                        "end": 10415,
                                        "loc": {
                                          "start": {
                                            "line": 241,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 241,
                                            "column": 100
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 10335,
                                          "end": 10414,
                                          "loc": {
                                            "start": {
                                              "line": 241,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 241,
                                              "column": 99
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 10335,
                                            "end": 10362,
                                            "loc": {
                                              "start": {
                                                "line": 241,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 241,
                                                "column": 47
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 10335,
                                              "end": 10351,
                                              "loc": {
                                                "start": {
                                                  "line": 241,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 241,
                                                  "column": 36
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10335,
                                                "end": 10348,
                                                "loc": {
                                                  "start": {
                                                    "line": 241,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 241,
                                                    "column": 33
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10335,
                                                  "end": 10339,
                                                  "loc": {
                                                    "start": {
                                                      "line": 241,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 241,
                                                      "column": 24
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10340,
                                                  "end": 10348,
                                                  "loc": {
                                                    "start": {
                                                      "line": 241,
                                                      "column": 25
                                                    },
                                                    "end": {
                                                      "line": 241,
                                                      "column": 33
                                                    }
                                                  },
                                                  "name": "renderer"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 10349,
                                                "end": 10351,
                                                "loc": {
                                                  "start": {
                                                    "line": 241,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 241,
                                                    "column": 36
                                                  }
                                                },
                                                "name": "gl"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 10352,
                                              "end": 10362,
                                              "loc": {
                                                "start": {
                                                  "line": 241,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 241,
                                                  "column": 47
                                                }
                                              },
                                              "name": "setScissor"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "MemberExpression",
                                              "start": 10363,
                                              "end": 10374,
                                              "loc": {
                                                "start": {
                                                  "line": 241,
                                                  "column": 48
                                                },
                                                "end": {
                                                  "line": 241,
                                                  "column": 59
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10363,
                                                "end": 10371,
                                                "loc": {
                                                  "start": {
                                                    "line": 241,
                                                    "column": 48
                                                  },
                                                  "end": {
                                                    "line": 241,
                                                    "column": 56
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10363,
                                                  "end": 10367,
                                                  "loc": {
                                                    "start": {
                                                      "line": 241,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 241,
                                                      "column": 52
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10368,
                                                  "end": 10371,
                                                  "loc": {
                                                    "start": {
                                                      "line": 241,
                                                      "column": 53
                                                    },
                                                    "end": {
                                                      "line": 241,
                                                      "column": 56
                                                    }
                                                  },
                                                  "name": "old"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Literal",
                                                "start": 10372,
                                                "end": 10373,
                                                "loc": {
                                                  "start": {
                                                    "line": 241,
                                                    "column": 57
                                                  },
                                                  "end": {
                                                    "line": 241,
                                                    "column": 58
                                                  }
                                                },
                                                "value": 0,
                                                "rawValue": 0,
                                                "raw": "0"
                                              },
                                              "computed": true
                                            },
                                            {
                                              "type": "MemberExpression",
                                              "start": 10376,
                                              "end": 10387,
                                              "loc": {
                                                "start": {
                                                  "line": 241,
                                                  "column": 61
                                                },
                                                "end": {
                                                  "line": 241,
                                                  "column": 72
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10376,
                                                "end": 10384,
                                                "loc": {
                                                  "start": {
                                                    "line": 241,
                                                    "column": 61
                                                  },
                                                  "end": {
                                                    "line": 241,
                                                    "column": 69
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10376,
                                                  "end": 10380,
                                                  "loc": {
                                                    "start": {
                                                      "line": 241,
                                                      "column": 61
                                                    },
                                                    "end": {
                                                      "line": 241,
                                                      "column": 65
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10381,
                                                  "end": 10384,
                                                  "loc": {
                                                    "start": {
                                                      "line": 241,
                                                      "column": 66
                                                    },
                                                    "end": {
                                                      "line": 241,
                                                      "column": 69
                                                    }
                                                  },
                                                  "name": "old"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Literal",
                                                "start": 10385,
                                                "end": 10386,
                                                "loc": {
                                                  "start": {
                                                    "line": 241,
                                                    "column": 70
                                                  },
                                                  "end": {
                                                    "line": 241,
                                                    "column": 71
                                                  }
                                                },
                                                "value": 1,
                                                "rawValue": 1,
                                                "raw": "1"
                                              },
                                              "computed": true
                                            },
                                            {
                                              "type": "MemberExpression",
                                              "start": 10389,
                                              "end": 10400,
                                              "loc": {
                                                "start": {
                                                  "line": 241,
                                                  "column": 74
                                                },
                                                "end": {
                                                  "line": 241,
                                                  "column": 85
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10389,
                                                "end": 10397,
                                                "loc": {
                                                  "start": {
                                                    "line": 241,
                                                    "column": 74
                                                  },
                                                  "end": {
                                                    "line": 241,
                                                    "column": 82
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10389,
                                                  "end": 10393,
                                                  "loc": {
                                                    "start": {
                                                      "line": 241,
                                                      "column": 74
                                                    },
                                                    "end": {
                                                      "line": 241,
                                                      "column": 78
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10394,
                                                  "end": 10397,
                                                  "loc": {
                                                    "start": {
                                                      "line": 241,
                                                      "column": 79
                                                    },
                                                    "end": {
                                                      "line": 241,
                                                      "column": 82
                                                    }
                                                  },
                                                  "name": "old"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Literal",
                                                "start": 10398,
                                                "end": 10399,
                                                "loc": {
                                                  "start": {
                                                    "line": 241,
                                                    "column": 83
                                                  },
                                                  "end": {
                                                    "line": 241,
                                                    "column": 84
                                                  }
                                                },
                                                "value": 2,
                                                "rawValue": 2,
                                                "raw": "2"
                                              },
                                              "computed": true
                                            },
                                            {
                                              "type": "MemberExpression",
                                              "start": 10402,
                                              "end": 10413,
                                              "loc": {
                                                "start": {
                                                  "line": 241,
                                                  "column": 87
                                                },
                                                "end": {
                                                  "line": 241,
                                                  "column": 98
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10402,
                                                "end": 10410,
                                                "loc": {
                                                  "start": {
                                                    "line": 241,
                                                    "column": 87
                                                  },
                                                  "end": {
                                                    "line": 241,
                                                    "column": 95
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10402,
                                                  "end": 10406,
                                                  "loc": {
                                                    "start": {
                                                      "line": 241,
                                                      "column": 87
                                                    },
                                                    "end": {
                                                      "line": 241,
                                                      "column": 91
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10407,
                                                  "end": 10410,
                                                  "loc": {
                                                    "start": {
                                                      "line": 241,
                                                      "column": 92
                                                    },
                                                    "end": {
                                                      "line": 241,
                                                      "column": 95
                                                    }
                                                  },
                                                  "name": "old"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Literal",
                                                "start": 10411,
                                                "end": 10412,
                                                "loc": {
                                                  "start": {
                                                    "line": 241,
                                                    "column": 96
                                                  },
                                                  "end": {
                                                    "line": 241,
                                                    "column": 97
                                                  }
                                                },
                                                "value": 3,
                                                "rawValue": 3,
                                                "raw": "3"
                                              },
                                              "computed": true
                                            }
                                          ]
                                        }
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 10436,
                                        "end": 10496,
                                        "loc": {
                                          "start": {
                                            "line": 242,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 242,
                                            "column": 80
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 10436,
                                          "end": 10495,
                                          "loc": {
                                            "start": {
                                              "line": 242,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 242,
                                              "column": 79
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 10436,
                                            "end": 10466,
                                            "loc": {
                                              "start": {
                                                "line": 242,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 242,
                                                "column": 50
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 10436,
                                              "end": 10452,
                                              "loc": {
                                                "start": {
                                                  "line": 242,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 242,
                                                  "column": 36
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10436,
                                                "end": 10449,
                                                "loc": {
                                                  "start": {
                                                    "line": 242,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 242,
                                                    "column": 33
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10436,
                                                  "end": 10440,
                                                  "loc": {
                                                    "start": {
                                                      "line": 242,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 242,
                                                      "column": 24
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10441,
                                                  "end": 10449,
                                                  "loc": {
                                                    "start": {
                                                      "line": 242,
                                                      "column": 25
                                                    },
                                                    "end": {
                                                      "line": 242,
                                                      "column": 33
                                                    }
                                                  },
                                                  "name": "renderer"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 10450,
                                                "end": 10452,
                                                "loc": {
                                                  "start": {
                                                    "line": 242,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 242,
                                                    "column": 36
                                                  }
                                                },
                                                "name": "gl"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 10453,
                                              "end": 10466,
                                              "loc": {
                                                "start": {
                                                  "line": 242,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 242,
                                                  "column": 50
                                                }
                                              },
                                              "name": "setClearColor"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "MemberExpression",
                                              "start": 10467,
                                              "end": 10491,
                                              "loc": {
                                                "start": {
                                                  "line": 242,
                                                  "column": 51
                                                },
                                                "end": {
                                                  "line": 242,
                                                  "column": 75
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10467,
                                                "end": 10480,
                                                "loc": {
                                                  "start": {
                                                    "line": 242,
                                                    "column": 51
                                                  },
                                                  "end": {
                                                    "line": 242,
                                                    "column": 64
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10467,
                                                  "end": 10471,
                                                  "loc": {
                                                    "start": {
                                                      "line": 242,
                                                      "column": 51
                                                    },
                                                    "end": {
                                                      "line": 242,
                                                      "column": 55
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10472,
                                                  "end": 10480,
                                                  "loc": {
                                                    "start": {
                                                      "line": 242,
                                                      "column": 56
                                                    },
                                                    "end": {
                                                      "line": 242,
                                                      "column": 64
                                                    }
                                                  },
                                                  "name": "renderer"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 10481,
                                                "end": 10491,
                                                "loc": {
                                                  "start": {
                                                    "line": 242,
                                                    "column": 65
                                                  },
                                                  "end": {
                                                    "line": 242,
                                                    "column": 75
                                                  }
                                                },
                                                "name": "clearColor"
                                              },
                                              "computed": false
                                            },
                                            {
                                              "type": "Literal",
                                              "start": 10493,
                                              "end": 10494,
                                              "loc": {
                                                "start": {
                                                  "line": 242,
                                                  "column": 77
                                                },
                                                "end": {
                                                  "line": 242,
                                                  "column": 78
                                                }
                                              },
                                              "value": 0,
                                              "rawValue": 0,
                                              "raw": "0"
                                            }
                                          ]
                                        }
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 10517,
                                        "end": 10542,
                                        "loc": {
                                          "start": {
                                            "line": 243,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 243,
                                            "column": 45
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 10517,
                                          "end": 10541,
                                          "loc": {
                                            "start": {
                                              "line": 243,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 243,
                                              "column": 44
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 10517,
                                            "end": 10539,
                                            "loc": {
                                              "start": {
                                                "line": 243,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 243,
                                                "column": 42
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 10517,
                                              "end": 10533,
                                              "loc": {
                                                "start": {
                                                  "line": 243,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 243,
                                                  "column": 36
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10517,
                                                "end": 10530,
                                                "loc": {
                                                  "start": {
                                                    "line": 243,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 243,
                                                    "column": 33
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 10517,
                                                  "end": 10521,
                                                  "loc": {
                                                    "start": {
                                                      "line": 243,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 243,
                                                      "column": 24
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10522,
                                                  "end": 10530,
                                                  "loc": {
                                                    "start": {
                                                      "line": 243,
                                                      "column": 25
                                                    },
                                                    "end": {
                                                      "line": 243,
                                                      "column": 33
                                                    }
                                                  },
                                                  "name": "renderer"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 10531,
                                                "end": 10533,
                                                "loc": {
                                                  "start": {
                                                    "line": 243,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 243,
                                                    "column": 36
                                                  }
                                                },
                                                "name": "gl"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 10534,
                                              "end": 10539,
                                              "loc": {
                                                "start": {
                                                  "line": 243,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 243,
                                                  "column": 42
                                                }
                                              },
                                              "name": "clear"
                                            },
                                            "computed": false
                                          },
                                          "arguments": []
                                        }
                                      }
                                    ]
                                  },
                                  "alternate": null,
                                  "leadingComments": [
                                    {
                                      "type": "CommentLine",
                                      "value": " Clear canvas only if dirty, it isn't necessary for simple interaction",
                                      "start": 10058,
                                      "end": 10130,
                                      "loc": {
                                        "start": {
                                          "line": 237,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 237,
                                          "column": 88
                                        }
                                      },
                                      "range": [
                                        10058,
                                        10130
                                      ]
                                    }
                                  ]
                                }
                              ]
                            },
                            "alternate": null
                          }
                        ],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Remove frames",
                          "start": 10594,
                          "end": 10610,
                          "loc": {
                            "start": {
                              "line": 248,
                              "column": 8
                            },
                            "end": {
                              "line": 248,
                              "column": 24
                            }
                          },
                          "range": [
                            10594,
                            10610
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 10619,
                      "end": 10674,
                      "loc": {
                        "start": {
                          "line": 249,
                          "column": 8
                        },
                        "end": {
                          "line": 249,
                          "column": 63
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 10623,
                        "end": 10648,
                        "loc": {
                          "start": {
                            "line": 249,
                            "column": 12
                          },
                          "end": {
                            "line": 249,
                            "column": 37
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 10623,
                          "end": 10644,
                          "loc": {
                            "start": {
                              "line": 249,
                              "column": 12
                            },
                            "end": {
                              "line": 249,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 10623,
                            "end": 10627,
                            "loc": {
                              "start": {
                                "line": 249,
                                "column": 12
                              },
                              "end": {
                                "line": 249,
                                "column": 16
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 10628,
                            "end": 10644,
                            "loc": {
                              "start": {
                                "line": 249,
                                "column": 17
                              },
                              "end": {
                                "line": 249,
                                "column": 33
                              }
                            },
                            "name": "invalidateFrames"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "operator": ">",
                        "right": {
                          "type": "Literal",
                          "start": 10647,
                          "end": 10648,
                          "loc": {
                            "start": {
                              "line": 249,
                              "column": 36
                            },
                            "end": {
                              "line": 249,
                              "column": 37
                            }
                          },
                          "value": 0,
                          "rawValue": 0,
                          "raw": "0"
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 10650,
                        "end": 10674,
                        "loc": {
                          "start": {
                            "line": 249,
                            "column": 39
                          },
                          "end": {
                            "line": 249,
                            "column": 63
                          }
                        },
                        "expression": {
                          "type": "UpdateExpression",
                          "start": 10650,
                          "end": 10673,
                          "loc": {
                            "start": {
                              "line": 249,
                              "column": 39
                            },
                            "end": {
                              "line": 249,
                              "column": 62
                            }
                          },
                          "operator": "--",
                          "prefix": false,
                          "argument": {
                            "type": "MemberExpression",
                            "start": 10650,
                            "end": 10671,
                            "loc": {
                              "start": {
                                "line": 249,
                                "column": 39
                              },
                              "end": {
                                "line": 249,
                                "column": 60
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 10650,
                              "end": 10654,
                              "loc": {
                                "start": {
                                  "line": 249,
                                  "column": 39
                                },
                                "end": {
                                  "line": 249,
                                  "column": 43
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 10655,
                              "end": 10671,
                              "loc": {
                                "start": {
                                  "line": 249,
                                  "column": 44
                                },
                                "end": {
                                  "line": 249,
                                  "column": 60
                                }
                              },
                              "name": "invalidateFrames"
                            },
                            "computed": false
                          }
                        }
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Remove frames",
                          "start": 10594,
                          "end": 10610,
                          "loc": {
                            "start": {
                              "line": 248,
                              "column": 8
                            },
                            "end": {
                              "line": 248,
                              "column": 24
                            }
                          },
                          "range": [
                            10594,
                            10610
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 10684,
                      "end": 10702,
                      "loc": {
                        "start": {
                          "line": 251,
                          "column": 8
                        },
                        "end": {
                          "line": 251,
                          "column": 26
                        }
                      },
                      "argument": {
                        "type": "MemberExpression",
                        "start": 10691,
                        "end": 10701,
                        "loc": {
                          "start": {
                            "line": 251,
                            "column": 15
                          },
                          "end": {
                            "line": 251,
                            "column": 25
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 10691,
                          "end": 10695,
                          "loc": {
                            "start": {
                              "line": 251,
                              "column": 15
                            },
                            "end": {
                              "line": 251,
                              "column": 19
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 10696,
                          "end": 10701,
                          "loc": {
                            "start": {
                              "line": 251,
                              "column": 20
                            },
                            "end": {
                              "line": 251,
                              "column": 25
                            }
                          },
                          "name": "dirty"
                        },
                        "computed": false
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 10714,
              "end": 11745,
              "loc": {
                "start": {
                  "line": 254,
                  "column": 4
                },
                "end": {
                  "line": 281,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 10714,
                "end": 10720,
                "loc": {
                  "start": {
                    "line": 254,
                    "column": 4
                  },
                  "end": {
                    "line": 254,
                    "column": 10
                  }
                },
                "name": "render"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 10720,
                "end": 11745,
                "loc": {
                  "start": {
                    "line": 254,
                    "column": 10
                  },
                  "end": {
                    "line": 281,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 10721,
                    "end": 10725,
                    "loc": {
                      "start": {
                        "line": 254,
                        "column": 11
                      },
                      "end": {
                        "line": 254,
                        "column": 15
                      }
                    },
                    "name": "time"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 10727,
                  "end": 11745,
                  "loc": {
                    "start": {
                      "line": 254,
                      "column": 17
                    },
                    "end": {
                      "line": 281,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 10737,
                      "end": 11739,
                      "loc": {
                        "start": {
                          "line": 255,
                          "column": 8
                        },
                        "end": {
                          "line": 280,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 10741,
                        "end": 10919,
                        "loc": {
                          "start": {
                            "line": 255,
                            "column": 12
                          },
                          "end": {
                            "line": 260,
                            "column": 22
                          }
                        },
                        "left": {
                          "type": "LogicalExpression",
                          "start": 10741,
                          "end": 10893,
                          "loc": {
                            "start": {
                              "line": 255,
                              "column": 12
                            },
                            "end": {
                              "line": 259,
                              "column": 37
                            }
                          },
                          "left": {
                            "type": "LogicalExpression",
                            "start": 10741,
                            "end": 10852,
                            "loc": {
                              "start": {
                                "line": 255,
                                "column": 12
                              },
                              "end": {
                                "line": 258,
                                "column": 34
                              }
                            },
                            "left": {
                              "type": "LogicalExpression",
                              "start": 10741,
                              "end": 10814,
                              "loc": {
                                "start": {
                                  "line": 255,
                                  "column": 12
                                },
                                "end": {
                                  "line": 257,
                                  "column": 29
                                }
                              },
                              "left": {
                                "type": "LogicalExpression",
                                "start": 10741,
                                "end": 10781,
                                "loc": {
                                  "start": {
                                    "line": 255,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 256,
                                    "column": 22
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 10741,
                                  "end": 10755,
                                  "loc": {
                                    "start": {
                                      "line": 255,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 255,
                                      "column": 26
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 10741,
                                    "end": 10751,
                                    "loc": {
                                      "start": {
                                        "line": 255,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 255,
                                        "column": 22
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 10741,
                                      "end": 10745,
                                      "loc": {
                                        "start": {
                                          "line": 255,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 255,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10746,
                                      "end": 10751,
                                      "loc": {
                                        "start": {
                                          "line": 255,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 255,
                                          "column": 22
                                        }
                                      },
                                      "name": "force"
                                    },
                                    "computed": false
                                  },
                                  "operator": ">",
                                  "right": {
                                    "type": "Literal",
                                    "start": 10754,
                                    "end": 10755,
                                    "loc": {
                                      "start": {
                                        "line": 255,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 255,
                                        "column": 26
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  }
                                },
                                "operator": "||",
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 10771,
                                  "end": 10781,
                                  "loc": {
                                    "start": {
                                      "line": 256,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 256,
                                      "column": 22
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 10771,
                                    "end": 10775,
                                    "loc": {
                                      "start": {
                                        "line": 256,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 256,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10776,
                                    "end": 10781,
                                    "loc": {
                                      "start": {
                                        "line": 256,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 256,
                                        "column": 22
                                      }
                                    },
                                    "name": "dirty"
                                  },
                                  "computed": false
                                }
                              },
                              "operator": "||",
                              "right": {
                                "type": "MemberExpression",
                                "start": 10797,
                                "end": 10814,
                                "loc": {
                                  "start": {
                                    "line": 257,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 257,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 10797,
                                  "end": 10801,
                                  "loc": {
                                    "start": {
                                      "line": 257,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 257,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10802,
                                  "end": 10814,
                                  "loc": {
                                    "start": {
                                      "line": 257,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 257,
                                      "column": 29
                                    }
                                  },
                                  "name": "renderAlways"
                                },
                                "computed": false
                              }
                            },
                            "operator": "||",
                            "right": {
                              "type": "MemberExpression",
                              "start": 10830,
                              "end": 10852,
                              "loc": {
                                "start": {
                                  "line": 258,
                                  "column": 12
                                },
                                "end": {
                                  "line": 258,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 10830,
                                "end": 10843,
                                "loc": {
                                  "start": {
                                    "line": 258,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 258,
                                    "column": 25
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 10830,
                                  "end": 10834,
                                  "loc": {
                                    "start": {
                                      "line": 258,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 258,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10835,
                                  "end": 10843,
                                  "loc": {
                                    "start": {
                                      "line": 258,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 258,
                                      "column": 25
                                    }
                                  },
                                  "name": "controls"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 10844,
                                "end": 10852,
                                "loc": {
                                  "start": {
                                    "line": 258,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 258,
                                    "column": 34
                                  }
                                },
                                "name": "inMotion"
                              },
                              "computed": false
                            }
                          },
                          "operator": "||",
                          "right": {
                            "type": "MemberExpression",
                            "start": 10868,
                            "end": 10893,
                            "loc": {
                              "start": {
                                "line": 259,
                                "column": 12
                              },
                              "end": {
                                "line": 259,
                                "column": 37
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 10868,
                              "end": 10884,
                              "loc": {
                                "start": {
                                  "line": 259,
                                  "column": 12
                                },
                                "end": {
                                  "line": 259,
                                  "column": 28
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 10868,
                                "end": 10872,
                                "loc": {
                                  "start": {
                                    "line": 259,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 259,
                                    "column": 16
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 10873,
                                "end": 10884,
                                "loc": {
                                  "start": {
                                    "line": 259,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 259,
                                    "column": 28
                                  }
                                },
                                "name": "controlsHud"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 10885,
                              "end": 10893,
                              "loc": {
                                "start": {
                                  "line": 259,
                                  "column": 29
                                },
                                "end": {
                                  "line": 259,
                                  "column": 37
                                }
                              },
                              "name": "inMotion"
                            },
                            "computed": false
                          }
                        },
                        "operator": "||",
                        "right": {
                          "type": "MemberExpression",
                          "start": 10909,
                          "end": 10919,
                          "loc": {
                            "start": {
                              "line": 260,
                              "column": 12
                            },
                            "end": {
                              "line": 260,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 10909,
                            "end": 10913,
                            "loc": {
                              "start": {
                                "line": 260,
                                "column": 12
                              },
                              "end": {
                                "line": 260,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 10914,
                            "end": 10919,
                            "loc": {
                              "start": {
                                "line": 260,
                                "column": 17
                              },
                              "end": {
                                "line": 260,
                                "column": 22
                              }
                            },
                            "name": "stats"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 10921,
                        "end": 11739,
                        "loc": {
                          "start": {
                            "line": 260,
                            "column": 24
                          },
                          "end": {
                            "line": 280,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 10936,
                            "end": 10981,
                            "loc": {
                              "start": {
                                "line": 262,
                                "column": 12
                              },
                              "end": {
                                "line": 262,
                                "column": 57
                              }
                            },
                            "expression": {
                              "type": "LogicalExpression",
                              "start": 10936,
                              "end": 10980,
                              "loc": {
                                "start": {
                                  "line": 262,
                                  "column": 12
                                },
                                "end": {
                                  "line": 262,
                                  "column": 56
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 10936,
                                "end": 10955,
                                "loc": {
                                  "start": {
                                    "line": 262,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 262,
                                    "column": 31
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 10936,
                                  "end": 10940,
                                  "loc": {
                                    "start": {
                                      "line": 262,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 262,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10941,
                                  "end": 10955,
                                  "loc": {
                                    "start": {
                                      "line": 262,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 262,
                                      "column": 31
                                    }
                                  },
                                  "name": "callbackBefore"
                                },
                                "computed": false
                              },
                              "operator": "&&",
                              "right": {
                                "type": "CallExpression",
                                "start": 10959,
                                "end": 10980,
                                "loc": {
                                  "start": {
                                    "line": 262,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 262,
                                    "column": 56
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 10959,
                                  "end": 10978,
                                  "loc": {
                                    "start": {
                                      "line": 262,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 262,
                                      "column": 54
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 10959,
                                    "end": 10963,
                                    "loc": {
                                      "start": {
                                        "line": 262,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 262,
                                        "column": 39
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10964,
                                    "end": 10978,
                                    "loc": {
                                      "start": {
                                        "line": 262,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 262,
                                        "column": 54
                                      }
                                    },
                                    "name": "callbackBefore"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 10995,
                            "end": 11076,
                            "loc": {
                              "start": {
                                "line": 264,
                                "column": 12
                              },
                              "end": {
                                "line": 264,
                                "column": 93
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 10995,
                              "end": 11075,
                              "loc": {
                                "start": {
                                  "line": 264,
                                  "column": 12
                                },
                                "end": {
                                  "line": 264,
                                  "column": 92
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 10995,
                                "end": 11023,
                                "loc": {
                                  "start": {
                                    "line": 264,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 264,
                                    "column": 40
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 10995,
                                  "end": 11011,
                                  "loc": {
                                    "start": {
                                      "line": 264,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 264,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 10995,
                                    "end": 11008,
                                    "loc": {
                                      "start": {
                                        "line": 264,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 264,
                                        "column": 25
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 10995,
                                      "end": 10999,
                                      "loc": {
                                        "start": {
                                          "line": 264,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 264,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11000,
                                      "end": 11008,
                                      "loc": {
                                        "start": {
                                          "line": 264,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 264,
                                          "column": 25
                                        }
                                      },
                                      "name": "renderer"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11009,
                                    "end": 11011,
                                    "loc": {
                                      "start": {
                                        "line": 264,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 264,
                                        "column": 28
                                      }
                                    },
                                    "name": "gl"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11012,
                                  "end": 11023,
                                  "loc": {
                                    "start": {
                                      "line": 264,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 264,
                                      "column": 40
                                    }
                                  },
                                  "name": "setViewport"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 11024,
                                  "end": 11035,
                                  "loc": {
                                    "start": {
                                      "line": 264,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 264,
                                      "column": 52
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11024,
                                    "end": 11032,
                                    "loc": {
                                      "start": {
                                        "line": 264,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 264,
                                        "column": 49
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11024,
                                      "end": 11028,
                                      "loc": {
                                        "start": {
                                          "line": 264,
                                          "column": 41
                                        },
                                        "end": {
                                          "line": 264,
                                          "column": 45
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11029,
                                      "end": 11032,
                                      "loc": {
                                        "start": {
                                          "line": 264,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 264,
                                          "column": 49
                                        }
                                      },
                                      "name": "new"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 11033,
                                    "end": 11034,
                                    "loc": {
                                      "start": {
                                        "line": 264,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 264,
                                        "column": 51
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  "computed": true
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 11037,
                                  "end": 11048,
                                  "loc": {
                                    "start": {
                                      "line": 264,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 264,
                                      "column": 65
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11037,
                                    "end": 11045,
                                    "loc": {
                                      "start": {
                                        "line": 264,
                                        "column": 54
                                      },
                                      "end": {
                                        "line": 264,
                                        "column": 62
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11037,
                                      "end": 11041,
                                      "loc": {
                                        "start": {
                                          "line": 264,
                                          "column": 54
                                        },
                                        "end": {
                                          "line": 264,
                                          "column": 58
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11042,
                                      "end": 11045,
                                      "loc": {
                                        "start": {
                                          "line": 264,
                                          "column": 59
                                        },
                                        "end": {
                                          "line": 264,
                                          "column": 62
                                        }
                                      },
                                      "name": "new"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 11046,
                                    "end": 11047,
                                    "loc": {
                                      "start": {
                                        "line": 264,
                                        "column": 63
                                      },
                                      "end": {
                                        "line": 264,
                                        "column": 64
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  "computed": true
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 11050,
                                  "end": 11061,
                                  "loc": {
                                    "start": {
                                      "line": 264,
                                      "column": 67
                                    },
                                    "end": {
                                      "line": 264,
                                      "column": 78
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11050,
                                    "end": 11058,
                                    "loc": {
                                      "start": {
                                        "line": 264,
                                        "column": 67
                                      },
                                      "end": {
                                        "line": 264,
                                        "column": 75
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11050,
                                      "end": 11054,
                                      "loc": {
                                        "start": {
                                          "line": 264,
                                          "column": 67
                                        },
                                        "end": {
                                          "line": 264,
                                          "column": 71
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11055,
                                      "end": 11058,
                                      "loc": {
                                        "start": {
                                          "line": 264,
                                          "column": 72
                                        },
                                        "end": {
                                          "line": 264,
                                          "column": 75
                                        }
                                      },
                                      "name": "new"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 11059,
                                    "end": 11060,
                                    "loc": {
                                      "start": {
                                        "line": 264,
                                        "column": 76
                                      },
                                      "end": {
                                        "line": 264,
                                        "column": 77
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  },
                                  "computed": true
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 11063,
                                  "end": 11074,
                                  "loc": {
                                    "start": {
                                      "line": 264,
                                      "column": 80
                                    },
                                    "end": {
                                      "line": 264,
                                      "column": 91
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11063,
                                    "end": 11071,
                                    "loc": {
                                      "start": {
                                        "line": 264,
                                        "column": 80
                                      },
                                      "end": {
                                        "line": 264,
                                        "column": 88
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11063,
                                      "end": 11067,
                                      "loc": {
                                        "start": {
                                          "line": 264,
                                          "column": 80
                                        },
                                        "end": {
                                          "line": 264,
                                          "column": 84
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11068,
                                      "end": 11071,
                                      "loc": {
                                        "start": {
                                          "line": 264,
                                          "column": 85
                                        },
                                        "end": {
                                          "line": 264,
                                          "column": 88
                                        }
                                      },
                                      "name": "new"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 11072,
                                    "end": 11073,
                                    "loc": {
                                      "start": {
                                        "line": 264,
                                        "column": 89
                                      },
                                      "end": {
                                        "line": 264,
                                        "column": 90
                                      }
                                    },
                                    "value": 3,
                                    "rawValue": 3,
                                    "raw": "3"
                                  },
                                  "computed": true
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 11089,
                            "end": 11169,
                            "loc": {
                              "start": {
                                "line": 265,
                                "column": 12
                              },
                              "end": {
                                "line": 265,
                                "column": 92
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 11089,
                              "end": 11168,
                              "loc": {
                                "start": {
                                  "line": 265,
                                  "column": 12
                                },
                                "end": {
                                  "line": 265,
                                  "column": 91
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 11089,
                                "end": 11116,
                                "loc": {
                                  "start": {
                                    "line": 265,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 265,
                                    "column": 39
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 11089,
                                  "end": 11105,
                                  "loc": {
                                    "start": {
                                      "line": 265,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 265,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11089,
                                    "end": 11102,
                                    "loc": {
                                      "start": {
                                        "line": 265,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 265,
                                        "column": 25
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11089,
                                      "end": 11093,
                                      "loc": {
                                        "start": {
                                          "line": 265,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 265,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11094,
                                      "end": 11102,
                                      "loc": {
                                        "start": {
                                          "line": 265,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 265,
                                          "column": 25
                                        }
                                      },
                                      "name": "renderer"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11103,
                                    "end": 11105,
                                    "loc": {
                                      "start": {
                                        "line": 265,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 265,
                                        "column": 28
                                      }
                                    },
                                    "name": "gl"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11106,
                                  "end": 11116,
                                  "loc": {
                                    "start": {
                                      "line": 265,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 265,
                                      "column": 39
                                    }
                                  },
                                  "name": "setScissor"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 11117,
                                  "end": 11128,
                                  "loc": {
                                    "start": {
                                      "line": 265,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 265,
                                      "column": 51
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11117,
                                    "end": 11125,
                                    "loc": {
                                      "start": {
                                        "line": 265,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 265,
                                        "column": 48
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11117,
                                      "end": 11121,
                                      "loc": {
                                        "start": {
                                          "line": 265,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 265,
                                          "column": 44
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11122,
                                      "end": 11125,
                                      "loc": {
                                        "start": {
                                          "line": 265,
                                          "column": 45
                                        },
                                        "end": {
                                          "line": 265,
                                          "column": 48
                                        }
                                      },
                                      "name": "new"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 11126,
                                    "end": 11127,
                                    "loc": {
                                      "start": {
                                        "line": 265,
                                        "column": 49
                                      },
                                      "end": {
                                        "line": 265,
                                        "column": 50
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  "computed": true
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 11130,
                                  "end": 11141,
                                  "loc": {
                                    "start": {
                                      "line": 265,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 265,
                                      "column": 64
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11130,
                                    "end": 11138,
                                    "loc": {
                                      "start": {
                                        "line": 265,
                                        "column": 53
                                      },
                                      "end": {
                                        "line": 265,
                                        "column": 61
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11130,
                                      "end": 11134,
                                      "loc": {
                                        "start": {
                                          "line": 265,
                                          "column": 53
                                        },
                                        "end": {
                                          "line": 265,
                                          "column": 57
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11135,
                                      "end": 11138,
                                      "loc": {
                                        "start": {
                                          "line": 265,
                                          "column": 58
                                        },
                                        "end": {
                                          "line": 265,
                                          "column": 61
                                        }
                                      },
                                      "name": "new"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 11139,
                                    "end": 11140,
                                    "loc": {
                                      "start": {
                                        "line": 265,
                                        "column": 62
                                      },
                                      "end": {
                                        "line": 265,
                                        "column": 63
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  "computed": true
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 11143,
                                  "end": 11154,
                                  "loc": {
                                    "start": {
                                      "line": 265,
                                      "column": 66
                                    },
                                    "end": {
                                      "line": 265,
                                      "column": 77
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11143,
                                    "end": 11151,
                                    "loc": {
                                      "start": {
                                        "line": 265,
                                        "column": 66
                                      },
                                      "end": {
                                        "line": 265,
                                        "column": 74
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11143,
                                      "end": 11147,
                                      "loc": {
                                        "start": {
                                          "line": 265,
                                          "column": 66
                                        },
                                        "end": {
                                          "line": 265,
                                          "column": 70
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11148,
                                      "end": 11151,
                                      "loc": {
                                        "start": {
                                          "line": 265,
                                          "column": 71
                                        },
                                        "end": {
                                          "line": 265,
                                          "column": 74
                                        }
                                      },
                                      "name": "new"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 11152,
                                    "end": 11153,
                                    "loc": {
                                      "start": {
                                        "line": 265,
                                        "column": 75
                                      },
                                      "end": {
                                        "line": 265,
                                        "column": 76
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  },
                                  "computed": true
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 11156,
                                  "end": 11167,
                                  "loc": {
                                    "start": {
                                      "line": 265,
                                      "column": 79
                                    },
                                    "end": {
                                      "line": 265,
                                      "column": 90
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11156,
                                    "end": 11164,
                                    "loc": {
                                      "start": {
                                        "line": 265,
                                        "column": 79
                                      },
                                      "end": {
                                        "line": 265,
                                        "column": 87
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11156,
                                      "end": 11160,
                                      "loc": {
                                        "start": {
                                          "line": 265,
                                          "column": 79
                                        },
                                        "end": {
                                          "line": 265,
                                          "column": 83
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11161,
                                      "end": 11164,
                                      "loc": {
                                        "start": {
                                          "line": 265,
                                          "column": 84
                                        },
                                        "end": {
                                          "line": 265,
                                          "column": 87
                                        }
                                      },
                                      "name": "new"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 11165,
                                    "end": 11166,
                                    "loc": {
                                      "start": {
                                        "line": 265,
                                        "column": 88
                                      },
                                      "end": {
                                        "line": 265,
                                        "column": 89
                                      }
                                    },
                                    "value": 3,
                                    "rawValue": 3,
                                    "raw": "3"
                                  },
                                  "computed": true
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 11182,
                            "end": 11244,
                            "loc": {
                              "start": {
                                "line": 266,
                                "column": 12
                              },
                              "end": {
                                "line": 266,
                                "column": 74
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 11182,
                              "end": 11243,
                              "loc": {
                                "start": {
                                  "line": 266,
                                  "column": 12
                                },
                                "end": {
                                  "line": 266,
                                  "column": 73
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 11182,
                                "end": 11212,
                                "loc": {
                                  "start": {
                                    "line": 266,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 266,
                                    "column": 42
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 11182,
                                  "end": 11198,
                                  "loc": {
                                    "start": {
                                      "line": 266,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 266,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11182,
                                    "end": 11195,
                                    "loc": {
                                      "start": {
                                        "line": 266,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 266,
                                        "column": 25
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11182,
                                      "end": 11186,
                                      "loc": {
                                        "start": {
                                          "line": 266,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 266,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11187,
                                      "end": 11195,
                                      "loc": {
                                        "start": {
                                          "line": 266,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 266,
                                          "column": 25
                                        }
                                      },
                                      "name": "renderer"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11196,
                                    "end": 11198,
                                    "loc": {
                                      "start": {
                                        "line": 266,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 266,
                                        "column": 28
                                      }
                                    },
                                    "name": "gl"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11199,
                                  "end": 11212,
                                  "loc": {
                                    "start": {
                                      "line": 266,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 266,
                                      "column": 42
                                    }
                                  },
                                  "name": "setClearColor"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 11213,
                                  "end": 11228,
                                  "loc": {
                                    "start": {
                                      "line": 266,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 266,
                                      "column": 58
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 11213,
                                    "end": 11217,
                                    "loc": {
                                      "start": {
                                        "line": 266,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 266,
                                        "column": 47
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11218,
                                    "end": 11228,
                                    "loc": {
                                      "start": {
                                        "line": 266,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 266,
                                        "column": 58
                                      }
                                    },
                                    "name": "background"
                                  },
                                  "computed": false
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 11230,
                                  "end": 11242,
                                  "loc": {
                                    "start": {
                                      "line": 266,
                                      "column": 60
                                    },
                                    "end": {
                                      "line": 266,
                                      "column": 72
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 11230,
                                    "end": 11234,
                                    "loc": {
                                      "start": {
                                        "line": 266,
                                        "column": 60
                                      },
                                      "end": {
                                        "line": 266,
                                        "column": 64
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11235,
                                    "end": 11242,
                                    "loc": {
                                      "start": {
                                        "line": 266,
                                        "column": 65
                                      },
                                      "end": {
                                        "line": 266,
                                        "column": 72
                                      }
                                    },
                                    "name": "opacity"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 11257,
                            "end": 11282,
                            "loc": {
                              "start": {
                                "line": 267,
                                "column": 12
                              },
                              "end": {
                                "line": 267,
                                "column": 37
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 11257,
                              "end": 11281,
                              "loc": {
                                "start": {
                                  "line": 267,
                                  "column": 12
                                },
                                "end": {
                                  "line": 267,
                                  "column": 36
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 11257,
                                "end": 11279,
                                "loc": {
                                  "start": {
                                    "line": 267,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 267,
                                    "column": 34
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 11257,
                                  "end": 11273,
                                  "loc": {
                                    "start": {
                                      "line": 267,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 267,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11257,
                                    "end": 11270,
                                    "loc": {
                                      "start": {
                                        "line": 267,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 267,
                                        "column": 25
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11257,
                                      "end": 11261,
                                      "loc": {
                                        "start": {
                                          "line": 267,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 267,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11262,
                                      "end": 11270,
                                      "loc": {
                                        "start": {
                                          "line": 267,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 267,
                                          "column": 25
                                        }
                                      },
                                      "name": "renderer"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11271,
                                    "end": 11273,
                                    "loc": {
                                      "start": {
                                        "line": 267,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 267,
                                        "column": 28
                                      }
                                    },
                                    "name": "gl"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11274,
                                  "end": 11279,
                                  "loc": {
                                    "start": {
                                      "line": 267,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 267,
                                      "column": 34
                                    }
                                  },
                                  "name": "clear"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          },
                          {
                            "type": "IfStatement",
                            "start": 11296,
                            "end": 11578,
                            "loc": {
                              "start": {
                                "line": 269,
                                "column": 12
                              },
                              "end": {
                                "line": 274,
                                "column": 38
                              }
                            },
                            "test": {
                              "type": "UnaryExpression",
                              "start": 11300,
                              "end": 11320,
                              "loc": {
                                "start": {
                                  "line": 269,
                                  "column": 16
                                },
                                "end": {
                                  "line": 269,
                                  "column": 36
                                }
                              },
                              "operator": "!",
                              "prefix": true,
                              "argument": {
                                "type": "MemberExpression",
                                "start": 11301,
                                "end": 11320,
                                "loc": {
                                  "start": {
                                    "line": 269,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 269,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 11301,
                                  "end": 11305,
                                  "loc": {
                                    "start": {
                                      "line": 269,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 269,
                                      "column": 21
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11306,
                                  "end": 11320,
                                  "loc": {
                                    "start": {
                                      "line": 269,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 269,
                                      "column": 36
                                    }
                                  },
                                  "name": "callbackRender"
                                },
                                "computed": false
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 11322,
                              "end": 11534,
                              "loc": {
                                "start": {
                                  "line": 269,
                                  "column": 38
                                },
                                "end": {
                                  "line": 273,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 11340,
                                  "end": 11389,
                                  "loc": {
                                    "start": {
                                      "line": 270,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 270,
                                      "column": 65
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 11340,
                                    "end": 11388,
                                    "loc": {
                                      "start": {
                                        "line": 270,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 270,
                                        "column": 64
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 11340,
                                      "end": 11363,
                                      "loc": {
                                        "start": {
                                          "line": 270,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 270,
                                          "column": 39
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 11340,
                                        "end": 11356,
                                        "loc": {
                                          "start": {
                                            "line": 270,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 270,
                                            "column": 32
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 11340,
                                          "end": 11353,
                                          "loc": {
                                            "start": {
                                              "line": 270,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 270,
                                              "column": 29
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 11340,
                                            "end": 11344,
                                            "loc": {
                                              "start": {
                                                "line": 270,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 270,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 11345,
                                            "end": 11353,
                                            "loc": {
                                              "start": {
                                                "line": 270,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 270,
                                                "column": 29
                                              }
                                            },
                                            "name": "renderer"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 11354,
                                          "end": 11356,
                                          "loc": {
                                            "start": {
                                              "line": 270,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 270,
                                              "column": 32
                                            }
                                          },
                                          "name": "gl"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 11357,
                                        "end": 11363,
                                        "loc": {
                                          "start": {
                                            "line": 270,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 270,
                                            "column": 39
                                          }
                                        },
                                        "name": "render"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "MemberExpression",
                                        "start": 11364,
                                        "end": 11374,
                                        "loc": {
                                          "start": {
                                            "line": 270,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 270,
                                            "column": 50
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 11364,
                                          "end": 11368,
                                          "loc": {
                                            "start": {
                                              "line": 270,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 270,
                                              "column": 44
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 11369,
                                          "end": 11374,
                                          "loc": {
                                            "start": {
                                              "line": 270,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 270,
                                              "column": 50
                                            }
                                          },
                                          "name": "scene"
                                        },
                                        "computed": false
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "start": 11376,
                                        "end": 11387,
                                        "loc": {
                                          "start": {
                                            "line": 270,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 270,
                                            "column": 63
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 11376,
                                          "end": 11380,
                                          "loc": {
                                            "start": {
                                              "line": 270,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 270,
                                              "column": 56
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 11381,
                                          "end": 11387,
                                          "loc": {
                                            "start": {
                                              "line": 270,
                                              "column": 57
                                            },
                                            "end": {
                                              "line": 270,
                                              "column": 63
                                            }
                                          },
                                          "name": "camera"
                                        },
                                        "computed": false
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 11406,
                                  "end": 11436,
                                  "loc": {
                                    "start": {
                                      "line": 271,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 271,
                                      "column": 46
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 11406,
                                    "end": 11435,
                                    "loc": {
                                      "start": {
                                        "line": 271,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 271,
                                        "column": 45
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 11406,
                                      "end": 11433,
                                      "loc": {
                                        "start": {
                                          "line": 271,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 271,
                                          "column": 43
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 11406,
                                        "end": 11422,
                                        "loc": {
                                          "start": {
                                            "line": 271,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 271,
                                            "column": 32
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 11406,
                                          "end": 11419,
                                          "loc": {
                                            "start": {
                                              "line": 271,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 271,
                                              "column": 29
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 11406,
                                            "end": 11410,
                                            "loc": {
                                              "start": {
                                                "line": 271,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 271,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 11411,
                                            "end": 11419,
                                            "loc": {
                                              "start": {
                                                "line": 271,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 271,
                                                "column": 29
                                              }
                                            },
                                            "name": "renderer"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 11420,
                                          "end": 11422,
                                          "loc": {
                                            "start": {
                                              "line": 271,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 271,
                                              "column": 32
                                            }
                                          },
                                          "name": "gl"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 11423,
                                        "end": 11433,
                                        "loc": {
                                          "start": {
                                            "line": 271,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 271,
                                            "column": 43
                                          }
                                        },
                                        "name": "clearDepth"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 11453,
                                  "end": 11520,
                                  "loc": {
                                    "start": {
                                      "line": 272,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 272,
                                      "column": 83
                                    }
                                  },
                                  "expression": {
                                    "type": "LogicalExpression",
                                    "start": 11453,
                                    "end": 11519,
                                    "loc": {
                                      "start": {
                                        "line": 272,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 272,
                                        "column": 82
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 11453,
                                      "end": 11461,
                                      "loc": {
                                        "start": {
                                          "line": 272,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 272,
                                          "column": 24
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 11453,
                                        "end": 11457,
                                        "loc": {
                                          "start": {
                                            "line": 272,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 272,
                                            "column": 20
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 11458,
                                        "end": 11461,
                                        "loc": {
                                          "start": {
                                            "line": 272,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 272,
                                            "column": 24
                                          }
                                        },
                                        "name": "hud"
                                      },
                                      "computed": false
                                    },
                                    "operator": "&&",
                                    "right": {
                                      "type": "CallExpression",
                                      "start": 11465,
                                      "end": 11519,
                                      "loc": {
                                        "start": {
                                          "line": 272,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 272,
                                          "column": 82
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 11465,
                                        "end": 11488,
                                        "loc": {
                                          "start": {
                                            "line": 272,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 272,
                                            "column": 51
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 11465,
                                          "end": 11481,
                                          "loc": {
                                            "start": {
                                              "line": 272,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 272,
                                              "column": 44
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 11465,
                                            "end": 11478,
                                            "loc": {
                                              "start": {
                                                "line": 272,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 272,
                                                "column": 41
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 11465,
                                              "end": 11469,
                                              "loc": {
                                                "start": {
                                                  "line": 272,
                                                  "column": 28
                                                },
                                                "end": {
                                                  "line": 272,
                                                  "column": 32
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 11470,
                                              "end": 11478,
                                              "loc": {
                                                "start": {
                                                  "line": 272,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 272,
                                                  "column": 41
                                                }
                                              },
                                              "name": "renderer"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 11479,
                                            "end": 11481,
                                            "loc": {
                                              "start": {
                                                "line": 272,
                                                "column": 42
                                              },
                                              "end": {
                                                "line": 272,
                                                "column": 44
                                              }
                                            },
                                            "name": "gl"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 11482,
                                          "end": 11488,
                                          "loc": {
                                            "start": {
                                              "line": 272,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 272,
                                              "column": 51
                                            }
                                          },
                                          "name": "render"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "start": 11489,
                                          "end": 11502,
                                          "loc": {
                                            "start": {
                                              "line": 272,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 272,
                                              "column": 65
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 11489,
                                            "end": 11493,
                                            "loc": {
                                              "start": {
                                                "line": 272,
                                                "column": 52
                                              },
                                              "end": {
                                                "line": 272,
                                                "column": 56
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 11494,
                                            "end": 11502,
                                            "loc": {
                                              "start": {
                                                "line": 272,
                                                "column": 57
                                              },
                                              "end": {
                                                "line": 272,
                                                "column": 65
                                              }
                                            },
                                            "name": "sceneHud"
                                          },
                                          "computed": false
                                        },
                                        {
                                          "type": "MemberExpression",
                                          "start": 11504,
                                          "end": 11518,
                                          "loc": {
                                            "start": {
                                              "line": 272,
                                              "column": 67
                                            },
                                            "end": {
                                              "line": 272,
                                              "column": 81
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 11504,
                                            "end": 11508,
                                            "loc": {
                                              "start": {
                                                "line": 272,
                                                "column": 67
                                              },
                                              "end": {
                                                "line": 272,
                                                "column": 71
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 11509,
                                            "end": 11518,
                                            "loc": {
                                              "start": {
                                                "line": 272,
                                                "column": 72
                                              },
                                              "end": {
                                                "line": 272,
                                                "column": 81
                                              }
                                            },
                                            "name": "cameraHud"
                                          },
                                          "computed": false
                                        }
                                      ]
                                    }
                                  }
                                }
                              ]
                            },
                            "alternate": {
                              "type": "ExpressionStatement",
                              "start": 11556,
                              "end": 11578,
                              "loc": {
                                "start": {
                                  "line": 274,
                                  "column": 16
                                },
                                "end": {
                                  "line": 274,
                                  "column": 38
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 11556,
                                "end": 11577,
                                "loc": {
                                  "start": {
                                    "line": 274,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 274,
                                    "column": 37
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 11556,
                                  "end": 11575,
                                  "loc": {
                                    "start": {
                                      "line": 274,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 274,
                                      "column": 35
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 11556,
                                    "end": 11560,
                                    "loc": {
                                      "start": {
                                        "line": 274,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 274,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11561,
                                    "end": 11575,
                                    "loc": {
                                      "start": {
                                        "line": 274,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 274,
                                        "column": 35
                                      }
                                    },
                                    "name": "callbackRender"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 11592,
                            "end": 11635,
                            "loc": {
                              "start": {
                                "line": 276,
                                "column": 12
                              },
                              "end": {
                                "line": 276,
                                "column": 55
                              }
                            },
                            "expression": {
                              "type": "LogicalExpression",
                              "start": 11592,
                              "end": 11634,
                              "loc": {
                                "start": {
                                  "line": 276,
                                  "column": 12
                                },
                                "end": {
                                  "line": 276,
                                  "column": 54
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 11592,
                                "end": 11610,
                                "loc": {
                                  "start": {
                                    "line": 276,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 276,
                                    "column": 30
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 11592,
                                  "end": 11596,
                                  "loc": {
                                    "start": {
                                      "line": 276,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 276,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11597,
                                  "end": 11610,
                                  "loc": {
                                    "start": {
                                      "line": 276,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 276,
                                      "column": 30
                                    }
                                  },
                                  "name": "callbackAfter"
                                },
                                "computed": false
                              },
                              "operator": "&&",
                              "right": {
                                "type": "CallExpression",
                                "start": 11614,
                                "end": 11634,
                                "loc": {
                                  "start": {
                                    "line": 276,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 276,
                                    "column": 54
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 11614,
                                  "end": 11632,
                                  "loc": {
                                    "start": {
                                      "line": 276,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 276,
                                      "column": 52
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 11614,
                                    "end": 11618,
                                    "loc": {
                                      "start": {
                                        "line": 276,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 276,
                                        "column": 38
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11619,
                                    "end": 11632,
                                    "loc": {
                                      "start": {
                                        "line": 276,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 276,
                                        "column": 52
                                      }
                                    },
                                    "name": "callbackAfter"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 11648,
                            "end": 11682,
                            "loc": {
                              "start": {
                                "line": 277,
                                "column": 12
                              },
                              "end": {
                                "line": 277,
                                "column": 46
                              }
                            },
                            "expression": {
                              "type": "LogicalExpression",
                              "start": 11648,
                              "end": 11681,
                              "loc": {
                                "start": {
                                  "line": 277,
                                  "column": 12
                                },
                                "end": {
                                  "line": 277,
                                  "column": 45
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 11648,
                                "end": 11658,
                                "loc": {
                                  "start": {
                                    "line": 277,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 277,
                                    "column": 22
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 11648,
                                  "end": 11652,
                                  "loc": {
                                    "start": {
                                      "line": 277,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 277,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11653,
                                  "end": 11658,
                                  "loc": {
                                    "start": {
                                      "line": 277,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 277,
                                      "column": 22
                                    }
                                  },
                                  "name": "stats"
                                },
                                "computed": false
                              },
                              "operator": "&&",
                              "right": {
                                "type": "CallExpression",
                                "start": 11662,
                                "end": 11681,
                                "loc": {
                                  "start": {
                                    "line": 277,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 277,
                                    "column": 45
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 11662,
                                  "end": 11679,
                                  "loc": {
                                    "start": {
                                      "line": 277,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 277,
                                      "column": 43
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 11662,
                                    "end": 11672,
                                    "loc": {
                                      "start": {
                                        "line": 277,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 277,
                                        "column": 36
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 11662,
                                      "end": 11666,
                                      "loc": {
                                        "start": {
                                          "line": 277,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 277,
                                          "column": 30
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 11667,
                                      "end": 11672,
                                      "loc": {
                                        "start": {
                                          "line": 277,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 277,
                                          "column": 36
                                        }
                                      },
                                      "name": "stats"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11673,
                                    "end": 11679,
                                    "loc": {
                                      "start": {
                                        "line": 277,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 277,
                                        "column": 43
                                      }
                                    },
                                    "name": "update"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            }
                          },
                          {
                            "type": "IfStatement",
                            "start": 11696,
                            "end": 11729,
                            "loc": {
                              "start": {
                                "line": 279,
                                "column": 12
                              },
                              "end": {
                                "line": 279,
                                "column": 45
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 11700,
                              "end": 11714,
                              "loc": {
                                "start": {
                                  "line": 279,
                                  "column": 16
                                },
                                "end": {
                                  "line": 279,
                                  "column": 30
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 11700,
                                "end": 11710,
                                "loc": {
                                  "start": {
                                    "line": 279,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 279,
                                    "column": 26
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 11700,
                                  "end": 11704,
                                  "loc": {
                                    "start": {
                                      "line": 279,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 279,
                                      "column": 20
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11705,
                                  "end": 11710,
                                  "loc": {
                                    "start": {
                                      "line": 279,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 279,
                                      "column": 26
                                    }
                                  },
                                  "name": "force"
                                },
                                "computed": false
                              },
                              "operator": ">",
                              "right": {
                                "type": "Literal",
                                "start": 11713,
                                "end": 11714,
                                "loc": {
                                  "start": {
                                    "line": 279,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 279,
                                    "column": 30
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              }
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 11716,
                              "end": 11729,
                              "loc": {
                                "start": {
                                  "line": 279,
                                  "column": 32
                                },
                                "end": {
                                  "line": 279,
                                  "column": 45
                                }
                              },
                              "expression": {
                                "type": "UpdateExpression",
                                "start": 11716,
                                "end": 11728,
                                "loc": {
                                  "start": {
                                    "line": 279,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 279,
                                    "column": 44
                                  }
                                },
                                "operator": "--",
                                "prefix": false,
                                "argument": {
                                  "type": "MemberExpression",
                                  "start": 11716,
                                  "end": 11726,
                                  "loc": {
                                    "start": {
                                      "line": 279,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 279,
                                      "column": 42
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 11716,
                                    "end": 11720,
                                    "loc": {
                                      "start": {
                                        "line": 279,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 279,
                                        "column": 36
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11721,
                                    "end": 11726,
                                    "loc": {
                                      "start": {
                                        "line": 279,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 279,
                                        "column": 42
                                      }
                                    },
                                    "name": "force"
                                  },
                                  "computed": false
                                }
                              }
                            },
                            "alternate": null
                          }
                        ]
                      },
                      "alternate": null
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 11751,
              "end": 11987,
              "loc": {
                "start": {
                  "line": 283,
                  "column": 4
                },
                "end": {
                  "line": 289,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 11751,
                "end": 11761,
                "loc": {
                  "start": {
                    "line": 283,
                    "column": 4
                  },
                  "end": {
                    "line": 283,
                    "column": 14
                  }
                },
                "name": "invalidate"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 11761,
                "end": 11987,
                "loc": {
                  "start": {
                    "line": 283,
                    "column": 14
                  },
                  "end": {
                    "line": 289,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "AssignmentPattern",
                    "start": 11762,
                    "end": 11772,
                    "loc": {
                      "start": {
                        "line": 283,
                        "column": 15
                      },
                      "end": {
                        "line": 283,
                        "column": 25
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 11762,
                      "end": 11768,
                      "loc": {
                        "start": {
                          "line": 283,
                          "column": 15
                        },
                        "end": {
                          "line": 283,
                          "column": 21
                        }
                      },
                      "name": "frames"
                    },
                    "right": {
                      "type": "Literal",
                      "start": 11771,
                      "end": 11772,
                      "loc": {
                        "start": {
                          "line": 283,
                          "column": 24
                        },
                        "end": {
                          "line": 283,
                          "column": 25
                        }
                      },
                      "value": 1,
                      "rawValue": 1,
                      "raw": "1"
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 11774,
                  "end": 11987,
                  "loc": {
                    "start": {
                      "line": 283,
                      "column": 27
                    },
                    "end": {
                      "line": 289,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 11784,
                      "end": 11805,
                      "loc": {
                        "start": {
                          "line": 284,
                          "column": 8
                        },
                        "end": {
                          "line": 284,
                          "column": 29
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 11784,
                        "end": 11804,
                        "loc": {
                          "start": {
                            "line": 284,
                            "column": 8
                          },
                          "end": {
                            "line": 284,
                            "column": 28
                          }
                        },
                        "operator": "+=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 11784,
                          "end": 11794,
                          "loc": {
                            "start": {
                              "line": 284,
                              "column": 8
                            },
                            "end": {
                              "line": 284,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 11784,
                            "end": 11788,
                            "loc": {
                              "start": {
                                "line": 284,
                                "column": 8
                              },
                              "end": {
                                "line": 284,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11789,
                            "end": 11794,
                            "loc": {
                              "start": {
                                "line": 284,
                                "column": 13
                              },
                              "end": {
                                "line": 284,
                                "column": 18
                              }
                            },
                            "name": "force"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 11798,
                          "end": 11804,
                          "loc": {
                            "start": {
                              "line": 284,
                              "column": 22
                            },
                            "end": {
                              "line": 284,
                              "column": 28
                            }
                          },
                          "name": "frames"
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 11814,
                      "end": 11851,
                      "loc": {
                        "start": {
                          "line": 285,
                          "column": 8
                        },
                        "end": {
                          "line": 285,
                          "column": 45
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 11818,
                        "end": 11833,
                        "loc": {
                          "start": {
                            "line": 285,
                            "column": 12
                          },
                          "end": {
                            "line": 285,
                            "column": 27
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 11818,
                          "end": 11828,
                          "loc": {
                            "start": {
                              "line": 285,
                              "column": 12
                            },
                            "end": {
                              "line": 285,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 11818,
                            "end": 11822,
                            "loc": {
                              "start": {
                                "line": 285,
                                "column": 12
                              },
                              "end": {
                                "line": 285,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11823,
                            "end": 11828,
                            "loc": {
                              "start": {
                                "line": 285,
                                "column": 17
                              },
                              "end": {
                                "line": 285,
                                "column": 22
                              }
                            },
                            "name": "force"
                          },
                          "computed": false
                        },
                        "operator": ">",
                        "right": {
                          "type": "Literal",
                          "start": 11831,
                          "end": 11833,
                          "loc": {
                            "start": {
                              "line": 285,
                              "column": 25
                            },
                            "end": {
                              "line": 285,
                              "column": 27
                            }
                          },
                          "value": 60,
                          "rawValue": 60,
                          "raw": "60"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 11835,
                        "end": 11851,
                        "loc": {
                          "start": {
                            "line": 285,
                            "column": 29
                          },
                          "end": {
                            "line": 285,
                            "column": 45
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 11835,
                          "end": 11850,
                          "loc": {
                            "start": {
                              "line": 285,
                              "column": 29
                            },
                            "end": {
                              "line": 285,
                              "column": 44
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 11835,
                            "end": 11845,
                            "loc": {
                              "start": {
                                "line": 285,
                                "column": 29
                              },
                              "end": {
                                "line": 285,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 11835,
                              "end": 11839,
                              "loc": {
                                "start": {
                                  "line": 285,
                                  "column": 29
                                },
                                "end": {
                                  "line": 285,
                                  "column": 33
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11840,
                              "end": 11845,
                              "loc": {
                                "start": {
                                  "line": 285,
                                  "column": 34
                                },
                                "end": {
                                  "line": 285,
                                  "column": 39
                                }
                              },
                              "name": "force"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "Literal",
                            "start": 11848,
                            "end": 11850,
                            "loc": {
                              "start": {
                                "line": 285,
                                "column": 42
                              },
                              "end": {
                                "line": 285,
                                "column": 44
                              }
                            },
                            "value": 60,
                            "rawValue": 60,
                            "raw": "60"
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 11860,
                      "end": 11892,
                      "loc": {
                        "start": {
                          "line": 286,
                          "column": 8
                        },
                        "end": {
                          "line": 286,
                          "column": 40
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 11860,
                        "end": 11891,
                        "loc": {
                          "start": {
                            "line": 286,
                            "column": 8
                          },
                          "end": {
                            "line": 286,
                            "column": 39
                          }
                        },
                        "operator": "+=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 11860,
                          "end": 11881,
                          "loc": {
                            "start": {
                              "line": 286,
                              "column": 8
                            },
                            "end": {
                              "line": 286,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 11860,
                            "end": 11864,
                            "loc": {
                              "start": {
                                "line": 286,
                                "column": 8
                              },
                              "end": {
                                "line": 286,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11865,
                            "end": 11881,
                            "loc": {
                              "start": {
                                "line": 286,
                                "column": 13
                              },
                              "end": {
                                "line": 286,
                                "column": 29
                              }
                            },
                            "name": "invalidateFrames"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 11885,
                          "end": 11891,
                          "loc": {
                            "start": {
                              "line": 286,
                              "column": 33
                            },
                            "end": {
                              "line": 286,
                              "column": 39
                            }
                          },
                          "name": "frames"
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 11901,
                      "end": 11960,
                      "loc": {
                        "start": {
                          "line": 287,
                          "column": 8
                        },
                        "end": {
                          "line": 287,
                          "column": 67
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 11905,
                        "end": 11931,
                        "loc": {
                          "start": {
                            "line": 287,
                            "column": 12
                          },
                          "end": {
                            "line": 287,
                            "column": 38
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 11905,
                          "end": 11926,
                          "loc": {
                            "start": {
                              "line": 287,
                              "column": 12
                            },
                            "end": {
                              "line": 287,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 11905,
                            "end": 11909,
                            "loc": {
                              "start": {
                                "line": 287,
                                "column": 12
                              },
                              "end": {
                                "line": 287,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11910,
                            "end": 11926,
                            "loc": {
                              "start": {
                                "line": 287,
                                "column": 17
                              },
                              "end": {
                                "line": 287,
                                "column": 33
                              }
                            },
                            "name": "invalidateFrames"
                          },
                          "computed": false
                        },
                        "operator": ">",
                        "right": {
                          "type": "Literal",
                          "start": 11929,
                          "end": 11931,
                          "loc": {
                            "start": {
                              "line": 287,
                              "column": 36
                            },
                            "end": {
                              "line": 287,
                              "column": 38
                            }
                          },
                          "value": 60,
                          "rawValue": 60,
                          "raw": "60"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 11933,
                        "end": 11960,
                        "loc": {
                          "start": {
                            "line": 287,
                            "column": 40
                          },
                          "end": {
                            "line": 287,
                            "column": 67
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 11933,
                          "end": 11959,
                          "loc": {
                            "start": {
                              "line": 287,
                              "column": 40
                            },
                            "end": {
                              "line": 287,
                              "column": 66
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 11933,
                            "end": 11954,
                            "loc": {
                              "start": {
                                "line": 287,
                                "column": 40
                              },
                              "end": {
                                "line": 287,
                                "column": 61
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 11933,
                              "end": 11937,
                              "loc": {
                                "start": {
                                  "line": 287,
                                  "column": 40
                                },
                                "end": {
                                  "line": 287,
                                  "column": 44
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11938,
                              "end": 11954,
                              "loc": {
                                "start": {
                                  "line": 287,
                                  "column": 45
                                },
                                "end": {
                                  "line": 287,
                                  "column": 61
                                }
                              },
                              "name": "invalidateFrames"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "Literal",
                            "start": 11957,
                            "end": 11959,
                            "loc": {
                              "start": {
                                "line": 287,
                                "column": 64
                              },
                              "end": {
                                "line": 287,
                                "column": 66
                              }
                            },
                            "value": 60,
                            "rawValue": 60,
                            "raw": "60"
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 11969,
                      "end": 11981,
                      "loc": {
                        "start": {
                          "line": 288,
                          "column": 8
                        },
                        "end": {
                          "line": 288,
                          "column": 20
                        }
                      },
                      "argument": {
                        "type": "ThisExpression",
                        "start": 11976,
                        "end": 11980,
                        "loc": {
                          "start": {
                            "line": 288,
                            "column": 15
                          },
                          "end": {
                            "line": 288,
                            "column": 19
                          }
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 11993,
              "end": 13973,
              "loc": {
                "start": {
                  "line": 291,
                  "column": 4
                },
                "end": {
                  "line": 350,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 11993,
                "end": 12000,
                "loc": {
                  "start": {
                    "line": 291,
                    "column": 4
                  },
                  "end": {
                    "line": 291,
                    "column": 11
                  }
                },
                "name": "measure"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 12000,
                "end": 13973,
                "loc": {
                  "start": {
                    "line": 291,
                    "column": 11
                  },
                  "end": {
                    "line": 350,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 12003,
                  "end": 13973,
                  "loc": {
                    "start": {
                      "line": 291,
                      "column": 14
                    },
                    "end": {
                      "line": 350,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 12013,
                      "end": 12031,
                      "loc": {
                        "start": {
                          "line": 292,
                          "column": 8
                        },
                        "end": {
                          "line": 292,
                          "column": 26
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 12017,
                          "end": 12030,
                          "loc": {
                            "start": {
                              "line": 292,
                              "column": 12
                            },
                            "end": {
                              "line": 292,
                              "column": 25
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 12017,
                            "end": 12022,
                            "loc": {
                              "start": {
                                "line": 292,
                                "column": 12
                              },
                              "end": {
                                "line": 292,
                                "column": 17
                              }
                            },
                            "name": "dirty"
                          },
                          "init": {
                            "type": "Literal",
                            "start": 12025,
                            "end": 12030,
                            "loc": {
                              "start": {
                                "line": 292,
                                "column": 20
                              },
                              "end": {
                                "line": 292,
                                "column": 25
                              }
                            },
                            "value": false,
                            "rawValue": false,
                            "raw": "false"
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 12040,
                      "end": 12086,
                      "loc": {
                        "start": {
                          "line": 293,
                          "column": 8
                        },
                        "end": {
                          "line": 293,
                          "column": 54
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 12044,
                          "end": 12085,
                          "loc": {
                            "start": {
                              "line": 293,
                              "column": 12
                            },
                            "end": {
                              "line": 293,
                              "column": 53
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 12044,
                            "end": 12050,
                            "loc": {
                              "start": {
                                "line": 293,
                                "column": 12
                              },
                              "end": {
                                "line": 293,
                                "column": 18
                              }
                            },
                            "name": "bounds"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 12053,
                            "end": 12085,
                            "loc": {
                              "start": {
                                "line": 293,
                                "column": 21
                              },
                              "end": {
                                "line": 293,
                                "column": 53
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 12053,
                              "end": 12083,
                              "loc": {
                                "start": {
                                  "line": 293,
                                  "column": 21
                                },
                                "end": {
                                  "line": 293,
                                  "column": 51
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 12053,
                                "end": 12061,
                                "loc": {
                                  "start": {
                                    "line": 293,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 293,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12053,
                                  "end": 12057,
                                  "loc": {
                                    "start": {
                                      "line": 293,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 293,
                                      "column": 25
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12058,
                                  "end": 12061,
                                  "loc": {
                                    "start": {
                                      "line": 293,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 293,
                                      "column": 29
                                    }
                                  },
                                  "name": "dom"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 12062,
                                "end": 12083,
                                "loc": {
                                  "start": {
                                    "line": 293,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 293,
                                    "column": 51
                                  }
                                },
                                "name": "getBoundingClientRect"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 12095,
                      "end": 12246,
                      "loc": {
                        "start": {
                          "line": 294,
                          "column": 8
                        },
                        "end": {
                          "line": 299,
                          "column": 9
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 12099,
                          "end": 12246,
                          "loc": {
                            "start": {
                              "line": 294,
                              "column": 12
                            },
                            "end": {
                              "line": 299,
                              "column": 9
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 12099,
                            "end": 12105,
                            "loc": {
                              "start": {
                                "line": 294,
                                "column": 12
                              },
                              "end": {
                                "line": 294,
                                "column": 18
                              }
                            },
                            "name": "offset"
                          },
                          "init": {
                            "type": "ObjectExpression",
                            "start": 12108,
                            "end": 12246,
                            "loc": {
                              "start": {
                                "line": 294,
                                "column": 21
                              },
                              "end": {
                                "line": 299,
                                "column": 9
                              }
                            },
                            "properties": [
                              {
                                "type": "Property",
                                "start": 12122,
                                "end": 12137,
                                "loc": {
                                  "start": {
                                    "line": 295,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 295,
                                    "column": 27
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 12122,
                                  "end": 12125,
                                  "loc": {
                                    "start": {
                                      "line": 295,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 295,
                                      "column": 15
                                    }
                                  },
                                  "name": "top"
                                },
                                "value": {
                                  "type": "MemberExpression",
                                  "start": 12127,
                                  "end": 12137,
                                  "loc": {
                                    "start": {
                                      "line": 295,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 295,
                                      "column": 27
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 12127,
                                    "end": 12133,
                                    "loc": {
                                      "start": {
                                        "line": 295,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 295,
                                        "column": 23
                                      }
                                    },
                                    "name": "bounds"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12134,
                                    "end": 12137,
                                    "loc": {
                                      "start": {
                                        "line": 295,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 295,
                                        "column": 27
                                      }
                                    },
                                    "name": "top"
                                  },
                                  "computed": false
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 12151,
                                "end": 12168,
                                "loc": {
                                  "start": {
                                    "line": 296,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 296,
                                    "column": 29
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 12151,
                                  "end": 12155,
                                  "loc": {
                                    "start": {
                                      "line": 296,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 296,
                                      "column": 16
                                    }
                                  },
                                  "name": "left"
                                },
                                "value": {
                                  "type": "MemberExpression",
                                  "start": 12157,
                                  "end": 12168,
                                  "loc": {
                                    "start": {
                                      "line": 296,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 296,
                                      "column": 29
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 12157,
                                    "end": 12163,
                                    "loc": {
                                      "start": {
                                        "line": 296,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 296,
                                        "column": 24
                                      }
                                    },
                                    "name": "bounds"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12164,
                                    "end": 12168,
                                    "loc": {
                                      "start": {
                                        "line": 296,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 296,
                                        "column": 29
                                      }
                                    },
                                    "name": "left"
                                  },
                                  "computed": false
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 12182,
                                "end": 12201,
                                "loc": {
                                  "start": {
                                    "line": 297,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 297,
                                    "column": 31
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 12182,
                                  "end": 12187,
                                  "loc": {
                                    "start": {
                                      "line": 297,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 297,
                                      "column": 17
                                    }
                                  },
                                  "name": "width"
                                },
                                "value": {
                                  "type": "MemberExpression",
                                  "start": 12189,
                                  "end": 12201,
                                  "loc": {
                                    "start": {
                                      "line": 297,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 297,
                                      "column": 31
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 12189,
                                    "end": 12195,
                                    "loc": {
                                      "start": {
                                        "line": 297,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 297,
                                        "column": 25
                                      }
                                    },
                                    "name": "bounds"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12196,
                                    "end": 12201,
                                    "loc": {
                                      "start": {
                                        "line": 297,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 297,
                                        "column": 31
                                      }
                                    },
                                    "name": "width"
                                  },
                                  "computed": false
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 12215,
                                "end": 12236,
                                "loc": {
                                  "start": {
                                    "line": 298,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 298,
                                    "column": 33
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 12215,
                                  "end": 12221,
                                  "loc": {
                                    "start": {
                                      "line": 298,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 298,
                                      "column": 18
                                    }
                                  },
                                  "name": "height"
                                },
                                "value": {
                                  "type": "MemberExpression",
                                  "start": 12223,
                                  "end": 12236,
                                  "loc": {
                                    "start": {
                                      "line": 298,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 298,
                                      "column": 33
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 12223,
                                    "end": 12229,
                                    "loc": {
                                      "start": {
                                        "line": 298,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 298,
                                        "column": 26
                                      }
                                    },
                                    "name": "bounds"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12230,
                                    "end": 12236,
                                    "loc": {
                                      "start": {
                                        "line": 298,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 298,
                                        "column": 33
                                      }
                                    },
                                    "name": "height"
                                  },
                                  "computed": false
                                },
                                "kind": "init"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 12256,
                      "end": 12295,
                      "loc": {
                        "start": {
                          "line": 301,
                          "column": 8
                        },
                        "end": {
                          "line": 301,
                          "column": 47
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 12256,
                        "end": 12294,
                        "loc": {
                          "start": {
                            "line": 301,
                            "column": 8
                          },
                          "end": {
                            "line": 301,
                            "column": 46
                          }
                        },
                        "operator": "-=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 12256,
                          "end": 12266,
                          "loc": {
                            "start": {
                              "line": 301,
                              "column": 8
                            },
                            "end": {
                              "line": 301,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 12256,
                            "end": 12262,
                            "loc": {
                              "start": {
                                "line": 301,
                                "column": 8
                              },
                              "end": {
                                "line": 301,
                                "column": 14
                              }
                            },
                            "name": "offset"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12263,
                            "end": 12266,
                            "loc": {
                              "start": {
                                "line": 301,
                                "column": 15
                              },
                              "end": {
                                "line": 301,
                                "column": 18
                              }
                            },
                            "name": "top"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 12270,
                          "end": 12294,
                          "loc": {
                            "start": {
                              "line": 301,
                              "column": 22
                            },
                            "end": {
                              "line": 301,
                              "column": 46
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 12270,
                            "end": 12290,
                            "loc": {
                              "start": {
                                "line": 301,
                                "column": 22
                              },
                              "end": {
                                "line": 301,
                                "column": 42
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 12270,
                              "end": 12283,
                              "loc": {
                                "start": {
                                  "line": 301,
                                  "column": 22
                                },
                                "end": {
                                  "line": 301,
                                  "column": 35
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 12270,
                                "end": 12274,
                                "loc": {
                                  "start": {
                                    "line": 301,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 301,
                                    "column": 26
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 12275,
                                "end": 12283,
                                "loc": {
                                  "start": {
                                    "line": 301,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 301,
                                    "column": 35
                                  }
                                },
                                "name": "renderer"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12284,
                              "end": 12290,
                              "loc": {
                                "start": {
                                  "line": 301,
                                  "column": 36
                                },
                                "end": {
                                  "line": 301,
                                  "column": 42
                                }
                              },
                              "name": "offset"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12291,
                            "end": 12294,
                            "loc": {
                              "start": {
                                "line": 301,
                                "column": 43
                              },
                              "end": {
                                "line": 301,
                                "column": 46
                              }
                            },
                            "name": "top"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 12304,
                      "end": 12345,
                      "loc": {
                        "start": {
                          "line": 302,
                          "column": 8
                        },
                        "end": {
                          "line": 302,
                          "column": 49
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 12304,
                        "end": 12344,
                        "loc": {
                          "start": {
                            "line": 302,
                            "column": 8
                          },
                          "end": {
                            "line": 302,
                            "column": 48
                          }
                        },
                        "operator": "-=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 12304,
                          "end": 12315,
                          "loc": {
                            "start": {
                              "line": 302,
                              "column": 8
                            },
                            "end": {
                              "line": 302,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 12304,
                            "end": 12310,
                            "loc": {
                              "start": {
                                "line": 302,
                                "column": 8
                              },
                              "end": {
                                "line": 302,
                                "column": 14
                              }
                            },
                            "name": "offset"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12311,
                            "end": 12315,
                            "loc": {
                              "start": {
                                "line": 302,
                                "column": 15
                              },
                              "end": {
                                "line": 302,
                                "column": 19
                              }
                            },
                            "name": "left"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 12319,
                          "end": 12344,
                          "loc": {
                            "start": {
                              "line": 302,
                              "column": 23
                            },
                            "end": {
                              "line": 302,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 12319,
                            "end": 12339,
                            "loc": {
                              "start": {
                                "line": 302,
                                "column": 23
                              },
                              "end": {
                                "line": 302,
                                "column": 43
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 12319,
                              "end": 12332,
                              "loc": {
                                "start": {
                                  "line": 302,
                                  "column": 23
                                },
                                "end": {
                                  "line": 302,
                                  "column": 36
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 12319,
                                "end": 12323,
                                "loc": {
                                  "start": {
                                    "line": 302,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 302,
                                    "column": 27
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 12324,
                                "end": 12332,
                                "loc": {
                                  "start": {
                                    "line": 302,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 302,
                                    "column": 36
                                  }
                                },
                                "name": "renderer"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12333,
                              "end": 12339,
                              "loc": {
                                "start": {
                                  "line": 302,
                                  "column": 37
                                },
                                "end": {
                                  "line": 302,
                                  "column": 43
                                }
                              },
                              "name": "offset"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12340,
                            "end": 12344,
                            "loc": {
                              "start": {
                                "line": 302,
                                "column": 44
                              },
                              "end": {
                                "line": 302,
                                "column": 48
                              }
                            },
                            "name": "left"
                          },
                          "computed": false
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Size changed, calibrate & invalidate",
                          "start": 12355,
                          "end": 12394,
                          "loc": {
                            "start": {
                              "line": 304,
                              "column": 8
                            },
                            "end": {
                              "line": 304,
                              "column": 47
                            }
                          },
                          "range": [
                            12355,
                            12394
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 12403,
                      "end": 12594,
                      "loc": {
                        "start": {
                          "line": 305,
                          "column": 8
                        },
                        "end": {
                          "line": 309,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 12407,
                        "end": 12465,
                        "loc": {
                          "start": {
                            "line": 305,
                            "column": 12
                          },
                          "end": {
                            "line": 305,
                            "column": 70
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 12407,
                          "end": 12433,
                          "loc": {
                            "start": {
                              "line": 305,
                              "column": 12
                            },
                            "end": {
                              "line": 305,
                              "column": 38
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 12407,
                            "end": 12419,
                            "loc": {
                              "start": {
                                "line": 305,
                                "column": 12
                              },
                              "end": {
                                "line": 305,
                                "column": 24
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 12407,
                              "end": 12413,
                              "loc": {
                                "start": {
                                  "line": 305,
                                  "column": 12
                                },
                                "end": {
                                  "line": 305,
                                  "column": 18
                                }
                              },
                              "name": "offset",
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12414,
                              "end": 12419,
                              "loc": {
                                "start": {
                                  "line": 305,
                                  "column": 19
                                },
                                "end": {
                                  "line": 305,
                                  "column": 24
                                }
                              },
                              "name": "width"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "operator": "!=",
                          "right": {
                            "type": "MemberExpression",
                            "start": 12423,
                            "end": 12433,
                            "loc": {
                              "start": {
                                "line": 305,
                                "column": 28
                              },
                              "end": {
                                "line": 305,
                                "column": 38
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 12423,
                              "end": 12427,
                              "loc": {
                                "start": {
                                  "line": 305,
                                  "column": 28
                                },
                                "end": {
                                  "line": 305,
                                  "column": 32
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12428,
                              "end": 12433,
                              "loc": {
                                "start": {
                                  "line": 305,
                                  "column": 33
                                },
                                "end": {
                                  "line": 305,
                                  "column": 38
                                }
                              },
                              "name": "width"
                            },
                            "computed": false
                          },
                          "leadingComments": null
                        },
                        "operator": "||",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 12437,
                          "end": 12465,
                          "loc": {
                            "start": {
                              "line": 305,
                              "column": 42
                            },
                            "end": {
                              "line": 305,
                              "column": 70
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 12437,
                            "end": 12450,
                            "loc": {
                              "start": {
                                "line": 305,
                                "column": 42
                              },
                              "end": {
                                "line": 305,
                                "column": 55
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 12437,
                              "end": 12443,
                              "loc": {
                                "start": {
                                  "line": 305,
                                  "column": 42
                                },
                                "end": {
                                  "line": 305,
                                  "column": 48
                                }
                              },
                              "name": "offset"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12444,
                              "end": 12450,
                              "loc": {
                                "start": {
                                  "line": 305,
                                  "column": 49
                                },
                                "end": {
                                  "line": 305,
                                  "column": 55
                                }
                              },
                              "name": "height"
                            },
                            "computed": false
                          },
                          "operator": "!=",
                          "right": {
                            "type": "MemberExpression",
                            "start": 12454,
                            "end": 12465,
                            "loc": {
                              "start": {
                                "line": 305,
                                "column": 59
                              },
                              "end": {
                                "line": 305,
                                "column": 70
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 12454,
                              "end": 12458,
                              "loc": {
                                "start": {
                                  "line": 305,
                                  "column": 59
                                },
                                "end": {
                                  "line": 305,
                                  "column": 63
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12459,
                              "end": 12465,
                              "loc": {
                                "start": {
                                  "line": 305,
                                  "column": 64
                                },
                                "end": {
                                  "line": 305,
                                  "column": 70
                                }
                              },
                              "name": "height"
                            },
                            "computed": false
                          }
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 12467,
                        "end": 12594,
                        "loc": {
                          "start": {
                            "line": 305,
                            "column": 72
                          },
                          "end": {
                            "line": 309,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 12481,
                            "end": 12525,
                            "loc": {
                              "start": {
                                "line": 306,
                                "column": 12
                              },
                              "end": {
                                "line": 306,
                                "column": 56
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 12481,
                              "end": 12524,
                              "loc": {
                                "start": {
                                  "line": 306,
                                  "column": 12
                                },
                                "end": {
                                  "line": 306,
                                  "column": 55
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 12481,
                                "end": 12495,
                                "loc": {
                                  "start": {
                                    "line": 306,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 306,
                                    "column": 26
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12481,
                                  "end": 12485,
                                  "loc": {
                                    "start": {
                                      "line": 306,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 306,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12486,
                                  "end": 12495,
                                  "loc": {
                                    "start": {
                                      "line": 306,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 306,
                                      "column": 26
                                    }
                                  },
                                  "name": "calibrate"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 12496,
                                  "end": 12508,
                                  "loc": {
                                    "start": {
                                      "line": 306,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 306,
                                      "column": 39
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 12496,
                                    "end": 12502,
                                    "loc": {
                                      "start": {
                                        "line": 306,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 306,
                                        "column": 33
                                      }
                                    },
                                    "name": "offset"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12503,
                                    "end": 12508,
                                    "loc": {
                                      "start": {
                                        "line": 306,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 306,
                                        "column": 39
                                      }
                                    },
                                    "name": "width"
                                  },
                                  "computed": false
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 12510,
                                  "end": 12523,
                                  "loc": {
                                    "start": {
                                      "line": 306,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 306,
                                      "column": 54
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 12510,
                                    "end": 12516,
                                    "loc": {
                                      "start": {
                                        "line": 306,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 306,
                                        "column": 47
                                      }
                                    },
                                    "name": "offset"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12517,
                                    "end": 12523,
                                    "loc": {
                                      "start": {
                                        "line": 306,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 306,
                                        "column": 54
                                      }
                                    },
                                    "name": "height"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 12538,
                            "end": 12558,
                            "loc": {
                              "start": {
                                "line": 307,
                                "column": 12
                              },
                              "end": {
                                "line": 307,
                                "column": 32
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 12538,
                              "end": 12557,
                              "loc": {
                                "start": {
                                  "line": 307,
                                  "column": 12
                                },
                                "end": {
                                  "line": 307,
                                  "column": 31
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 12538,
                                "end": 12553,
                                "loc": {
                                  "start": {
                                    "line": 307,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 307,
                                    "column": 27
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12538,
                                  "end": 12542,
                                  "loc": {
                                    "start": {
                                      "line": 307,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 307,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12543,
                                  "end": 12553,
                                  "loc": {
                                    "start": {
                                      "line": 307,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 307,
                                      "column": 27
                                    }
                                  },
                                  "name": "invalidate"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 12554,
                                  "end": 12556,
                                  "loc": {
                                    "start": {
                                      "line": 307,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 307,
                                      "column": 30
                                    }
                                  },
                                  "value": 10,
                                  "rawValue": 10,
                                  "raw": "10"
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 12571,
                            "end": 12584,
                            "loc": {
                              "start": {
                                "line": 308,
                                "column": 12
                              },
                              "end": {
                                "line": 308,
                                "column": 25
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 12571,
                              "end": 12583,
                              "loc": {
                                "start": {
                                  "line": 308,
                                  "column": 12
                                },
                                "end": {
                                  "line": 308,
                                  "column": 24
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 12571,
                                "end": 12576,
                                "loc": {
                                  "start": {
                                    "line": 308,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 308,
                                    "column": 17
                                  }
                                },
                                "name": "dirty"
                              },
                              "right": {
                                "type": "Literal",
                                "start": 12579,
                                "end": 12583,
                                "loc": {
                                  "start": {
                                    "line": 308,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 308,
                                    "column": 24
                                  }
                                },
                                "value": true,
                                "rawValue": true,
                                "raw": "true"
                              }
                            }
                          }
                        ],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Size changed, calibrate & invalidate",
                          "start": 12355,
                          "end": 12394,
                          "loc": {
                            "start": {
                              "line": 304,
                              "column": 8
                            },
                            "end": {
                              "line": 304,
                              "column": 47
                            }
                          },
                          "range": [
                            12355,
                            12394
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Position changed, invalidate!",
                          "start": 12604,
                          "end": 12636,
                          "loc": {
                            "start": {
                              "line": 311,
                              "column": 8
                            },
                            "end": {
                              "line": 311,
                              "column": 40
                            }
                          },
                          "range": [
                            12604,
                            12636
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 12645,
                      "end": 12771,
                      "loc": {
                        "start": {
                          "line": 312,
                          "column": 8
                        },
                        "end": {
                          "line": 315,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 12649,
                        "end": 12699,
                        "loc": {
                          "start": {
                            "line": 312,
                            "column": 12
                          },
                          "end": {
                            "line": 312,
                            "column": 62
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 12649,
                          "end": 12671,
                          "loc": {
                            "start": {
                              "line": 312,
                              "column": 12
                            },
                            "end": {
                              "line": 312,
                              "column": 34
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 12649,
                            "end": 12659,
                            "loc": {
                              "start": {
                                "line": 312,
                                "column": 12
                              },
                              "end": {
                                "line": 312,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 12649,
                              "end": 12655,
                              "loc": {
                                "start": {
                                  "line": 312,
                                  "column": 12
                                },
                                "end": {
                                  "line": 312,
                                  "column": 18
                                }
                              },
                              "name": "offset",
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12656,
                              "end": 12659,
                              "loc": {
                                "start": {
                                  "line": 312,
                                  "column": 19
                                },
                                "end": {
                                  "line": 312,
                                  "column": 22
                                }
                              },
                              "name": "top"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "operator": "!=",
                          "right": {
                            "type": "MemberExpression",
                            "start": 12663,
                            "end": 12671,
                            "loc": {
                              "start": {
                                "line": 312,
                                "column": 26
                              },
                              "end": {
                                "line": 312,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 12663,
                              "end": 12667,
                              "loc": {
                                "start": {
                                  "line": 312,
                                  "column": 26
                                },
                                "end": {
                                  "line": 312,
                                  "column": 30
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12668,
                              "end": 12671,
                              "loc": {
                                "start": {
                                  "line": 312,
                                  "column": 31
                                },
                                "end": {
                                  "line": 312,
                                  "column": 34
                                }
                              },
                              "name": "top"
                            },
                            "computed": false
                          },
                          "leadingComments": null
                        },
                        "operator": "||",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 12675,
                          "end": 12699,
                          "loc": {
                            "start": {
                              "line": 312,
                              "column": 38
                            },
                            "end": {
                              "line": 312,
                              "column": 62
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 12675,
                            "end": 12686,
                            "loc": {
                              "start": {
                                "line": 312,
                                "column": 38
                              },
                              "end": {
                                "line": 312,
                                "column": 49
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 12675,
                              "end": 12681,
                              "loc": {
                                "start": {
                                  "line": 312,
                                  "column": 38
                                },
                                "end": {
                                  "line": 312,
                                  "column": 44
                                }
                              },
                              "name": "offset"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12682,
                              "end": 12686,
                              "loc": {
                                "start": {
                                  "line": 312,
                                  "column": 45
                                },
                                "end": {
                                  "line": 312,
                                  "column": 49
                                }
                              },
                              "name": "left"
                            },
                            "computed": false
                          },
                          "operator": "!=",
                          "right": {
                            "type": "MemberExpression",
                            "start": 12690,
                            "end": 12699,
                            "loc": {
                              "start": {
                                "line": 312,
                                "column": 53
                              },
                              "end": {
                                "line": 312,
                                "column": 62
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 12690,
                              "end": 12694,
                              "loc": {
                                "start": {
                                  "line": 312,
                                  "column": 53
                                },
                                "end": {
                                  "line": 312,
                                  "column": 57
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12695,
                              "end": 12699,
                              "loc": {
                                "start": {
                                  "line": 312,
                                  "column": 58
                                },
                                "end": {
                                  "line": 312,
                                  "column": 62
                                }
                              },
                              "name": "left"
                            },
                            "computed": false
                          }
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 12701,
                        "end": 12771,
                        "loc": {
                          "start": {
                            "line": 312,
                            "column": 64
                          },
                          "end": {
                            "line": 315,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 12715,
                            "end": 12735,
                            "loc": {
                              "start": {
                                "line": 313,
                                "column": 12
                              },
                              "end": {
                                "line": 313,
                                "column": 32
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 12715,
                              "end": 12734,
                              "loc": {
                                "start": {
                                  "line": 313,
                                  "column": 12
                                },
                                "end": {
                                  "line": 313,
                                  "column": 31
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 12715,
                                "end": 12730,
                                "loc": {
                                  "start": {
                                    "line": 313,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 313,
                                    "column": 27
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12715,
                                  "end": 12719,
                                  "loc": {
                                    "start": {
                                      "line": 313,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 313,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12720,
                                  "end": 12730,
                                  "loc": {
                                    "start": {
                                      "line": 313,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 313,
                                      "column": 27
                                    }
                                  },
                                  "name": "invalidate"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 12731,
                                  "end": 12733,
                                  "loc": {
                                    "start": {
                                      "line": 313,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 313,
                                      "column": 30
                                    }
                                  },
                                  "value": 10,
                                  "rawValue": 10,
                                  "raw": "10"
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 12748,
                            "end": 12761,
                            "loc": {
                              "start": {
                                "line": 314,
                                "column": 12
                              },
                              "end": {
                                "line": 314,
                                "column": 25
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 12748,
                              "end": 12760,
                              "loc": {
                                "start": {
                                  "line": 314,
                                  "column": 12
                                },
                                "end": {
                                  "line": 314,
                                  "column": 24
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 12748,
                                "end": 12753,
                                "loc": {
                                  "start": {
                                    "line": 314,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 314,
                                    "column": 17
                                  }
                                },
                                "name": "dirty"
                              },
                              "right": {
                                "type": "Literal",
                                "start": 12756,
                                "end": 12760,
                                "loc": {
                                  "start": {
                                    "line": 314,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 314,
                                    "column": 24
                                  }
                                },
                                "value": true,
                                "rawValue": true,
                                "raw": "true"
                              }
                            }
                          }
                        ],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Position changed, invalidate!",
                          "start": 12604,
                          "end": 12636,
                          "loc": {
                            "start": {
                              "line": 311,
                              "column": 8
                            },
                            "end": {
                              "line": 311,
                              "column": 40
                            }
                          },
                          "range": [
                            12604,
                            12636
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Save old data",
                          "start": 12781,
                          "end": 12797,
                          "loc": {
                            "start": {
                              "line": 317,
                              "column": 8
                            },
                            "end": {
                              "line": 317,
                              "column": 24
                            }
                          },
                          "range": [
                            12781,
                            12797
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 12806,
                      "end": 13008,
                      "loc": {
                        "start": {
                          "line": 318,
                          "column": 8
                        },
                        "end": {
                          "line": 321,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 12806,
                        "end": 13007,
                        "loc": {
                          "start": {
                            "line": 318,
                            "column": 8
                          },
                          "end": {
                            "line": 321,
                            "column": 9
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 12806,
                          "end": 12814,
                          "loc": {
                            "start": {
                              "line": 318,
                              "column": 8
                            },
                            "end": {
                              "line": 318,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 12806,
                            "end": 12810,
                            "loc": {
                              "start": {
                                "line": 318,
                                "column": 8
                              },
                              "end": {
                                "line": 318,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12811,
                            "end": 12814,
                            "loc": {
                              "start": {
                                "line": 318,
                                "column": 13
                              },
                              "end": {
                                "line": 318,
                                "column": 16
                              }
                            },
                            "name": "old"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "start": 12817,
                          "end": 13007,
                          "loc": {
                            "start": {
                              "line": 318,
                              "column": 19
                            },
                            "end": {
                              "line": 321,
                              "column": 9
                            }
                          },
                          "elements": [
                            {
                              "type": "BinaryExpression",
                              "start": 12818,
                              "end": 12854,
                              "loc": {
                                "start": {
                                  "line": 318,
                                  "column": 20
                                },
                                "end": {
                                  "line": 318,
                                  "column": 56
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 12818,
                                "end": 12827,
                                "loc": {
                                  "start": {
                                    "line": 318,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 318,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12818,
                                  "end": 12822,
                                  "loc": {
                                    "start": {
                                      "line": 318,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 318,
                                      "column": 24
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12823,
                                  "end": 12827,
                                  "loc": {
                                    "start": {
                                      "line": 318,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 318,
                                      "column": 29
                                    }
                                  },
                                  "name": "left"
                                },
                                "computed": false
                              },
                              "operator": "*",
                              "right": {
                                "type": "MemberExpression",
                                "start": 12830,
                                "end": 12854,
                                "loc": {
                                  "start": {
                                    "line": 318,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 318,
                                    "column": 56
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 12830,
                                  "end": 12843,
                                  "loc": {
                                    "start": {
                                      "line": 318,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 318,
                                      "column": 45
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 12830,
                                    "end": 12834,
                                    "loc": {
                                      "start": {
                                        "line": 318,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 318,
                                        "column": 36
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12835,
                                    "end": 12843,
                                    "loc": {
                                      "start": {
                                        "line": 318,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 318,
                                        "column": 45
                                      }
                                    },
                                    "name": "renderer"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12844,
                                  "end": 12854,
                                  "loc": {
                                    "start": {
                                      "line": 318,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 318,
                                      "column": 56
                                    }
                                  },
                                  "name": "resolution"
                                },
                                "computed": false
                              }
                            },
                            {
                              "type": "BinaryExpression",
                              "start": 12868,
                              "end": 12906,
                              "loc": {
                                "start": {
                                  "line": 319,
                                  "column": 12
                                },
                                "end": {
                                  "line": 319,
                                  "column": 50
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 12868,
                                "end": 12879,
                                "loc": {
                                  "start": {
                                    "line": 319,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 319,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12868,
                                  "end": 12872,
                                  "loc": {
                                    "start": {
                                      "line": 319,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 319,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12873,
                                  "end": 12879,
                                  "loc": {
                                    "start": {
                                      "line": 319,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 319,
                                      "column": 23
                                    }
                                  },
                                  "name": "bottom"
                                },
                                "computed": false
                              },
                              "operator": "*",
                              "right": {
                                "type": "MemberExpression",
                                "start": 12882,
                                "end": 12906,
                                "loc": {
                                  "start": {
                                    "line": 319,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 319,
                                    "column": 50
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 12882,
                                  "end": 12895,
                                  "loc": {
                                    "start": {
                                      "line": 319,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 319,
                                      "column": 39
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 12882,
                                    "end": 12886,
                                    "loc": {
                                      "start": {
                                        "line": 319,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 319,
                                        "column": 30
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12887,
                                    "end": 12895,
                                    "loc": {
                                      "start": {
                                        "line": 319,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 319,
                                        "column": 39
                                      }
                                    },
                                    "name": "renderer"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12896,
                                  "end": 12906,
                                  "loc": {
                                    "start": {
                                      "line": 319,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 319,
                                      "column": 50
                                    }
                                  },
                                  "name": "resolution"
                                },
                                "computed": false
                              }
                            },
                            {
                              "type": "BinaryExpression",
                              "start": 12920,
                              "end": 12957,
                              "loc": {
                                "start": {
                                  "line": 320,
                                  "column": 12
                                },
                                "end": {
                                  "line": 320,
                                  "column": 49
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 12920,
                                "end": 12930,
                                "loc": {
                                  "start": {
                                    "line": 320,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 320,
                                    "column": 22
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12920,
                                  "end": 12924,
                                  "loc": {
                                    "start": {
                                      "line": 320,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 320,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12925,
                                  "end": 12930,
                                  "loc": {
                                    "start": {
                                      "line": 320,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 320,
                                      "column": 22
                                    }
                                  },
                                  "name": "width"
                                },
                                "computed": false
                              },
                              "operator": "*",
                              "right": {
                                "type": "MemberExpression",
                                "start": 12933,
                                "end": 12957,
                                "loc": {
                                  "start": {
                                    "line": 320,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 320,
                                    "column": 49
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 12933,
                                  "end": 12946,
                                  "loc": {
                                    "start": {
                                      "line": 320,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 320,
                                      "column": 38
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 12933,
                                    "end": 12937,
                                    "loc": {
                                      "start": {
                                        "line": 320,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 320,
                                        "column": 29
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12938,
                                    "end": 12946,
                                    "loc": {
                                      "start": {
                                        "line": 320,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 320,
                                        "column": 38
                                      }
                                    },
                                    "name": "renderer"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12947,
                                  "end": 12957,
                                  "loc": {
                                    "start": {
                                      "line": 320,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 320,
                                      "column": 49
                                    }
                                  },
                                  "name": "resolution"
                                },
                                "computed": false
                              }
                            },
                            {
                              "type": "BinaryExpression",
                              "start": 12959,
                              "end": 12997,
                              "loc": {
                                "start": {
                                  "line": 320,
                                  "column": 51
                                },
                                "end": {
                                  "line": 320,
                                  "column": 89
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 12959,
                                "end": 12970,
                                "loc": {
                                  "start": {
                                    "line": 320,
                                    "column": 51
                                  },
                                  "end": {
                                    "line": 320,
                                    "column": 62
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12959,
                                  "end": 12963,
                                  "loc": {
                                    "start": {
                                      "line": 320,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 320,
                                      "column": 55
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12964,
                                  "end": 12970,
                                  "loc": {
                                    "start": {
                                      "line": 320,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 320,
                                      "column": 62
                                    }
                                  },
                                  "name": "height"
                                },
                                "computed": false
                              },
                              "operator": "*",
                              "right": {
                                "type": "MemberExpression",
                                "start": 12973,
                                "end": 12997,
                                "loc": {
                                  "start": {
                                    "line": 320,
                                    "column": 65
                                  },
                                  "end": {
                                    "line": 320,
                                    "column": 89
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 12973,
                                  "end": 12986,
                                  "loc": {
                                    "start": {
                                      "line": 320,
                                      "column": 65
                                    },
                                    "end": {
                                      "line": 320,
                                      "column": 78
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 12973,
                                    "end": 12977,
                                    "loc": {
                                      "start": {
                                        "line": 320,
                                        "column": 65
                                      },
                                      "end": {
                                        "line": 320,
                                        "column": 69
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12978,
                                    "end": 12986,
                                    "loc": {
                                      "start": {
                                        "line": 320,
                                        "column": 70
                                      },
                                      "end": {
                                        "line": 320,
                                        "column": 78
                                      }
                                    },
                                    "name": "renderer"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12987,
                                  "end": 12997,
                                  "loc": {
                                    "start": {
                                      "line": 320,
                                      "column": 79
                                    },
                                    "end": {
                                      "line": 320,
                                      "column": 89
                                    }
                                  },
                                  "name": "resolution"
                                },
                                "computed": false
                              }
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Save old data",
                          "start": 12781,
                          "end": 12797,
                          "loc": {
                            "start": {
                              "line": 317,
                              "column": 8
                            },
                            "end": {
                              "line": 317,
                              "column": 24
                            }
                          },
                          "range": [
                            12781,
                            12797
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Apply new",
                          "start": 13018,
                          "end": 13030,
                          "loc": {
                            "start": {
                              "line": 323,
                              "column": 8
                            },
                            "end": {
                              "line": 323,
                              "column": 20
                            }
                          },
                          "range": [
                            13018,
                            13030
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13039,
                      "end": 13065,
                      "loc": {
                        "start": {
                          "line": 324,
                          "column": 8
                        },
                        "end": {
                          "line": 324,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13039,
                        "end": 13064,
                        "loc": {
                          "start": {
                            "line": 324,
                            "column": 8
                          },
                          "end": {
                            "line": 324,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13039,
                          "end": 13049,
                          "loc": {
                            "start": {
                              "line": 324,
                              "column": 8
                            },
                            "end": {
                              "line": 324,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 13039,
                            "end": 13043,
                            "loc": {
                              "start": {
                                "line": 324,
                                "column": 8
                              },
                              "end": {
                                "line": 324,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13044,
                            "end": 13049,
                            "loc": {
                              "start": {
                                "line": 324,
                                "column": 13
                              },
                              "end": {
                                "line": 324,
                                "column": 18
                              }
                            },
                            "name": "width"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 13052,
                          "end": 13064,
                          "loc": {
                            "start": {
                              "line": 324,
                              "column": 21
                            },
                            "end": {
                              "line": 324,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13052,
                            "end": 13058,
                            "loc": {
                              "start": {
                                "line": 324,
                                "column": 21
                              },
                              "end": {
                                "line": 324,
                                "column": 27
                              }
                            },
                            "name": "offset"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13059,
                            "end": 13064,
                            "loc": {
                              "start": {
                                "line": 324,
                                "column": 28
                              },
                              "end": {
                                "line": 324,
                                "column": 33
                              }
                            },
                            "name": "width"
                          },
                          "computed": false
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Apply new",
                          "start": 13018,
                          "end": 13030,
                          "loc": {
                            "start": {
                              "line": 323,
                              "column": 8
                            },
                            "end": {
                              "line": 323,
                              "column": 20
                            }
                          },
                          "range": [
                            13018,
                            13030
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13074,
                      "end": 13102,
                      "loc": {
                        "start": {
                          "line": 325,
                          "column": 8
                        },
                        "end": {
                          "line": 325,
                          "column": 36
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13074,
                        "end": 13101,
                        "loc": {
                          "start": {
                            "line": 325,
                            "column": 8
                          },
                          "end": {
                            "line": 325,
                            "column": 35
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13074,
                          "end": 13085,
                          "loc": {
                            "start": {
                              "line": 325,
                              "column": 8
                            },
                            "end": {
                              "line": 325,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 13074,
                            "end": 13078,
                            "loc": {
                              "start": {
                                "line": 325,
                                "column": 8
                              },
                              "end": {
                                "line": 325,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13079,
                            "end": 13085,
                            "loc": {
                              "start": {
                                "line": 325,
                                "column": 13
                              },
                              "end": {
                                "line": 325,
                                "column": 19
                              }
                            },
                            "name": "height"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 13088,
                          "end": 13101,
                          "loc": {
                            "start": {
                              "line": 325,
                              "column": 22
                            },
                            "end": {
                              "line": 325,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13088,
                            "end": 13094,
                            "loc": {
                              "start": {
                                "line": 325,
                                "column": 22
                              },
                              "end": {
                                "line": 325,
                                "column": 28
                              }
                            },
                            "name": "offset"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13095,
                            "end": 13101,
                            "loc": {
                              "start": {
                                "line": 325,
                                "column": 29
                              },
                              "end": {
                                "line": 325,
                                "column": 35
                              }
                            },
                            "name": "height"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13111,
                      "end": 13133,
                      "loc": {
                        "start": {
                          "line": 326,
                          "column": 8
                        },
                        "end": {
                          "line": 326,
                          "column": 30
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13111,
                        "end": 13132,
                        "loc": {
                          "start": {
                            "line": 326,
                            "column": 8
                          },
                          "end": {
                            "line": 326,
                            "column": 29
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13111,
                          "end": 13119,
                          "loc": {
                            "start": {
                              "line": 326,
                              "column": 8
                            },
                            "end": {
                              "line": 326,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 13111,
                            "end": 13115,
                            "loc": {
                              "start": {
                                "line": 326,
                                "column": 8
                              },
                              "end": {
                                "line": 326,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13116,
                            "end": 13119,
                            "loc": {
                              "start": {
                                "line": 326,
                                "column": 13
                              },
                              "end": {
                                "line": 326,
                                "column": 16
                              }
                            },
                            "name": "top"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 13122,
                          "end": 13132,
                          "loc": {
                            "start": {
                              "line": 326,
                              "column": 19
                            },
                            "end": {
                              "line": 326,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13122,
                            "end": 13128,
                            "loc": {
                              "start": {
                                "line": 326,
                                "column": 19
                              },
                              "end": {
                                "line": 326,
                                "column": 25
                              }
                            },
                            "name": "offset"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13129,
                            "end": 13132,
                            "loc": {
                              "start": {
                                "line": 326,
                                "column": 26
                              },
                              "end": {
                                "line": 326,
                                "column": 29
                              }
                            },
                            "name": "top"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13142,
                      "end": 13166,
                      "loc": {
                        "start": {
                          "line": 327,
                          "column": 8
                        },
                        "end": {
                          "line": 327,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13142,
                        "end": 13165,
                        "loc": {
                          "start": {
                            "line": 327,
                            "column": 8
                          },
                          "end": {
                            "line": 327,
                            "column": 31
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13142,
                          "end": 13151,
                          "loc": {
                            "start": {
                              "line": 327,
                              "column": 8
                            },
                            "end": {
                              "line": 327,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 13142,
                            "end": 13146,
                            "loc": {
                              "start": {
                                "line": 327,
                                "column": 8
                              },
                              "end": {
                                "line": 327,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13147,
                            "end": 13151,
                            "loc": {
                              "start": {
                                "line": 327,
                                "column": 13
                              },
                              "end": {
                                "line": 327,
                                "column": 17
                              }
                            },
                            "name": "left"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 13154,
                          "end": 13165,
                          "loc": {
                            "start": {
                              "line": 327,
                              "column": 20
                            },
                            "end": {
                              "line": 327,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13154,
                            "end": 13160,
                            "loc": {
                              "start": {
                                "line": 327,
                                "column": 20
                              },
                              "end": {
                                "line": 327,
                                "column": 26
                              }
                            },
                            "name": "offset"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13161,
                            "end": 13165,
                            "loc": {
                              "start": {
                                "line": 327,
                                "column": 27
                              },
                              "end": {
                                "line": 327,
                                "column": 31
                              }
                            },
                            "name": "left"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13175,
                      "end": 13246,
                      "loc": {
                        "start": {
                          "line": 328,
                          "column": 8
                        },
                        "end": {
                          "line": 328,
                          "column": 79
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13175,
                        "end": 13245,
                        "loc": {
                          "start": {
                            "line": 328,
                            "column": 8
                          },
                          "end": {
                            "line": 328,
                            "column": 78
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13175,
                          "end": 13186,
                          "loc": {
                            "start": {
                              "line": 328,
                              "column": 8
                            },
                            "end": {
                              "line": 328,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 13175,
                            "end": 13179,
                            "loc": {
                              "start": {
                                "line": 328,
                                "column": 8
                              },
                              "end": {
                                "line": 328,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13180,
                            "end": 13186,
                            "loc": {
                              "start": {
                                "line": 328,
                                "column": 13
                              },
                              "end": {
                                "line": 328,
                                "column": 19
                              }
                            },
                            "name": "bottom"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "BinaryExpression",
                          "start": 13189,
                          "end": 13245,
                          "loc": {
                            "start": {
                              "line": 328,
                              "column": 22
                            },
                            "end": {
                              "line": 328,
                              "column": 78
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 13189,
                            "end": 13232,
                            "loc": {
                              "start": {
                                "line": 328,
                                "column": 22
                              },
                              "end": {
                                "line": 328,
                                "column": 65
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 13189,
                              "end": 13216,
                              "loc": {
                                "start": {
                                  "line": 328,
                                  "column": 22
                                },
                                "end": {
                                  "line": 328,
                                  "column": 49
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 13189,
                                "end": 13209,
                                "loc": {
                                  "start": {
                                    "line": 328,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 328,
                                    "column": 42
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 13189,
                                  "end": 13202,
                                  "loc": {
                                    "start": {
                                      "line": 328,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 328,
                                      "column": 35
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 13189,
                                    "end": 13193,
                                    "loc": {
                                      "start": {
                                        "line": 328,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 328,
                                        "column": 26
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13194,
                                    "end": 13202,
                                    "loc": {
                                      "start": {
                                        "line": 328,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 328,
                                        "column": 35
                                      }
                                    },
                                    "name": "renderer"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13203,
                                  "end": 13209,
                                  "loc": {
                                    "start": {
                                      "line": 328,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 328,
                                      "column": 42
                                    }
                                  },
                                  "name": "offset"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 13210,
                                "end": 13216,
                                "loc": {
                                  "start": {
                                    "line": 328,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 328,
                                    "column": 49
                                  }
                                },
                                "name": "height"
                              },
                              "computed": false
                            },
                            "operator": "-",
                            "right": {
                              "type": "MemberExpression",
                              "start": 13219,
                              "end": 13232,
                              "loc": {
                                "start": {
                                  "line": 328,
                                  "column": 52
                                },
                                "end": {
                                  "line": 328,
                                  "column": 65
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 13219,
                                "end": 13225,
                                "loc": {
                                  "start": {
                                    "line": 328,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 328,
                                    "column": 58
                                  }
                                },
                                "name": "offset"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 13226,
                                "end": 13232,
                                "loc": {
                                  "start": {
                                    "line": 328,
                                    "column": 59
                                  },
                                  "end": {
                                    "line": 328,
                                    "column": 65
                                  }
                                },
                                "name": "height"
                              },
                              "computed": false
                            }
                          },
                          "operator": "-",
                          "right": {
                            "type": "MemberExpression",
                            "start": 13235,
                            "end": 13245,
                            "loc": {
                              "start": {
                                "line": 328,
                                "column": 68
                              },
                              "end": {
                                "line": 328,
                                "column": 78
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 13235,
                              "end": 13241,
                              "loc": {
                                "start": {
                                  "line": 328,
                                  "column": 68
                                },
                                "end": {
                                  "line": 328,
                                  "column": 74
                                }
                              },
                              "name": "offset"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 13242,
                              "end": 13245,
                              "loc": {
                                "start": {
                                  "line": 328,
                                  "column": 75
                                },
                                "end": {
                                  "line": 328,
                                  "column": 78
                                }
                              },
                              "name": "top"
                            },
                            "computed": false
                          }
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Premultiply new",
                          "start": 13256,
                          "end": 13274,
                          "loc": {
                            "start": {
                              "line": 330,
                              "column": 8
                            },
                            "end": {
                              "line": 330,
                              "column": 26
                            }
                          },
                          "range": [
                            13256,
                            13274
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13283,
                      "end": 13485,
                      "loc": {
                        "start": {
                          "line": 331,
                          "column": 8
                        },
                        "end": {
                          "line": 334,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13283,
                        "end": 13484,
                        "loc": {
                          "start": {
                            "line": 331,
                            "column": 8
                          },
                          "end": {
                            "line": 334,
                            "column": 9
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13283,
                          "end": 13291,
                          "loc": {
                            "start": {
                              "line": 331,
                              "column": 8
                            },
                            "end": {
                              "line": 331,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 13283,
                            "end": 13287,
                            "loc": {
                              "start": {
                                "line": 331,
                                "column": 8
                              },
                              "end": {
                                "line": 331,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13288,
                            "end": 13291,
                            "loc": {
                              "start": {
                                "line": 331,
                                "column": 13
                              },
                              "end": {
                                "line": 331,
                                "column": 16
                              }
                            },
                            "name": "new"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "start": 13294,
                          "end": 13484,
                          "loc": {
                            "start": {
                              "line": 331,
                              "column": 19
                            },
                            "end": {
                              "line": 334,
                              "column": 9
                            }
                          },
                          "elements": [
                            {
                              "type": "BinaryExpression",
                              "start": 13295,
                              "end": 13331,
                              "loc": {
                                "start": {
                                  "line": 331,
                                  "column": 20
                                },
                                "end": {
                                  "line": 331,
                                  "column": 56
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 13295,
                                "end": 13304,
                                "loc": {
                                  "start": {
                                    "line": 331,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 331,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 13295,
                                  "end": 13299,
                                  "loc": {
                                    "start": {
                                      "line": 331,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 331,
                                      "column": 24
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13300,
                                  "end": 13304,
                                  "loc": {
                                    "start": {
                                      "line": 331,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 331,
                                      "column": 29
                                    }
                                  },
                                  "name": "left"
                                },
                                "computed": false
                              },
                              "operator": "*",
                              "right": {
                                "type": "MemberExpression",
                                "start": 13307,
                                "end": 13331,
                                "loc": {
                                  "start": {
                                    "line": 331,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 331,
                                    "column": 56
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 13307,
                                  "end": 13320,
                                  "loc": {
                                    "start": {
                                      "line": 331,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 331,
                                      "column": 45
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 13307,
                                    "end": 13311,
                                    "loc": {
                                      "start": {
                                        "line": 331,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 331,
                                        "column": 36
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13312,
                                    "end": 13320,
                                    "loc": {
                                      "start": {
                                        "line": 331,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 331,
                                        "column": 45
                                      }
                                    },
                                    "name": "renderer"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13321,
                                  "end": 13331,
                                  "loc": {
                                    "start": {
                                      "line": 331,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 331,
                                      "column": 56
                                    }
                                  },
                                  "name": "resolution"
                                },
                                "computed": false
                              }
                            },
                            {
                              "type": "BinaryExpression",
                              "start": 13345,
                              "end": 13383,
                              "loc": {
                                "start": {
                                  "line": 332,
                                  "column": 12
                                },
                                "end": {
                                  "line": 332,
                                  "column": 50
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 13345,
                                "end": 13356,
                                "loc": {
                                  "start": {
                                    "line": 332,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 332,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 13345,
                                  "end": 13349,
                                  "loc": {
                                    "start": {
                                      "line": 332,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 332,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13350,
                                  "end": 13356,
                                  "loc": {
                                    "start": {
                                      "line": 332,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 332,
                                      "column": 23
                                    }
                                  },
                                  "name": "bottom"
                                },
                                "computed": false
                              },
                              "operator": "*",
                              "right": {
                                "type": "MemberExpression",
                                "start": 13359,
                                "end": 13383,
                                "loc": {
                                  "start": {
                                    "line": 332,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 332,
                                    "column": 50
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 13359,
                                  "end": 13372,
                                  "loc": {
                                    "start": {
                                      "line": 332,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 332,
                                      "column": 39
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 13359,
                                    "end": 13363,
                                    "loc": {
                                      "start": {
                                        "line": 332,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 332,
                                        "column": 30
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13364,
                                    "end": 13372,
                                    "loc": {
                                      "start": {
                                        "line": 332,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 332,
                                        "column": 39
                                      }
                                    },
                                    "name": "renderer"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13373,
                                  "end": 13383,
                                  "loc": {
                                    "start": {
                                      "line": 332,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 332,
                                      "column": 50
                                    }
                                  },
                                  "name": "resolution"
                                },
                                "computed": false
                              }
                            },
                            {
                              "type": "BinaryExpression",
                              "start": 13397,
                              "end": 13434,
                              "loc": {
                                "start": {
                                  "line": 333,
                                  "column": 12
                                },
                                "end": {
                                  "line": 333,
                                  "column": 49
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 13397,
                                "end": 13407,
                                "loc": {
                                  "start": {
                                    "line": 333,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 333,
                                    "column": 22
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 13397,
                                  "end": 13401,
                                  "loc": {
                                    "start": {
                                      "line": 333,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 333,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13402,
                                  "end": 13407,
                                  "loc": {
                                    "start": {
                                      "line": 333,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 333,
                                      "column": 22
                                    }
                                  },
                                  "name": "width"
                                },
                                "computed": false
                              },
                              "operator": "*",
                              "right": {
                                "type": "MemberExpression",
                                "start": 13410,
                                "end": 13434,
                                "loc": {
                                  "start": {
                                    "line": 333,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 333,
                                    "column": 49
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 13410,
                                  "end": 13423,
                                  "loc": {
                                    "start": {
                                      "line": 333,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 333,
                                      "column": 38
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 13410,
                                    "end": 13414,
                                    "loc": {
                                      "start": {
                                        "line": 333,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 333,
                                        "column": 29
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13415,
                                    "end": 13423,
                                    "loc": {
                                      "start": {
                                        "line": 333,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 333,
                                        "column": 38
                                      }
                                    },
                                    "name": "renderer"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13424,
                                  "end": 13434,
                                  "loc": {
                                    "start": {
                                      "line": 333,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 333,
                                      "column": 49
                                    }
                                  },
                                  "name": "resolution"
                                },
                                "computed": false
                              }
                            },
                            {
                              "type": "BinaryExpression",
                              "start": 13436,
                              "end": 13474,
                              "loc": {
                                "start": {
                                  "line": 333,
                                  "column": 51
                                },
                                "end": {
                                  "line": 333,
                                  "column": 89
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 13436,
                                "end": 13447,
                                "loc": {
                                  "start": {
                                    "line": 333,
                                    "column": 51
                                  },
                                  "end": {
                                    "line": 333,
                                    "column": 62
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 13436,
                                  "end": 13440,
                                  "loc": {
                                    "start": {
                                      "line": 333,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 333,
                                      "column": 55
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13441,
                                  "end": 13447,
                                  "loc": {
                                    "start": {
                                      "line": 333,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 333,
                                      "column": 62
                                    }
                                  },
                                  "name": "height"
                                },
                                "computed": false
                              },
                              "operator": "*",
                              "right": {
                                "type": "MemberExpression",
                                "start": 13450,
                                "end": 13474,
                                "loc": {
                                  "start": {
                                    "line": 333,
                                    "column": 65
                                  },
                                  "end": {
                                    "line": 333,
                                    "column": 89
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 13450,
                                  "end": 13463,
                                  "loc": {
                                    "start": {
                                      "line": 333,
                                      "column": 65
                                    },
                                    "end": {
                                      "line": 333,
                                      "column": 78
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 13450,
                                    "end": 13454,
                                    "loc": {
                                      "start": {
                                        "line": 333,
                                        "column": 65
                                      },
                                      "end": {
                                        "line": 333,
                                        "column": 69
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13455,
                                    "end": 13463,
                                    "loc": {
                                      "start": {
                                        "line": 333,
                                        "column": 70
                                      },
                                      "end": {
                                        "line": 333,
                                        "column": 78
                                      }
                                    },
                                    "name": "renderer"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13464,
                                  "end": 13474,
                                  "loc": {
                                    "start": {
                                      "line": 333,
                                      "column": 79
                                    },
                                    "end": {
                                      "line": 333,
                                      "column": 89
                                    }
                                  },
                                  "name": "resolution"
                                },
                                "computed": false
                              }
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Premultiply new",
                          "start": 13256,
                          "end": 13274,
                          "loc": {
                            "start": {
                              "line": 330,
                              "column": 8
                            },
                            "end": {
                              "line": 330,
                              "column": 26
                            }
                          },
                          "range": [
                            13256,
                            13274
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Check visibility",
                          "start": 13495,
                          "end": 13514,
                          "loc": {
                            "start": {
                              "line": 336,
                              "column": 8
                            },
                            "end": {
                              "line": 336,
                              "column": 27
                            }
                          },
                          "range": [
                            13495,
                            13514
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 13523,
                      "end": 13784,
                      "loc": {
                        "start": {
                          "line": 337,
                          "column": 8
                        },
                        "end": {
                          "line": 342,
                          "column": 41
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 13527,
                          "end": 13783,
                          "loc": {
                            "start": {
                              "line": 337,
                              "column": 12
                            },
                            "end": {
                              "line": 342,
                              "column": 40
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 13527,
                            "end": 13534,
                            "loc": {
                              "start": {
                                "line": 337,
                                "column": 12
                              },
                              "end": {
                                "line": 337,
                                "column": 19
                              }
                            },
                            "name": "visible",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "UnaryExpression",
                            "start": 13537,
                            "end": 13783,
                            "loc": {
                              "start": {
                                "line": 337,
                                "column": 22
                              },
                              "end": {
                                "line": 342,
                                "column": 40
                              }
                            },
                            "operator": "!",
                            "prefix": true,
                            "argument": {
                              "type": "LogicalExpression",
                              "start": 13539,
                              "end": 13782,
                              "loc": {
                                "start": {
                                  "line": 337,
                                  "column": 24
                                },
                                "end": {
                                  "line": 342,
                                  "column": 39
                                }
                              },
                              "left": {
                                "type": "LogicalExpression",
                                "start": 13539,
                                "end": 13739,
                                "loc": {
                                  "start": {
                                    "line": 337,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 341,
                                    "column": 39
                                  }
                                },
                                "left": {
                                  "type": "LogicalExpression",
                                  "start": 13539,
                                  "end": 13696,
                                  "loc": {
                                    "start": {
                                      "line": 337,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 340,
                                      "column": 51
                                    }
                                  },
                                  "left": {
                                    "type": "LogicalExpression",
                                    "start": 13539,
                                    "end": 13641,
                                    "loc": {
                                      "start": {
                                        "line": 337,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 339,
                                        "column": 51
                                      }
                                    },
                                    "left": {
                                      "type": "LogicalExpression",
                                      "start": 13539,
                                      "end": 13586,
                                      "loc": {
                                        "start": {
                                          "line": 337,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 338,
                                          "column": 27
                                        }
                                      },
                                      "left": {
                                        "type": "BinaryExpression",
                                        "start": 13539,
                                        "end": 13555,
                                        "loc": {
                                          "start": {
                                            "line": 337,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 337,
                                            "column": 40
                                          }
                                        },
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 13539,
                                          "end": 13550,
                                          "loc": {
                                            "start": {
                                              "line": 337,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 337,
                                              "column": 35
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 13539,
                                            "end": 13543,
                                            "loc": {
                                              "start": {
                                                "line": 337,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 337,
                                                "column": 28
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 13544,
                                            "end": 13550,
                                            "loc": {
                                              "start": {
                                                "line": 337,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 337,
                                                "column": 35
                                              }
                                            },
                                            "name": "height"
                                          },
                                          "computed": false
                                        },
                                        "operator": "<=",
                                        "right": {
                                          "type": "Literal",
                                          "start": 13554,
                                          "end": 13555,
                                          "loc": {
                                            "start": {
                                              "line": 337,
                                              "column": 39
                                            },
                                            "end": {
                                              "line": 337,
                                              "column": 40
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        }
                                      },
                                      "operator": "||",
                                      "right": {
                                        "type": "BinaryExpression",
                                        "start": 13571,
                                        "end": 13586,
                                        "loc": {
                                          "start": {
                                            "line": 338,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 338,
                                            "column": 27
                                          }
                                        },
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 13571,
                                          "end": 13581,
                                          "loc": {
                                            "start": {
                                              "line": 338,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 338,
                                              "column": 22
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 13571,
                                            "end": 13575,
                                            "loc": {
                                              "start": {
                                                "line": 338,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 338,
                                                "column": 16
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 13576,
                                            "end": 13581,
                                            "loc": {
                                              "start": {
                                                "line": 338,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 338,
                                                "column": 22
                                              }
                                            },
                                            "name": "width"
                                          },
                                          "computed": false
                                        },
                                        "operator": "<=",
                                        "right": {
                                          "type": "Literal",
                                          "start": 13585,
                                          "end": 13586,
                                          "loc": {
                                            "start": {
                                              "line": 338,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 338,
                                              "column": 27
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        }
                                      }
                                    },
                                    "operator": "||",
                                    "right": {
                                      "type": "BinaryExpression",
                                      "start": 13602,
                                      "end": 13641,
                                      "loc": {
                                        "start": {
                                          "line": 339,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 339,
                                          "column": 51
                                        }
                                      },
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 13602,
                                        "end": 13610,
                                        "loc": {
                                          "start": {
                                            "line": 339,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 339,
                                            "column": 20
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 13602,
                                          "end": 13606,
                                          "loc": {
                                            "start": {
                                              "line": 339,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 339,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 13607,
                                          "end": 13610,
                                          "loc": {
                                            "start": {
                                              "line": 339,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 339,
                                              "column": 20
                                            }
                                          },
                                          "name": "top"
                                        },
                                        "computed": false
                                      },
                                      "operator": ">=",
                                      "right": {
                                        "type": "MemberExpression",
                                        "start": 13614,
                                        "end": 13641,
                                        "loc": {
                                          "start": {
                                            "line": 339,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 339,
                                            "column": 51
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 13614,
                                          "end": 13634,
                                          "loc": {
                                            "start": {
                                              "line": 339,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 339,
                                              "column": 44
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 13614,
                                            "end": 13627,
                                            "loc": {
                                              "start": {
                                                "line": 339,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 339,
                                                "column": 37
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 13614,
                                              "end": 13618,
                                              "loc": {
                                                "start": {
                                                  "line": 339,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 339,
                                                  "column": 28
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 13619,
                                              "end": 13627,
                                              "loc": {
                                                "start": {
                                                  "line": 339,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 339,
                                                  "column": 37
                                                }
                                              },
                                              "name": "renderer"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 13628,
                                            "end": 13634,
                                            "loc": {
                                              "start": {
                                                "line": 339,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 339,
                                                "column": 44
                                              }
                                            },
                                            "name": "offset"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 13635,
                                          "end": 13641,
                                          "loc": {
                                            "start": {
                                              "line": 339,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 339,
                                              "column": 51
                                            }
                                          },
                                          "name": "height"
                                        },
                                        "computed": false
                                      }
                                    }
                                  },
                                  "operator": "||",
                                  "right": {
                                    "type": "BinaryExpression",
                                    "start": 13657,
                                    "end": 13696,
                                    "loc": {
                                      "start": {
                                        "line": 340,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 340,
                                        "column": 51
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 13657,
                                      "end": 13666,
                                      "loc": {
                                        "start": {
                                          "line": 340,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 340,
                                          "column": 21
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 13657,
                                        "end": 13661,
                                        "loc": {
                                          "start": {
                                            "line": 340,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 340,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 13662,
                                        "end": 13666,
                                        "loc": {
                                          "start": {
                                            "line": 340,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 340,
                                            "column": 21
                                          }
                                        },
                                        "name": "left"
                                      },
                                      "computed": false
                                    },
                                    "operator": ">=",
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 13670,
                                      "end": 13696,
                                      "loc": {
                                        "start": {
                                          "line": 340,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 340,
                                          "column": 51
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 13670,
                                        "end": 13690,
                                        "loc": {
                                          "start": {
                                            "line": 340,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 340,
                                            "column": 45
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 13670,
                                          "end": 13683,
                                          "loc": {
                                            "start": {
                                              "line": 340,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 340,
                                              "column": 38
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 13670,
                                            "end": 13674,
                                            "loc": {
                                              "start": {
                                                "line": 340,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 340,
                                                "column": 29
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 13675,
                                            "end": 13683,
                                            "loc": {
                                              "start": {
                                                "line": 340,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 340,
                                                "column": 38
                                              }
                                            },
                                            "name": "renderer"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 13684,
                                          "end": 13690,
                                          "loc": {
                                            "start": {
                                              "line": 340,
                                              "column": 39
                                            },
                                            "end": {
                                              "line": 340,
                                              "column": 45
                                            }
                                          },
                                          "name": "offset"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 13691,
                                        "end": 13696,
                                        "loc": {
                                          "start": {
                                            "line": 340,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 340,
                                            "column": 51
                                          }
                                        },
                                        "name": "width"
                                      },
                                      "computed": false
                                    }
                                  }
                                },
                                "operator": "||",
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 13712,
                                  "end": 13739,
                                  "loc": {
                                    "start": {
                                      "line": 341,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 341,
                                      "column": 39
                                    }
                                  },
                                  "left": {
                                    "type": "BinaryExpression",
                                    "start": 13712,
                                    "end": 13734,
                                    "loc": {
                                      "start": {
                                        "line": 341,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 341,
                                        "column": 34
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 13712,
                                      "end": 13720,
                                      "loc": {
                                        "start": {
                                          "line": 341,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 341,
                                          "column": 20
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 13712,
                                        "end": 13716,
                                        "loc": {
                                          "start": {
                                            "line": 341,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 341,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 13717,
                                        "end": 13720,
                                        "loc": {
                                          "start": {
                                            "line": 341,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 341,
                                            "column": 20
                                          }
                                        },
                                        "name": "top"
                                      },
                                      "computed": false
                                    },
                                    "operator": "+",
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 13723,
                                      "end": 13734,
                                      "loc": {
                                        "start": {
                                          "line": 341,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 341,
                                          "column": 34
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 13723,
                                        "end": 13727,
                                        "loc": {
                                          "start": {
                                            "line": 341,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 341,
                                            "column": 27
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 13728,
                                        "end": 13734,
                                        "loc": {
                                          "start": {
                                            "line": 341,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 341,
                                            "column": 34
                                          }
                                        },
                                        "name": "height"
                                      },
                                      "computed": false
                                    }
                                  },
                                  "operator": "<=",
                                  "right": {
                                    "type": "Literal",
                                    "start": 13738,
                                    "end": 13739,
                                    "loc": {
                                      "start": {
                                        "line": 341,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 341,
                                        "column": 39
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  }
                                }
                              },
                              "operator": "||",
                              "right": {
                                "type": "BinaryExpression",
                                "start": 13755,
                                "end": 13782,
                                "loc": {
                                  "start": {
                                    "line": 342,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 342,
                                    "column": 39
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 13755,
                                  "end": 13777,
                                  "loc": {
                                    "start": {
                                      "line": 342,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 342,
                                      "column": 34
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 13755,
                                    "end": 13764,
                                    "loc": {
                                      "start": {
                                        "line": 342,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 342,
                                        "column": 21
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 13755,
                                      "end": 13759,
                                      "loc": {
                                        "start": {
                                          "line": 342,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 342,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 13760,
                                      "end": 13764,
                                      "loc": {
                                        "start": {
                                          "line": 342,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 342,
                                          "column": 21
                                        }
                                      },
                                      "name": "left"
                                    },
                                    "computed": false
                                  },
                                  "operator": "+",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 13767,
                                    "end": 13777,
                                    "loc": {
                                      "start": {
                                        "line": 342,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 342,
                                        "column": 34
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 13767,
                                      "end": 13771,
                                      "loc": {
                                        "start": {
                                          "line": 342,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 342,
                                          "column": 28
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 13772,
                                      "end": 13777,
                                      "loc": {
                                        "start": {
                                          "line": 342,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 342,
                                          "column": 34
                                        }
                                      },
                                      "name": "width"
                                    },
                                    "computed": false
                                  }
                                },
                                "operator": "<=",
                                "right": {
                                  "type": "Literal",
                                  "start": 13781,
                                  "end": 13782,
                                  "loc": {
                                    "start": {
                                      "line": 342,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 342,
                                      "column": 39
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              },
                              "parenthesizedExpression": true
                            }
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "let",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Check visibility",
                          "start": 13495,
                          "end": 13514,
                          "loc": {
                            "start": {
                              "line": 336,
                              "column": 8
                            },
                            "end": {
                              "line": 336,
                              "column": 27
                            }
                          },
                          "range": [
                            13495,
                            13514
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 13793,
                      "end": 13944,
                      "loc": {
                        "start": {
                          "line": 343,
                          "column": 8
                        },
                        "end": {
                          "line": 347,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 13797,
                        "end": 13820,
                        "loc": {
                          "start": {
                            "line": 343,
                            "column": 12
                          },
                          "end": {
                            "line": 343,
                            "column": 35
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 13797,
                          "end": 13809,
                          "loc": {
                            "start": {
                              "line": 343,
                              "column": 12
                            },
                            "end": {
                              "line": 343,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 13797,
                            "end": 13801,
                            "loc": {
                              "start": {
                                "line": 343,
                                "column": 12
                              },
                              "end": {
                                "line": 343,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13802,
                            "end": 13809,
                            "loc": {
                              "start": {
                                "line": 343,
                                "column": 17
                              },
                              "end": {
                                "line": 343,
                                "column": 24
                              }
                            },
                            "name": "visible"
                          },
                          "computed": false
                        },
                        "operator": "!=",
                        "right": {
                          "type": "Identifier",
                          "start": 13813,
                          "end": 13820,
                          "loc": {
                            "start": {
                              "line": 343,
                              "column": 28
                            },
                            "end": {
                              "line": 343,
                              "column": 35
                            }
                          },
                          "name": "visible"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 13822,
                        "end": 13944,
                        "loc": {
                          "start": {
                            "line": 343,
                            "column": 37
                          },
                          "end": {
                            "line": 347,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 13836,
                            "end": 13859,
                            "loc": {
                              "start": {
                                "line": 344,
                                "column": 12
                              },
                              "end": {
                                "line": 344,
                                "column": 35
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 13836,
                              "end": 13858,
                              "loc": {
                                "start": {
                                  "line": 344,
                                  "column": 12
                                },
                                "end": {
                                  "line": 344,
                                  "column": 34
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 13836,
                                "end": 13848,
                                "loc": {
                                  "start": {
                                    "line": 344,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 344,
                                    "column": 24
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 13836,
                                  "end": 13840,
                                  "loc": {
                                    "start": {
                                      "line": 344,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 344,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13841,
                                  "end": 13848,
                                  "loc": {
                                    "start": {
                                      "line": 344,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 344,
                                      "column": 24
                                    }
                                  },
                                  "name": "visible"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "Identifier",
                                "start": 13851,
                                "end": 13858,
                                "loc": {
                                  "start": {
                                    "line": 344,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 344,
                                    "column": 34
                                  }
                                },
                                "name": "visible"
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 13872,
                            "end": 13908,
                            "loc": {
                              "start": {
                                "line": 345,
                                "column": 12
                              },
                              "end": {
                                "line": 345,
                                "column": 48
                              }
                            },
                            "expression": {
                              "type": "LogicalExpression",
                              "start": 13872,
                              "end": 13907,
                              "loc": {
                                "start": {
                                  "line": 345,
                                  "column": 12
                                },
                                "end": {
                                  "line": 345,
                                  "column": 47
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 13872,
                                "end": 13884,
                                "loc": {
                                  "start": {
                                    "line": 345,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 345,
                                    "column": 24
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 13872,
                                  "end": 13876,
                                  "loc": {
                                    "start": {
                                      "line": 345,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 345,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13877,
                                  "end": 13884,
                                  "loc": {
                                    "start": {
                                      "line": 345,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 345,
                                      "column": 24
                                    }
                                  },
                                  "name": "visible"
                                },
                                "computed": false
                              },
                              "operator": "&&",
                              "right": {
                                "type": "CallExpression",
                                "start": 13888,
                                "end": 13907,
                                "loc": {
                                  "start": {
                                    "line": 345,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 345,
                                    "column": 47
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 13888,
                                  "end": 13903,
                                  "loc": {
                                    "start": {
                                      "line": 345,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 345,
                                      "column": 43
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 13888,
                                    "end": 13892,
                                    "loc": {
                                      "start": {
                                        "line": 345,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 345,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13893,
                                    "end": 13903,
                                    "loc": {
                                      "start": {
                                        "line": 345,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 345,
                                        "column": 43
                                      }
                                    },
                                    "name": "invalidate"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 13904,
                                    "end": 13906,
                                    "loc": {
                                      "start": {
                                        "line": 345,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 345,
                                        "column": 46
                                      }
                                    },
                                    "value": 10,
                                    "rawValue": 10,
                                    "raw": "10"
                                  }
                                ]
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 13921,
                            "end": 13934,
                            "loc": {
                              "start": {
                                "line": 346,
                                "column": 12
                              },
                              "end": {
                                "line": 346,
                                "column": 25
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 13921,
                              "end": 13933,
                              "loc": {
                                "start": {
                                  "line": 346,
                                  "column": 12
                                },
                                "end": {
                                  "line": 346,
                                  "column": 24
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 13921,
                                "end": 13926,
                                "loc": {
                                  "start": {
                                    "line": 346,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 346,
                                    "column": 17
                                  }
                                },
                                "name": "dirty"
                              },
                              "right": {
                                "type": "Literal",
                                "start": 13929,
                                "end": 13933,
                                "loc": {
                                  "start": {
                                    "line": 346,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 346,
                                    "column": 24
                                  }
                                },
                                "value": true,
                                "rawValue": true,
                                "raw": "true"
                              }
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 13954,
                      "end": 13967,
                      "loc": {
                        "start": {
                          "line": 349,
                          "column": 8
                        },
                        "end": {
                          "line": 349,
                          "column": 21
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 13961,
                        "end": 13966,
                        "loc": {
                          "start": {
                            "line": 349,
                            "column": 15
                          },
                          "end": {
                            "line": 349,
                            "column": 20
                          }
                        },
                        "name": "dirty"
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 13979,
              "end": 15244,
              "loc": {
                "start": {
                  "line": 352,
                  "column": 4
                },
                "end": {
                  "line": 383,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 13979,
                "end": 13988,
                "loc": {
                  "start": {
                    "line": 352,
                    "column": 4
                  },
                  "end": {
                    "line": 352,
                    "column": 13
                  }
                },
                "name": "calibrate"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 13988,
                "end": 15244,
                "loc": {
                  "start": {
                    "line": 352,
                    "column": 13
                  },
                  "end": {
                    "line": 383,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 13989,
                    "end": 13994,
                    "loc": {
                      "start": {
                        "line": 352,
                        "column": 14
                      },
                      "end": {
                        "line": 352,
                        "column": 19
                      }
                    },
                    "name": "width"
                  },
                  {
                    "type": "Identifier",
                    "start": 13996,
                    "end": 14002,
                    "loc": {
                      "start": {
                        "line": 352,
                        "column": 21
                      },
                      "end": {
                        "line": 352,
                        "column": 27
                      }
                    },
                    "name": "height"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 14004,
                  "end": 15244,
                  "loc": {
                    "start": {
                      "line": 352,
                      "column": 29
                    },
                    "end": {
                      "line": 383,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 14014,
                      "end": 14043,
                      "loc": {
                        "start": {
                          "line": 353,
                          "column": 8
                        },
                        "end": {
                          "line": 353,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 14014,
                        "end": 14042,
                        "loc": {
                          "start": {
                            "line": 353,
                            "column": 8
                          },
                          "end": {
                            "line": 353,
                            "column": 36
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 14014,
                          "end": 14025,
                          "loc": {
                            "start": {
                              "line": 353,
                              "column": 8
                            },
                            "end": {
                              "line": 353,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 14014,
                            "end": 14018,
                            "loc": {
                              "start": {
                                "line": 353,
                                "column": 8
                              },
                              "end": {
                                "line": 353,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14019,
                            "end": 14025,
                            "loc": {
                              "start": {
                                "line": 353,
                                "column": 13
                              },
                              "end": {
                                "line": 353,
                                "column": 19
                              }
                            },
                            "name": "aspect"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "BinaryExpression",
                          "start": 14028,
                          "end": 14042,
                          "loc": {
                            "start": {
                              "line": 353,
                              "column": 22
                            },
                            "end": {
                              "line": 353,
                              "column": 36
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 14028,
                            "end": 14033,
                            "loc": {
                              "start": {
                                "line": 353,
                                "column": 22
                              },
                              "end": {
                                "line": 353,
                                "column": 27
                              }
                            },
                            "name": "width"
                          },
                          "operator": "/",
                          "right": {
                            "type": "Identifier",
                            "start": 14036,
                            "end": 14042,
                            "loc": {
                              "start": {
                                "line": 353,
                                "column": 30
                              },
                              "end": {
                                "line": 353,
                                "column": 36
                              }
                            },
                            "name": "height"
                          }
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 14053,
                      "end": 15238,
                      "loc": {
                        "start": {
                          "line": 355,
                          "column": 8
                        },
                        "end": {
                          "line": 382,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 14057,
                        "end": 14103,
                        "loc": {
                          "start": {
                            "line": 355,
                            "column": 12
                          },
                          "end": {
                            "line": 355,
                            "column": 58
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 14057,
                          "end": 14068,
                          "loc": {
                            "start": {
                              "line": 355,
                              "column": 12
                            },
                            "end": {
                              "line": 355,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 14057,
                            "end": 14061,
                            "loc": {
                              "start": {
                                "line": 355,
                                "column": 12
                              },
                              "end": {
                                "line": 355,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14062,
                            "end": 14068,
                            "loc": {
                              "start": {
                                "line": 355,
                                "column": 17
                              },
                              "end": {
                                "line": 355,
                                "column": 23
                              }
                            },
                            "name": "camera"
                          },
                          "computed": false
                        },
                        "operator": "instanceof",
                        "right": {
                          "type": "MemberExpression",
                          "start": 14080,
                          "end": 14103,
                          "loc": {
                            "start": {
                              "line": 355,
                              "column": 35
                            },
                            "end": {
                              "line": 355,
                              "column": 58
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 14080,
                            "end": 14085,
                            "loc": {
                              "start": {
                                "line": 355,
                                "column": 35
                              },
                              "end": {
                                "line": 355,
                                "column": 40
                              }
                            },
                            "name": "THREE"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14086,
                            "end": 14103,
                            "loc": {
                              "start": {
                                "line": 355,
                                "column": 41
                              },
                              "end": {
                                "line": 355,
                                "column": 58
                              }
                            },
                            "name": "PerspectiveCamera"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 14105,
                        "end": 14516,
                        "loc": {
                          "start": {
                            "line": 355,
                            "column": 60
                          },
                          "end": {
                            "line": 366,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 14119,
                            "end": 14152,
                            "loc": {
                              "start": {
                                "line": 356,
                                "column": 12
                              },
                              "end": {
                                "line": 356,
                                "column": 45
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 14119,
                              "end": 14151,
                              "loc": {
                                "start": {
                                  "line": 356,
                                  "column": 12
                                },
                                "end": {
                                  "line": 356,
                                  "column": 44
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 14119,
                                "end": 14137,
                                "loc": {
                                  "start": {
                                    "line": 356,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 356,
                                    "column": 30
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 14119,
                                  "end": 14130,
                                  "loc": {
                                    "start": {
                                      "line": 356,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 356,
                                      "column": 23
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 14119,
                                    "end": 14123,
                                    "loc": {
                                      "start": {
                                        "line": 356,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 356,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14124,
                                    "end": 14130,
                                    "loc": {
                                      "start": {
                                        "line": 356,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 356,
                                        "column": 23
                                      }
                                    },
                                    "name": "camera"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 14131,
                                  "end": 14137,
                                  "loc": {
                                    "start": {
                                      "line": 356,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 356,
                                      "column": 30
                                    }
                                  },
                                  "name": "aspect"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "MemberExpression",
                                "start": 14140,
                                "end": 14151,
                                "loc": {
                                  "start": {
                                    "line": 356,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 356,
                                    "column": 44
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 14140,
                                  "end": 14144,
                                  "loc": {
                                    "start": {
                                      "line": 356,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 356,
                                      "column": 37
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 14145,
                                  "end": 14151,
                                  "loc": {
                                    "start": {
                                      "line": 356,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 356,
                                      "column": 44
                                    }
                                  },
                                  "name": "aspect"
                                },
                                "computed": false
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 14165,
                            "end": 14202,
                            "loc": {
                              "start": {
                                "line": 357,
                                "column": 12
                              },
                              "end": {
                                "line": 357,
                                "column": 49
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 14165,
                              "end": 14201,
                              "loc": {
                                "start": {
                                  "line": 357,
                                  "column": 12
                                },
                                "end": {
                                  "line": 357,
                                  "column": 48
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 14165,
                                "end": 14199,
                                "loc": {
                                  "start": {
                                    "line": 357,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 357,
                                    "column": 46
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 14165,
                                  "end": 14176,
                                  "loc": {
                                    "start": {
                                      "line": 357,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 357,
                                      "column": 23
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 14165,
                                    "end": 14169,
                                    "loc": {
                                      "start": {
                                        "line": 357,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 357,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14170,
                                    "end": 14176,
                                    "loc": {
                                      "start": {
                                        "line": 357,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 357,
                                        "column": 23
                                      }
                                    },
                                    "name": "camera"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 14177,
                                  "end": 14199,
                                  "loc": {
                                    "start": {
                                      "line": 357,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 357,
                                      "column": 46
                                    }
                                  },
                                  "name": "updateProjectionMatrix"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 14215,
                            "end": 14257,
                            "loc": {
                              "start": {
                                "line": 358,
                                "column": 12
                              },
                              "end": {
                                "line": 358,
                                "column": 54
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 14215,
                              "end": 14256,
                              "loc": {
                                "start": {
                                  "line": 358,
                                  "column": 12
                                },
                                "end": {
                                  "line": 358,
                                  "column": 53
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 14215,
                                "end": 14233,
                                "loc": {
                                  "start": {
                                    "line": 358,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 358,
                                    "column": 30
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 14215,
                                  "end": 14226,
                                  "loc": {
                                    "start": {
                                      "line": 358,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 358,
                                      "column": 23
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 14215,
                                    "end": 14219,
                                    "loc": {
                                      "start": {
                                        "line": 358,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 358,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14220,
                                    "end": 14226,
                                    "loc": {
                                      "start": {
                                        "line": 358,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 358,
                                        "column": 23
                                      }
                                    },
                                    "name": "camera"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 14227,
                                  "end": 14233,
                                  "loc": {
                                    "start": {
                                      "line": 358,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 358,
                                      "column": 30
                                    }
                                  },
                                  "name": "radius"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "BinaryExpression",
                                "start": 14236,
                                "end": 14256,
                                "loc": {
                                  "start": {
                                    "line": 358,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 358,
                                    "column": 53
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 14237,
                                  "end": 14251,
                                  "loc": {
                                    "start": {
                                      "line": 358,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 358,
                                      "column": 48
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 14237,
                                    "end": 14242,
                                    "loc": {
                                      "start": {
                                        "line": 358,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 358,
                                        "column": 39
                                      }
                                    },
                                    "name": "width"
                                  },
                                  "operator": "+",
                                  "right": {
                                    "type": "Identifier",
                                    "start": 14245,
                                    "end": 14251,
                                    "loc": {
                                      "start": {
                                        "line": 358,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 358,
                                        "column": 48
                                      }
                                    },
                                    "name": "height"
                                  },
                                  "parenthesizedExpression": true
                                },
                                "operator": "/",
                                "right": {
                                  "type": "Literal",
                                  "start": 14255,
                                  "end": 14256,
                                  "loc": {
                                    "start": {
                                      "line": 358,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 358,
                                      "column": 53
                                    }
                                  },
                                  "value": 4,
                                  "rawValue": 4,
                                  "raw": "4"
                                }
                              }
                            }
                          },
                          {
                            "type": "IfStatement",
                            "start": 14271,
                            "end": 14505,
                            "loc": {
                              "start": {
                                "line": 360,
                                "column": 12
                              },
                              "end": {
                                "line": 364,
                                "column": 13
                              }
                            },
                            "test": {
                              "type": "LogicalExpression",
                              "start": 14275,
                              "end": 14316,
                              "loc": {
                                "start": {
                                  "line": 360,
                                  "column": 16
                                },
                                "end": {
                                  "line": 360,
                                  "column": 57
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 14275,
                                "end": 14283,
                                "loc": {
                                  "start": {
                                    "line": 360,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 360,
                                    "column": 24
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 14275,
                                  "end": 14279,
                                  "loc": {
                                    "start": {
                                      "line": 360,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 360,
                                      "column": 20
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 14280,
                                  "end": 14283,
                                  "loc": {
                                    "start": {
                                      "line": 360,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 360,
                                      "column": 24
                                    }
                                  },
                                  "name": "hud"
                                },
                                "computed": false
                              },
                              "operator": "&&",
                              "right": {
                                "type": "BinaryExpression",
                                "start": 14287,
                                "end": 14316,
                                "loc": {
                                  "start": {
                                    "line": 360,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 360,
                                    "column": 57
                                  }
                                },
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 14287,
                                  "end": 14301,
                                  "loc": {
                                    "start": {
                                      "line": 360,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 360,
                                      "column": 42
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 14287,
                                    "end": 14291,
                                    "loc": {
                                      "start": {
                                        "line": 360,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 360,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14292,
                                    "end": 14301,
                                    "loc": {
                                      "start": {
                                        "line": 360,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 360,
                                        "column": 42
                                      }
                                    },
                                    "name": "cameraHud"
                                  },
                                  "computed": false
                                },
                                "operator": "!=",
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 14305,
                                  "end": 14316,
                                  "loc": {
                                    "start": {
                                      "line": 360,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 360,
                                      "column": 57
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 14305,
                                    "end": 14309,
                                    "loc": {
                                      "start": {
                                        "line": 360,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 360,
                                        "column": 50
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14310,
                                    "end": 14316,
                                    "loc": {
                                      "start": {
                                        "line": 360,
                                        "column": 51
                                      },
                                      "end": {
                                        "line": 360,
                                        "column": 57
                                      }
                                    },
                                    "name": "camera"
                                  },
                                  "computed": false
                                }
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 14318,
                              "end": 14505,
                              "loc": {
                                "start": {
                                  "line": 360,
                                  "column": 59
                                },
                                "end": {
                                  "line": 364,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 14336,
                                  "end": 14372,
                                  "loc": {
                                    "start": {
                                      "line": 361,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 361,
                                      "column": 52
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 14336,
                                    "end": 14371,
                                    "loc": {
                                      "start": {
                                        "line": 361,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 361,
                                        "column": 51
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 14336,
                                      "end": 14357,
                                      "loc": {
                                        "start": {
                                          "line": 361,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 361,
                                          "column": 37
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 14336,
                                        "end": 14350,
                                        "loc": {
                                          "start": {
                                            "line": 361,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 361,
                                            "column": 30
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 14336,
                                          "end": 14340,
                                          "loc": {
                                            "start": {
                                              "line": 361,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 361,
                                              "column": 20
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 14341,
                                          "end": 14350,
                                          "loc": {
                                            "start": {
                                              "line": 361,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 361,
                                              "column": 30
                                            }
                                          },
                                          "name": "cameraHud"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 14351,
                                        "end": 14357,
                                        "loc": {
                                          "start": {
                                            "line": 361,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 361,
                                            "column": 37
                                          }
                                        },
                                        "name": "aspect"
                                      },
                                      "computed": false
                                    },
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 14360,
                                      "end": 14371,
                                      "loc": {
                                        "start": {
                                          "line": 361,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 361,
                                          "column": 51
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 14360,
                                        "end": 14364,
                                        "loc": {
                                          "start": {
                                            "line": 361,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 361,
                                            "column": 44
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 14365,
                                        "end": 14371,
                                        "loc": {
                                          "start": {
                                            "line": 361,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 361,
                                            "column": 51
                                          }
                                        },
                                        "name": "aspect"
                                      },
                                      "computed": false
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 14389,
                                  "end": 14429,
                                  "loc": {
                                    "start": {
                                      "line": 362,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 362,
                                      "column": 56
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 14389,
                                    "end": 14428,
                                    "loc": {
                                      "start": {
                                        "line": 362,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 362,
                                        "column": 55
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 14389,
                                      "end": 14426,
                                      "loc": {
                                        "start": {
                                          "line": 362,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 362,
                                          "column": 53
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 14389,
                                        "end": 14403,
                                        "loc": {
                                          "start": {
                                            "line": 362,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 362,
                                            "column": 30
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 14389,
                                          "end": 14393,
                                          "loc": {
                                            "start": {
                                              "line": 362,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 362,
                                              "column": 20
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 14394,
                                          "end": 14403,
                                          "loc": {
                                            "start": {
                                              "line": 362,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 362,
                                              "column": 30
                                            }
                                          },
                                          "name": "cameraHud"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 14404,
                                        "end": 14426,
                                        "loc": {
                                          "start": {
                                            "line": 362,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 362,
                                            "column": 53
                                          }
                                        },
                                        "name": "updateProjectionMatrix"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 14446,
                                  "end": 14491,
                                  "loc": {
                                    "start": {
                                      "line": 363,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 363,
                                      "column": 61
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 14446,
                                    "end": 14490,
                                    "loc": {
                                      "start": {
                                        "line": 363,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 363,
                                        "column": 60
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 14446,
                                      "end": 14467,
                                      "loc": {
                                        "start": {
                                          "line": 363,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 363,
                                          "column": 37
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 14446,
                                        "end": 14460,
                                        "loc": {
                                          "start": {
                                            "line": 363,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 363,
                                            "column": 30
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 14446,
                                          "end": 14450,
                                          "loc": {
                                            "start": {
                                              "line": 363,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 363,
                                              "column": 20
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 14451,
                                          "end": 14460,
                                          "loc": {
                                            "start": {
                                              "line": 363,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 363,
                                              "column": 30
                                            }
                                          },
                                          "name": "cameraHud"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 14461,
                                        "end": 14467,
                                        "loc": {
                                          "start": {
                                            "line": 363,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 363,
                                            "column": 37
                                          }
                                        },
                                        "name": "radius"
                                      },
                                      "computed": false
                                    },
                                    "right": {
                                      "type": "BinaryExpression",
                                      "start": 14470,
                                      "end": 14490,
                                      "loc": {
                                        "start": {
                                          "line": 363,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 363,
                                          "column": 60
                                        }
                                      },
                                      "left": {
                                        "type": "BinaryExpression",
                                        "start": 14471,
                                        "end": 14485,
                                        "loc": {
                                          "start": {
                                            "line": 363,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 363,
                                            "column": 55
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 14471,
                                          "end": 14476,
                                          "loc": {
                                            "start": {
                                              "line": 363,
                                              "column": 41
                                            },
                                            "end": {
                                              "line": 363,
                                              "column": 46
                                            }
                                          },
                                          "name": "width"
                                        },
                                        "operator": "+",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 14479,
                                          "end": 14485,
                                          "loc": {
                                            "start": {
                                              "line": 363,
                                              "column": 49
                                            },
                                            "end": {
                                              "line": 363,
                                              "column": 55
                                            }
                                          },
                                          "name": "height"
                                        },
                                        "parenthesizedExpression": true
                                      },
                                      "operator": "/",
                                      "right": {
                                        "type": "Literal",
                                        "start": 14489,
                                        "end": 14490,
                                        "loc": {
                                          "start": {
                                            "line": 363,
                                            "column": 59
                                          },
                                          "end": {
                                            "line": 363,
                                            "column": 60
                                          }
                                        },
                                        "value": 4,
                                        "rawValue": 4,
                                        "raw": "4"
                                      }
                                    }
                                  }
                                }
                              ]
                            },
                            "alternate": null
                          }
                        ]
                      },
                      "alternate": {
                        "type": "IfStatement",
                        "start": 14522,
                        "end": 15238,
                        "loc": {
                          "start": {
                            "line": 366,
                            "column": 15
                          },
                          "end": {
                            "line": 382,
                            "column": 9
                          }
                        },
                        "test": {
                          "type": "BinaryExpression",
                          "start": 14526,
                          "end": 14573,
                          "loc": {
                            "start": {
                              "line": 366,
                              "column": 19
                            },
                            "end": {
                              "line": 366,
                              "column": 66
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 14526,
                            "end": 14537,
                            "loc": {
                              "start": {
                                "line": 366,
                                "column": 19
                              },
                              "end": {
                                "line": 366,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 14526,
                              "end": 14530,
                              "loc": {
                                "start": {
                                  "line": 366,
                                  "column": 19
                                },
                                "end": {
                                  "line": 366,
                                  "column": 23
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14531,
                              "end": 14537,
                              "loc": {
                                "start": {
                                  "line": 366,
                                  "column": 24
                                },
                                "end": {
                                  "line": 366,
                                  "column": 30
                                }
                              },
                              "name": "camera"
                            },
                            "computed": false
                          },
                          "operator": "instanceof",
                          "right": {
                            "type": "MemberExpression",
                            "start": 14549,
                            "end": 14573,
                            "loc": {
                              "start": {
                                "line": 366,
                                "column": 42
                              },
                              "end": {
                                "line": 366,
                                "column": 66
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 14549,
                              "end": 14554,
                              "loc": {
                                "start": {
                                  "line": 366,
                                  "column": 42
                                },
                                "end": {
                                  "line": 366,
                                  "column": 47
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14555,
                              "end": 14573,
                              "loc": {
                                "start": {
                                  "line": 366,
                                  "column": 48
                                },
                                "end": {
                                  "line": 366,
                                  "column": 66
                                }
                              },
                              "name": "OrthographicCamera"
                            },
                            "computed": false
                          }
                        },
                        "consequent": {
                          "type": "BlockStatement",
                          "start": 14575,
                          "end": 15238,
                          "loc": {
                            "start": {
                              "line": 366,
                              "column": 68
                            },
                            "end": {
                              "line": 382,
                              "column": 9
                            }
                          },
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "start": 14589,
                              "end": 14628,
                              "loc": {
                                "start": {
                                  "line": 367,
                                  "column": 12
                                },
                                "end": {
                                  "line": 367,
                                  "column": 51
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 14589,
                                "end": 14627,
                                "loc": {
                                  "start": {
                                    "line": 367,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 367,
                                    "column": 50
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "start": 14589,
                                  "end": 14594,
                                  "loc": {
                                    "start": {
                                      "line": 367,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 367,
                                      "column": 17
                                    }
                                  },
                                  "name": "width"
                                },
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 14597,
                                  "end": 14627,
                                  "loc": {
                                    "start": {
                                      "line": 367,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 367,
                                      "column": 50
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 14597,
                                    "end": 14613,
                                    "loc": {
                                      "start": {
                                        "line": 367,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 367,
                                        "column": 36
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 14597,
                                      "end": 14608,
                                      "loc": {
                                        "start": {
                                          "line": 367,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 367,
                                          "column": 31
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 14597,
                                        "end": 14601,
                                        "loc": {
                                          "start": {
                                            "line": 367,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 367,
                                            "column": 24
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 14602,
                                        "end": 14608,
                                        "loc": {
                                          "start": {
                                            "line": 367,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 367,
                                            "column": 31
                                          }
                                        },
                                        "name": "camera"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 14609,
                                      "end": 14613,
                                      "loc": {
                                        "start": {
                                          "line": 367,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 367,
                                          "column": 36
                                        }
                                      },
                                      "name": "size"
                                    },
                                    "computed": false
                                  },
                                  "operator": "*",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 14616,
                                    "end": 14627,
                                    "loc": {
                                      "start": {
                                        "line": 367,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 367,
                                        "column": 50
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 14616,
                                      "end": 14620,
                                      "loc": {
                                        "start": {
                                          "line": 367,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 367,
                                          "column": 43
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 14621,
                                      "end": 14627,
                                      "loc": {
                                        "start": {
                                          "line": 367,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 367,
                                          "column": 50
                                        }
                                      },
                                      "name": "aspect"
                                    },
                                    "computed": false
                                  }
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 14641,
                              "end": 14667,
                              "loc": {
                                "start": {
                                  "line": 368,
                                  "column": 12
                                },
                                "end": {
                                  "line": 368,
                                  "column": 38
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 14641,
                                "end": 14666,
                                "loc": {
                                  "start": {
                                    "line": 368,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 368,
                                    "column": 37
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "start": 14641,
                                  "end": 14647,
                                  "loc": {
                                    "start": {
                                      "line": 368,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 368,
                                      "column": 18
                                    }
                                  },
                                  "name": "height"
                                },
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 14650,
                                  "end": 14666,
                                  "loc": {
                                    "start": {
                                      "line": 368,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 368,
                                      "column": 37
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 14650,
                                    "end": 14661,
                                    "loc": {
                                      "start": {
                                        "line": 368,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 368,
                                        "column": 32
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 14650,
                                      "end": 14654,
                                      "loc": {
                                        "start": {
                                          "line": 368,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 368,
                                          "column": 25
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 14655,
                                      "end": 14661,
                                      "loc": {
                                        "start": {
                                          "line": 368,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 368,
                                          "column": 32
                                        }
                                      },
                                      "name": "camera"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14662,
                                    "end": 14666,
                                    "loc": {
                                      "start": {
                                        "line": 368,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 368,
                                        "column": 37
                                      }
                                    },
                                    "name": "size"
                                  },
                                  "computed": false
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 14680,
                              "end": 14710,
                              "loc": {
                                "start": {
                                  "line": 369,
                                  "column": 12
                                },
                                "end": {
                                  "line": 369,
                                  "column": 42
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 14680,
                                "end": 14709,
                                "loc": {
                                  "start": {
                                    "line": 369,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 369,
                                    "column": 41
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 14680,
                                  "end": 14696,
                                  "loc": {
                                    "start": {
                                      "line": 369,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 369,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 14680,
                                    "end": 14691,
                                    "loc": {
                                      "start": {
                                        "line": 369,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 369,
                                        "column": 23
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 14680,
                                      "end": 14684,
                                      "loc": {
                                        "start": {
                                          "line": 369,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 369,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 14685,
                                      "end": 14691,
                                      "loc": {
                                        "start": {
                                          "line": 369,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 369,
                                          "column": 23
                                        }
                                      },
                                      "name": "camera"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14692,
                                    "end": 14696,
                                    "loc": {
                                      "start": {
                                        "line": 369,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 369,
                                        "column": 28
                                      }
                                    },
                                    "name": "left"
                                  },
                                  "computed": false
                                },
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 14699,
                                  "end": 14709,
                                  "loc": {
                                    "start": {
                                      "line": 369,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 369,
                                      "column": 41
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 14699,
                                    "end": 14704,
                                    "loc": {
                                      "start": {
                                        "line": 369,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 369,
                                        "column": 36
                                      }
                                    },
                                    "name": "width"
                                  },
                                  "operator": "/",
                                  "right": {
                                    "type": "UnaryExpression",
                                    "start": 14707,
                                    "end": 14709,
                                    "loc": {
                                      "start": {
                                        "line": 369,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 369,
                                        "column": 41
                                      }
                                    },
                                    "operator": "-",
                                    "prefix": true,
                                    "argument": {
                                      "type": "Literal",
                                      "start": 14708,
                                      "end": 14709,
                                      "loc": {
                                        "start": {
                                          "line": 369,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 369,
                                          "column": 41
                                        }
                                      },
                                      "value": 2,
                                      "rawValue": 2,
                                      "raw": "2"
                                    }
                                  }
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 14723,
                              "end": 14753,
                              "loc": {
                                "start": {
                                  "line": 370,
                                  "column": 12
                                },
                                "end": {
                                  "line": 370,
                                  "column": 42
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 14723,
                                "end": 14752,
                                "loc": {
                                  "start": {
                                    "line": 370,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 370,
                                    "column": 41
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 14723,
                                  "end": 14740,
                                  "loc": {
                                    "start": {
                                      "line": 370,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 370,
                                      "column": 29
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 14723,
                                    "end": 14734,
                                    "loc": {
                                      "start": {
                                        "line": 370,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 370,
                                        "column": 23
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 14723,
                                      "end": 14727,
                                      "loc": {
                                        "start": {
                                          "line": 370,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 370,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 14728,
                                      "end": 14734,
                                      "loc": {
                                        "start": {
                                          "line": 370,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 370,
                                          "column": 23
                                        }
                                      },
                                      "name": "camera"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14735,
                                    "end": 14740,
                                    "loc": {
                                      "start": {
                                        "line": 370,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 370,
                                        "column": 29
                                      }
                                    },
                                    "name": "right"
                                  },
                                  "computed": false
                                },
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 14743,
                                  "end": 14752,
                                  "loc": {
                                    "start": {
                                      "line": 370,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 370,
                                      "column": 41
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 14743,
                                    "end": 14748,
                                    "loc": {
                                      "start": {
                                        "line": 370,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 370,
                                        "column": 37
                                      }
                                    },
                                    "name": "width"
                                  },
                                  "operator": "/",
                                  "right": {
                                    "type": "Literal",
                                    "start": 14751,
                                    "end": 14752,
                                    "loc": {
                                      "start": {
                                        "line": 370,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 370,
                                        "column": 41
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  }
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 14766,
                              "end": 14795,
                              "loc": {
                                "start": {
                                  "line": 371,
                                  "column": 12
                                },
                                "end": {
                                  "line": 371,
                                  "column": 41
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 14766,
                                "end": 14794,
                                "loc": {
                                  "start": {
                                    "line": 371,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 371,
                                    "column": 40
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 14766,
                                  "end": 14781,
                                  "loc": {
                                    "start": {
                                      "line": 371,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 371,
                                      "column": 27
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 14766,
                                    "end": 14777,
                                    "loc": {
                                      "start": {
                                        "line": 371,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 371,
                                        "column": 23
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 14766,
                                      "end": 14770,
                                      "loc": {
                                        "start": {
                                          "line": 371,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 371,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 14771,
                                      "end": 14777,
                                      "loc": {
                                        "start": {
                                          "line": 371,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 371,
                                          "column": 23
                                        }
                                      },
                                      "name": "camera"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14778,
                                    "end": 14781,
                                    "loc": {
                                      "start": {
                                        "line": 371,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 371,
                                        "column": 27
                                      }
                                    },
                                    "name": "top"
                                  },
                                  "computed": false
                                },
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 14784,
                                  "end": 14794,
                                  "loc": {
                                    "start": {
                                      "line": 371,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 371,
                                      "column": 40
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 14784,
                                    "end": 14790,
                                    "loc": {
                                      "start": {
                                        "line": 371,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 371,
                                        "column": 36
                                      }
                                    },
                                    "name": "height"
                                  },
                                  "operator": "/",
                                  "right": {
                                    "type": "Literal",
                                    "start": 14793,
                                    "end": 14794,
                                    "loc": {
                                      "start": {
                                        "line": 371,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 371,
                                        "column": 40
                                      }
                                    },
                                    "value": 2,
                                    "rawValue": 2,
                                    "raw": "2"
                                  }
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 14808,
                              "end": 14841,
                              "loc": {
                                "start": {
                                  "line": 372,
                                  "column": 12
                                },
                                "end": {
                                  "line": 372,
                                  "column": 45
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 14808,
                                "end": 14840,
                                "loc": {
                                  "start": {
                                    "line": 372,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 372,
                                    "column": 44
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 14808,
                                  "end": 14826,
                                  "loc": {
                                    "start": {
                                      "line": 372,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 372,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 14808,
                                    "end": 14819,
                                    "loc": {
                                      "start": {
                                        "line": 372,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 372,
                                        "column": 23
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 14808,
                                      "end": 14812,
                                      "loc": {
                                        "start": {
                                          "line": 372,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 372,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 14813,
                                      "end": 14819,
                                      "loc": {
                                        "start": {
                                          "line": 372,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 372,
                                          "column": 23
                                        }
                                      },
                                      "name": "camera"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14820,
                                    "end": 14826,
                                    "loc": {
                                      "start": {
                                        "line": 372,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 372,
                                        "column": 30
                                      }
                                    },
                                    "name": "bottom"
                                  },
                                  "computed": false
                                },
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 14829,
                                  "end": 14840,
                                  "loc": {
                                    "start": {
                                      "line": 372,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 372,
                                      "column": 44
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 14829,
                                    "end": 14835,
                                    "loc": {
                                      "start": {
                                        "line": 372,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 372,
                                        "column": 39
                                      }
                                    },
                                    "name": "height"
                                  },
                                  "operator": "/",
                                  "right": {
                                    "type": "UnaryExpression",
                                    "start": 14838,
                                    "end": 14840,
                                    "loc": {
                                      "start": {
                                        "line": 372,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 372,
                                        "column": 44
                                      }
                                    },
                                    "operator": "-",
                                    "prefix": true,
                                    "argument": {
                                      "type": "Literal",
                                      "start": 14839,
                                      "end": 14840,
                                      "loc": {
                                        "start": {
                                          "line": 372,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 372,
                                          "column": 44
                                        }
                                      },
                                      "value": 2,
                                      "rawValue": 2,
                                      "raw": "2"
                                    }
                                  }
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 14854,
                              "end": 14891,
                              "loc": {
                                "start": {
                                  "line": 373,
                                  "column": 12
                                },
                                "end": {
                                  "line": 373,
                                  "column": 49
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 14854,
                                "end": 14890,
                                "loc": {
                                  "start": {
                                    "line": 373,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 373,
                                    "column": 48
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 14854,
                                  "end": 14888,
                                  "loc": {
                                    "start": {
                                      "line": 373,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 373,
                                      "column": 46
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 14854,
                                    "end": 14865,
                                    "loc": {
                                      "start": {
                                        "line": 373,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 373,
                                        "column": 23
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 14854,
                                      "end": 14858,
                                      "loc": {
                                        "start": {
                                          "line": 373,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 373,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 14859,
                                      "end": 14865,
                                      "loc": {
                                        "start": {
                                          "line": 373,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 373,
                                          "column": 23
                                        }
                                      },
                                      "name": "camera"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14866,
                                    "end": 14888,
                                    "loc": {
                                      "start": {
                                        "line": 373,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 373,
                                        "column": 46
                                      }
                                    },
                                    "name": "updateProjectionMatrix"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            },
                            {
                              "type": "IfStatement",
                              "start": 14905,
                              "end": 15228,
                              "loc": {
                                "start": {
                                  "line": 375,
                                  "column": 12
                                },
                                "end": {
                                  "line": 381,
                                  "column": 13
                                }
                              },
                              "test": {
                                "type": "LogicalExpression",
                                "start": 14909,
                                "end": 14950,
                                "loc": {
                                  "start": {
                                    "line": 375,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 375,
                                    "column": 57
                                  }
                                },
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 14909,
                                  "end": 14917,
                                  "loc": {
                                    "start": {
                                      "line": 375,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 375,
                                      "column": 24
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 14909,
                                    "end": 14913,
                                    "loc": {
                                      "start": {
                                        "line": 375,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 375,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14914,
                                    "end": 14917,
                                    "loc": {
                                      "start": {
                                        "line": 375,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 375,
                                        "column": 24
                                      }
                                    },
                                    "name": "hud"
                                  },
                                  "computed": false
                                },
                                "operator": "&&",
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 14921,
                                  "end": 14950,
                                  "loc": {
                                    "start": {
                                      "line": 375,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 375,
                                      "column": 57
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 14921,
                                    "end": 14935,
                                    "loc": {
                                      "start": {
                                        "line": 375,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 375,
                                        "column": 42
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 14921,
                                      "end": 14925,
                                      "loc": {
                                        "start": {
                                          "line": 375,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 375,
                                          "column": 32
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 14926,
                                      "end": 14935,
                                      "loc": {
                                        "start": {
                                          "line": 375,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 375,
                                          "column": 42
                                        }
                                      },
                                      "name": "cameraHud"
                                    },
                                    "computed": false
                                  },
                                  "operator": "!=",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 14939,
                                    "end": 14950,
                                    "loc": {
                                      "start": {
                                        "line": 375,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 375,
                                        "column": 57
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 14939,
                                      "end": 14943,
                                      "loc": {
                                        "start": {
                                          "line": 375,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 375,
                                          "column": 50
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 14944,
                                      "end": 14950,
                                      "loc": {
                                        "start": {
                                          "line": 375,
                                          "column": 51
                                        },
                                        "end": {
                                          "line": 375,
                                          "column": 57
                                        }
                                      },
                                      "name": "camera"
                                    },
                                    "computed": false
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "start": 14952,
                                "end": 15228,
                                "loc": {
                                  "start": {
                                    "line": 375,
                                    "column": 59
                                  },
                                  "end": {
                                    "line": 381,
                                    "column": 13
                                  }
                                },
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 14970,
                                    "end": 15004,
                                    "loc": {
                                      "start": {
                                        "line": 376,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 376,
                                        "column": 50
                                      }
                                    },
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "start": 14970,
                                      "end": 15003,
                                      "loc": {
                                        "start": {
                                          "line": 376,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 376,
                                          "column": 49
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 14970,
                                        "end": 14989,
                                        "loc": {
                                          "start": {
                                            "line": 376,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 376,
                                            "column": 35
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 14970,
                                          "end": 14984,
                                          "loc": {
                                            "start": {
                                              "line": 376,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 376,
                                              "column": 30
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 14970,
                                            "end": 14974,
                                            "loc": {
                                              "start": {
                                                "line": 376,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 376,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 14975,
                                            "end": 14984,
                                            "loc": {
                                              "start": {
                                                "line": 376,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 376,
                                                "column": 30
                                              }
                                            },
                                            "name": "cameraHud"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 14985,
                                          "end": 14989,
                                          "loc": {
                                            "start": {
                                              "line": 376,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 376,
                                              "column": 35
                                            }
                                          },
                                          "name": "left"
                                        },
                                        "computed": false
                                      },
                                      "right": {
                                        "type": "BinaryExpression",
                                        "start": 14992,
                                        "end": 15003,
                                        "loc": {
                                          "start": {
                                            "line": 376,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 376,
                                            "column": 49
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 14992,
                                          "end": 14997,
                                          "loc": {
                                            "start": {
                                              "line": 376,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 376,
                                              "column": 43
                                            }
                                          },
                                          "name": "width"
                                        },
                                        "operator": "/",
                                        "right": {
                                          "type": "UnaryExpression",
                                          "start": 15000,
                                          "end": 15003,
                                          "loc": {
                                            "start": {
                                              "line": 376,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 376,
                                              "column": 49
                                            }
                                          },
                                          "operator": "-",
                                          "prefix": true,
                                          "argument": {
                                            "type": "Literal",
                                            "start": 15002,
                                            "end": 15003,
                                            "loc": {
                                              "start": {
                                                "line": 376,
                                                "column": 48
                                              },
                                              "end": {
                                                "line": 376,
                                                "column": 49
                                              }
                                            },
                                            "value": 2,
                                            "rawValue": 2,
                                            "raw": "2"
                                          }
                                        }
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 15021,
                                    "end": 15054,
                                    "loc": {
                                      "start": {
                                        "line": 377,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 377,
                                        "column": 49
                                      }
                                    },
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "start": 15021,
                                      "end": 15053,
                                      "loc": {
                                        "start": {
                                          "line": 377,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 377,
                                          "column": 48
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 15021,
                                        "end": 15041,
                                        "loc": {
                                          "start": {
                                            "line": 377,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 377,
                                            "column": 36
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 15021,
                                          "end": 15035,
                                          "loc": {
                                            "start": {
                                              "line": 377,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 377,
                                              "column": 30
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 15021,
                                            "end": 15025,
                                            "loc": {
                                              "start": {
                                                "line": 377,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 377,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 15026,
                                            "end": 15035,
                                            "loc": {
                                              "start": {
                                                "line": 377,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 377,
                                                "column": 30
                                              }
                                            },
                                            "name": "cameraHud"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 15036,
                                          "end": 15041,
                                          "loc": {
                                            "start": {
                                              "line": 377,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 377,
                                              "column": 36
                                            }
                                          },
                                          "name": "right"
                                        },
                                        "computed": false
                                      },
                                      "right": {
                                        "type": "BinaryExpression",
                                        "start": 15044,
                                        "end": 15053,
                                        "loc": {
                                          "start": {
                                            "line": 377,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 377,
                                            "column": 48
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 15044,
                                          "end": 15049,
                                          "loc": {
                                            "start": {
                                              "line": 377,
                                              "column": 39
                                            },
                                            "end": {
                                              "line": 377,
                                              "column": 44
                                            }
                                          },
                                          "name": "width"
                                        },
                                        "operator": "/",
                                        "right": {
                                          "type": "Literal",
                                          "start": 15052,
                                          "end": 15053,
                                          "loc": {
                                            "start": {
                                              "line": 377,
                                              "column": 47
                                            },
                                            "end": {
                                              "line": 377,
                                              "column": 48
                                            }
                                          },
                                          "value": 2,
                                          "rawValue": 2,
                                          "raw": "2"
                                        }
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 15071,
                                    "end": 15103,
                                    "loc": {
                                      "start": {
                                        "line": 378,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 378,
                                        "column": 48
                                      }
                                    },
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "start": 15071,
                                      "end": 15102,
                                      "loc": {
                                        "start": {
                                          "line": 378,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 378,
                                          "column": 47
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 15071,
                                        "end": 15089,
                                        "loc": {
                                          "start": {
                                            "line": 378,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 378,
                                            "column": 34
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 15071,
                                          "end": 15085,
                                          "loc": {
                                            "start": {
                                              "line": 378,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 378,
                                              "column": 30
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 15071,
                                            "end": 15075,
                                            "loc": {
                                              "start": {
                                                "line": 378,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 378,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 15076,
                                            "end": 15085,
                                            "loc": {
                                              "start": {
                                                "line": 378,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 378,
                                                "column": 30
                                              }
                                            },
                                            "name": "cameraHud"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 15086,
                                          "end": 15089,
                                          "loc": {
                                            "start": {
                                              "line": 378,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 378,
                                              "column": 34
                                            }
                                          },
                                          "name": "top"
                                        },
                                        "computed": false
                                      },
                                      "right": {
                                        "type": "BinaryExpression",
                                        "start": 15092,
                                        "end": 15102,
                                        "loc": {
                                          "start": {
                                            "line": 378,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 378,
                                            "column": 47
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 15092,
                                          "end": 15098,
                                          "loc": {
                                            "start": {
                                              "line": 378,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 378,
                                              "column": 43
                                            }
                                          },
                                          "name": "height"
                                        },
                                        "operator": "/",
                                        "right": {
                                          "type": "Literal",
                                          "start": 15101,
                                          "end": 15102,
                                          "loc": {
                                            "start": {
                                              "line": 378,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 378,
                                              "column": 47
                                            }
                                          },
                                          "value": 2,
                                          "rawValue": 2,
                                          "raw": "2"
                                        }
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 15120,
                                    "end": 15157,
                                    "loc": {
                                      "start": {
                                        "line": 379,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 379,
                                        "column": 53
                                      }
                                    },
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "start": 15120,
                                      "end": 15156,
                                      "loc": {
                                        "start": {
                                          "line": 379,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 379,
                                          "column": 52
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 15120,
                                        "end": 15141,
                                        "loc": {
                                          "start": {
                                            "line": 379,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 379,
                                            "column": 37
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 15120,
                                          "end": 15134,
                                          "loc": {
                                            "start": {
                                              "line": 379,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 379,
                                              "column": 30
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 15120,
                                            "end": 15124,
                                            "loc": {
                                              "start": {
                                                "line": 379,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 379,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 15125,
                                            "end": 15134,
                                            "loc": {
                                              "start": {
                                                "line": 379,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 379,
                                                "column": 30
                                              }
                                            },
                                            "name": "cameraHud"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 15135,
                                          "end": 15141,
                                          "loc": {
                                            "start": {
                                              "line": 379,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 379,
                                              "column": 37
                                            }
                                          },
                                          "name": "bottom"
                                        },
                                        "computed": false
                                      },
                                      "right": {
                                        "type": "BinaryExpression",
                                        "start": 15144,
                                        "end": 15156,
                                        "loc": {
                                          "start": {
                                            "line": 379,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 379,
                                            "column": 52
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 15144,
                                          "end": 15150,
                                          "loc": {
                                            "start": {
                                              "line": 379,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 379,
                                              "column": 46
                                            }
                                          },
                                          "name": "height"
                                        },
                                        "operator": "/",
                                        "right": {
                                          "type": "UnaryExpression",
                                          "start": 15153,
                                          "end": 15156,
                                          "loc": {
                                            "start": {
                                              "line": 379,
                                              "column": 49
                                            },
                                            "end": {
                                              "line": 379,
                                              "column": 52
                                            }
                                          },
                                          "operator": "-",
                                          "prefix": true,
                                          "argument": {
                                            "type": "Literal",
                                            "start": 15155,
                                            "end": 15156,
                                            "loc": {
                                              "start": {
                                                "line": 379,
                                                "column": 51
                                              },
                                              "end": {
                                                "line": 379,
                                                "column": 52
                                              }
                                            },
                                            "value": 2,
                                            "rawValue": 2,
                                            "raw": "2"
                                          }
                                        }
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 15174,
                                    "end": 15214,
                                    "loc": {
                                      "start": {
                                        "line": 380,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 380,
                                        "column": 56
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 15174,
                                      "end": 15213,
                                      "loc": {
                                        "start": {
                                          "line": 380,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 380,
                                          "column": 55
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 15174,
                                        "end": 15211,
                                        "loc": {
                                          "start": {
                                            "line": 380,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 380,
                                            "column": 53
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 15174,
                                          "end": 15188,
                                          "loc": {
                                            "start": {
                                              "line": 380,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 380,
                                              "column": 30
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 15174,
                                            "end": 15178,
                                            "loc": {
                                              "start": {
                                                "line": 380,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 380,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 15179,
                                            "end": 15188,
                                            "loc": {
                                              "start": {
                                                "line": 380,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 380,
                                                "column": 30
                                              }
                                            },
                                            "name": "cameraHud"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 15189,
                                          "end": 15211,
                                          "loc": {
                                            "start": {
                                              "line": 380,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 380,
                                              "column": 53
                                            }
                                          },
                                          "name": "updateProjectionMatrix"
                                        },
                                        "computed": false
                                      },
                                      "arguments": []
                                    }
                                  }
                                ]
                              },
                              "alternate": null
                            }
                          ]
                        },
                        "alternate": null
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 15250,
              "end": 15479,
              "loc": {
                "start": {
                  "line": 385,
                  "column": 4
                },
                "end": {
                  "line": 389,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 15250,
                "end": 15262,
                "loc": {
                  "start": {
                    "line": 385,
                    "column": 4
                  },
                  "end": {
                    "line": 385,
                    "column": 16
                  }
                },
                "name": "updateBounds"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 15262,
                "end": 15479,
                "loc": {
                  "start": {
                    "line": 385,
                    "column": 16
                  },
                  "end": {
                    "line": 389,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "AssignmentPattern",
                    "start": 15263,
                    "end": 15278,
                    "loc": {
                      "start": {
                        "line": 385,
                        "column": 17
                      },
                      "end": {
                        "line": 385,
                        "column": 32
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 15263,
                      "end": 15266,
                      "loc": {
                        "start": {
                          "line": 385,
                          "column": 17
                        },
                        "end": {
                          "line": 385,
                          "column": 20
                        }
                      },
                      "name": "box"
                    },
                    "right": {
                      "type": "Identifier",
                      "start": 15269,
                      "end": 15278,
                      "loc": {
                        "start": {
                          "line": 385,
                          "column": 23
                        },
                        "end": {
                          "line": 385,
                          "column": 32
                        }
                      },
                      "name": "undefined"
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 15280,
                  "end": 15479,
                  "loc": {
                    "start": {
                      "line": 385,
                      "column": 34
                    },
                    "end": {
                      "line": 389,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 15290,
                      "end": 15386,
                      "loc": {
                        "start": {
                          "line": 386,
                          "column": 8
                        },
                        "end": {
                          "line": 386,
                          "column": 104
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 15290,
                        "end": 15385,
                        "loc": {
                          "start": {
                            "line": 386,
                            "column": 8
                          },
                          "end": {
                            "line": 386,
                            "column": 103
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 15290,
                          "end": 15305,
                          "loc": {
                            "start": {
                              "line": 386,
                              "column": 8
                            },
                            "end": {
                              "line": 386,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 15290,
                            "end": 15301,
                            "loc": {
                              "start": {
                                "line": 386,
                                "column": 8
                              },
                              "end": {
                                "line": 386,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 15290,
                              "end": 15294,
                              "loc": {
                                "start": {
                                  "line": 386,
                                  "column": 8
                                },
                                "end": {
                                  "line": 386,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15295,
                              "end": 15301,
                              "loc": {
                                "start": {
                                  "line": 386,
                                  "column": 13
                                },
                                "end": {
                                  "line": 386,
                                  "column": 19
                                }
                              },
                              "name": "bounds"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 15302,
                            "end": 15305,
                            "loc": {
                              "start": {
                                "line": 386,
                                "column": 20
                              },
                              "end": {
                                "line": 386,
                                "column": 23
                              }
                            },
                            "name": "box"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ConditionalExpression",
                          "start": 15308,
                          "end": 15385,
                          "loc": {
                            "start": {
                              "line": 386,
                              "column": 26
                            },
                            "end": {
                              "line": 386,
                              "column": 103
                            }
                          },
                          "test": {
                            "type": "Identifier",
                            "start": 15308,
                            "end": 15311,
                            "loc": {
                              "start": {
                                "line": 386,
                                "column": 26
                              },
                              "end": {
                                "line": 386,
                                "column": 29
                              }
                            },
                            "name": "box"
                          },
                          "consequent": {
                            "type": "CallExpression",
                            "start": 15314,
                            "end": 15340,
                            "loc": {
                              "start": {
                                "line": 386,
                                "column": 32
                              },
                              "end": {
                                "line": 386,
                                "column": 58
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 15314,
                              "end": 15335,
                              "loc": {
                                "start": {
                                  "line": 386,
                                  "column": 32
                                },
                                "end": {
                                  "line": 386,
                                  "column": 53
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 15314,
                                "end": 15329,
                                "loc": {
                                  "start": {
                                    "line": 386,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 386,
                                    "column": 47
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 15314,
                                  "end": 15325,
                                  "loc": {
                                    "start": {
                                      "line": 386,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 386,
                                      "column": 43
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 15314,
                                    "end": 15318,
                                    "loc": {
                                      "start": {
                                        "line": 386,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 386,
                                        "column": 36
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15319,
                                    "end": 15325,
                                    "loc": {
                                      "start": {
                                        "line": 386,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 386,
                                        "column": 43
                                      }
                                    },
                                    "name": "bounds"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 15326,
                                  "end": 15329,
                                  "loc": {
                                    "start": {
                                      "line": 386,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 386,
                                      "column": 47
                                    }
                                  },
                                  "name": "box"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 15330,
                                "end": 15335,
                                "loc": {
                                  "start": {
                                    "line": 386,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 386,
                                    "column": 53
                                  }
                                },
                                "name": "union"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 15336,
                                "end": 15339,
                                "loc": {
                                  "start": {
                                    "line": 386,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 386,
                                    "column": 57
                                  }
                                },
                                "name": "box"
                              }
                            ]
                          },
                          "alternate": {
                            "type": "CallExpression",
                            "start": 15343,
                            "end": 15385,
                            "loc": {
                              "start": {
                                "line": 386,
                                "column": 61
                              },
                              "end": {
                                "line": 386,
                                "column": 103
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 15343,
                              "end": 15373,
                              "loc": {
                                "start": {
                                  "line": 386,
                                  "column": 61
                                },
                                "end": {
                                  "line": 386,
                                  "column": 91
                                }
                              },
                              "object": {
                                "type": "NewExpression",
                                "start": 15343,
                                "end": 15359,
                                "loc": {
                                  "start": {
                                    "line": 386,
                                    "column": 61
                                  },
                                  "end": {
                                    "line": 386,
                                    "column": 77
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 15347,
                                  "end": 15357,
                                  "loc": {
                                    "start": {
                                      "line": 386,
                                      "column": 65
                                    },
                                    "end": {
                                      "line": 386,
                                      "column": 75
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 15347,
                                    "end": 15352,
                                    "loc": {
                                      "start": {
                                        "line": 386,
                                        "column": 65
                                      },
                                      "end": {
                                        "line": 386,
                                        "column": 70
                                      }
                                    },
                                    "name": "THREE"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15353,
                                    "end": 15357,
                                    "loc": {
                                      "start": {
                                        "line": 386,
                                        "column": 71
                                      },
                                      "end": {
                                        "line": 386,
                                        "column": 75
                                      }
                                    },
                                    "name": "Box3"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 15360,
                                "end": 15373,
                                "loc": {
                                  "start": {
                                    "line": 386,
                                    "column": 78
                                  },
                                  "end": {
                                    "line": 386,
                                    "column": 91
                                  }
                                },
                                "name": "setFromObject"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 15374,
                                "end": 15384,
                                "loc": {
                                  "start": {
                                    "line": 386,
                                    "column": 92
                                  },
                                  "end": {
                                    "line": 386,
                                    "column": 102
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 15374,
                                  "end": 15378,
                                  "loc": {
                                    "start": {
                                      "line": 386,
                                      "column": 92
                                    },
                                    "end": {
                                      "line": 386,
                                      "column": 96
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 15379,
                                  "end": 15384,
                                  "loc": {
                                    "start": {
                                      "line": 386,
                                      "column": 97
                                    },
                                    "end": {
                                      "line": 386,
                                      "column": 102
                                    }
                                  },
                                  "name": "scene"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 15395,
                      "end": 15452,
                      "loc": {
                        "start": {
                          "line": 387,
                          "column": 8
                        },
                        "end": {
                          "line": 387,
                          "column": 65
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 15395,
                        "end": 15451,
                        "loc": {
                          "start": {
                            "line": 387,
                            "column": 8
                          },
                          "end": {
                            "line": 387,
                            "column": 64
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 15395,
                          "end": 15413,
                          "loc": {
                            "start": {
                              "line": 387,
                              "column": 8
                            },
                            "end": {
                              "line": 387,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 15395,
                            "end": 15406,
                            "loc": {
                              "start": {
                                "line": 387,
                                "column": 8
                              },
                              "end": {
                                "line": 387,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 15395,
                              "end": 15399,
                              "loc": {
                                "start": {
                                  "line": 387,
                                  "column": 8
                                },
                                "end": {
                                  "line": 387,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15400,
                              "end": 15406,
                              "loc": {
                                "start": {
                                  "line": 387,
                                  "column": 13
                                },
                                "end": {
                                  "line": 387,
                                  "column": 19
                                }
                              },
                              "name": "bounds"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 15407,
                            "end": 15413,
                            "loc": {
                              "start": {
                                "line": 387,
                                "column": 20
                              },
                              "end": {
                                "line": 387,
                                "column": 26
                              }
                            },
                            "name": "sphere"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 15416,
                          "end": 15451,
                          "loc": {
                            "start": {
                              "line": 387,
                              "column": 29
                            },
                            "end": {
                              "line": 387,
                              "column": 64
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 15416,
                            "end": 15449,
                            "loc": {
                              "start": {
                                "line": 387,
                                "column": 29
                              },
                              "end": {
                                "line": 387,
                                "column": 62
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 15416,
                              "end": 15431,
                              "loc": {
                                "start": {
                                  "line": 387,
                                  "column": 29
                                },
                                "end": {
                                  "line": 387,
                                  "column": 44
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 15416,
                                "end": 15427,
                                "loc": {
                                  "start": {
                                    "line": 387,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 387,
                                    "column": 40
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 15416,
                                  "end": 15420,
                                  "loc": {
                                    "start": {
                                      "line": 387,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 387,
                                      "column": 33
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 15421,
                                  "end": 15427,
                                  "loc": {
                                    "start": {
                                      "line": 387,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 387,
                                      "column": 40
                                    }
                                  },
                                  "name": "bounds"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 15428,
                                "end": 15431,
                                "loc": {
                                  "start": {
                                    "line": 387,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 387,
                                    "column": 44
                                  }
                                },
                                "name": "box"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15432,
                              "end": 15449,
                              "loc": {
                                "start": {
                                  "line": 387,
                                  "column": 45
                                },
                                "end": {
                                  "line": 387,
                                  "column": 62
                                }
                              },
                              "name": "getBoundingSphere"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 15461,
                      "end": 15473,
                      "loc": {
                        "start": {
                          "line": 388,
                          "column": 8
                        },
                        "end": {
                          "line": 388,
                          "column": 20
                        }
                      },
                      "argument": {
                        "type": "ThisExpression",
                        "start": 15468,
                        "end": 15472,
                        "loc": {
                          "start": {
                            "line": 388,
                            "column": 15
                          },
                          "end": {
                            "line": 388,
                            "column": 19
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "* A view represents a portion of canvas on which webGL can draw.\n    The view is defined and tracked by a dom node on which the drawing take place. ",
            "start": 388,
            "end": 540,
            "loc": {
              "start": {
                "line": 11,
                "column": 0
              },
              "end": {
                "line": 12,
                "column": 85
              }
            },
            "range": [
              388,
              540
            ]
          }
        ],
        "trailingComments": []
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "* A view represents a portion of canvas on which webGL can draw.\n    The view is defined and tracked by a dom node on which the drawing take place. ",
          "start": 388,
          "end": 540,
          "loc": {
            "start": {
              "line": 11,
              "column": 0
            },
            "end": {
              "line": 12,
              "column": 85
            }
          },
          "range": [
            388,
            540
          ]
        }
      ]
    }
  ]
}