{
  "type": "Program",
  "start": 0,
  "end": 5633,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 154,
      "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": 44,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 17
        }
      },
      "specifiers": [],
      "source": {
        "type": "Literal",
        "start": 34,
        "end": 43,
        "loc": {
          "start": {
            "line": 2,
            "column": 7
          },
          "end": {
            "line": 2,
            "column": 16
          }
        },
        "value": "perfnow",
        "rawValue": "perfnow",
        "raw": "'perfnow'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 45,
      "end": 88,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 43
        }
      },
      "specifiers": [
        {
          "type": "ImportNamespaceSpecifier",
          "start": 52,
          "end": 64,
          "loc": {
            "start": {
              "line": 3,
              "column": 7
            },
            "end": {
              "line": 3,
              "column": 19
            }
          },
          "local": {
            "type": "Identifier",
            "start": 57,
            "end": 64,
            "loc": {
              "start": {
                "line": 3,
                "column": 12
              },
              "end": {
                "line": 3,
                "column": 19
              }
            },
            "name": "Helpers"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 70,
        "end": 87,
        "loc": {
          "start": {
            "line": 3,
            "column": 25
          },
          "end": {
            "line": 3,
            "column": 42
          }
        },
        "value": "../core/helpers",
        "rawValue": "../core/helpers",
        "raw": "'../core/helpers'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 89,
      "end": 128,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 39
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 96,
          "end": 101,
          "loc": {
            "start": {
              "line": 4,
              "column": 7
            },
            "end": {
              "line": 4,
              "column": 12
            }
          },
          "local": {
            "type": "Identifier",
            "start": 96,
            "end": 101,
            "loc": {
              "start": {
                "line": 4,
                "column": 7
              },
              "end": {
                "line": 4,
                "column": 12
              }
            },
            "name": "Tween"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 107,
        "end": 127,
        "loc": {
          "start": {
            "line": 4,
            "column": 18
          },
          "end": {
            "line": 4,
            "column": 38
          }
        },
        "value": "../animation/tween",
        "rawValue": "../animation/tween",
        "raw": "'../animation/tween'"
      }
    },
    {
      "type": "ExportDefaultDeclaration",
      "start": 130,
      "end": 5632,
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 153,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 145,
        "end": 5632,
        "loc": {
          "start": {
            "line": 6,
            "column": 15
          },
          "end": {
            "line": 153,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 151,
          "end": 159,
          "loc": {
            "start": {
              "line": 6,
              "column": 21
            },
            "end": {
              "line": 6,
              "column": 29
            }
          },
          "name": "Renderer"
        },
        "superClass": null,
        "body": {
          "type": "ClassBody",
          "start": 160,
          "end": 5632,
          "loc": {
            "start": {
              "line": 6,
              "column": 30
            },
            "end": {
              "line": 153,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 166,
              "end": 4999,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 4
                },
                "end": {
                  "line": 129,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 166,
                "end": 177,
                "loc": {
                  "start": {
                    "line": 7,
                    "column": 4
                  },
                  "end": {
                    "line": 7,
                    "column": 15
                  }
                },
                "name": "constructor"
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 177,
                "end": 4999,
                "loc": {
                  "start": {
                    "line": 7,
                    "column": 15
                  },
                  "end": {
                    "line": 129,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "AssignmentPattern",
                    "start": 178,
                    "end": 238,
                    "loc": {
                      "start": {
                        "line": 7,
                        "column": 16
                      },
                      "end": {
                        "line": 7,
                        "column": 76
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 178,
                      "end": 184,
                      "loc": {
                        "start": {
                          "line": 7,
                          "column": 16
                        },
                        "end": {
                          "line": 7,
                          "column": 22
                        }
                      },
                      "name": "canvas"
                    },
                    "right": {
                      "type": "CallExpression",
                      "start": 187,
                      "end": 238,
                      "loc": {
                        "start": {
                          "line": 7,
                          "column": 25
                        },
                        "end": {
                          "line": 7,
                          "column": 76
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 187,
                        "end": 196,
                        "loc": {
                          "start": {
                            "line": 7,
                            "column": 25
                          },
                          "end": {
                            "line": 7,
                            "column": 34
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 187,
                          "end": 192,
                          "loc": {
                            "start": {
                              "line": 7,
                              "column": 25
                            },
                            "end": {
                              "line": 7,
                              "column": 30
                            }
                          },
                          "name": "Error"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 193,
                          "end": 196,
                          "loc": {
                            "start": {
                              "line": 7,
                              "column": 31
                            },
                            "end": {
                              "line": 7,
                              "column": 34
                            }
                          },
                          "name": "log"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Literal",
                          "start": 197,
                          "end": 237,
                          "loc": {
                            "start": {
                              "line": 7,
                              "column": 35
                            },
                            "end": {
                              "line": 7,
                              "column": 75
                            }
                          },
                          "value": "Factory was initialized without canvas",
                          "rawValue": "Factory was initialized without canvas",
                          "raw": "'Factory was initialized without canvas'"
                        }
                      ]
                    }
                  },
                  {
                    "type": "AssignmentPattern",
                    "start": 240,
                    "end": 252,
                    "loc": {
                      "start": {
                        "line": 7,
                        "column": 78
                      },
                      "end": {
                        "line": 7,
                        "column": 90
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 240,
                      "end": 247,
                      "loc": {
                        "start": {
                          "line": 7,
                          "column": 78
                        },
                        "end": {
                          "line": 7,
                          "column": 85
                        }
                      },
                      "name": "options"
                    },
                    "right": {
                      "type": "ObjectExpression",
                      "start": 250,
                      "end": 252,
                      "loc": {
                        "start": {
                          "line": 7,
                          "column": 88
                        },
                        "end": {
                          "line": 7,
                          "column": 90
                        }
                      },
                      "properties": []
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 254,
                  "end": 4999,
                  "loc": {
                    "start": {
                      "line": 7,
                      "column": 92
                    },
                    "end": {
                      "line": 129,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 265,
                      "end": 1195,
                      "loc": {
                        "start": {
                          "line": 9,
                          "column": 8
                        },
                        "end": {
                          "line": 29,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 265,
                        "end": 1194,
                        "loc": {
                          "start": {
                            "line": 9,
                            "column": 8
                          },
                          "end": {
                            "line": 29,
                            "column": 9
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 265,
                          "end": 272,
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 8
                            },
                            "end": {
                              "line": 9,
                              "column": 15
                            }
                          },
                          "name": "options"
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "start": 275,
                          "end": 1194,
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 18
                            },
                            "end": {
                              "line": 29,
                              "column": 9
                            }
                          },
                          "properties": [
                            {
                              "type": "Property",
                              "start": 289,
                              "end": 343,
                              "loc": {
                                "start": {
                                  "line": 10,
                                  "column": 12
                                },
                                "end": {
                                  "line": 10,
                                  "column": 66
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 289,
                                "end": 299,
                                "loc": {
                                  "start": {
                                    "line": 10,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 10,
                                    "column": 22
                                  }
                                },
                                "name": "resolution"
                              },
                              "value": {
                                "type": "LogicalExpression",
                                "start": 301,
                                "end": 343,
                                "loc": {
                                  "start": {
                                    "line": 10,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 10,
                                    "column": 66
                                  }
                                },
                                "left": {
                                  "type": "CallExpression",
                                  "start": 301,
                                  "end": 338,
                                  "loc": {
                                    "start": {
                                      "line": 10,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 10,
                                      "column": 61
                                    }
                                  },
                                  "callee": {
                                    "type": "Identifier",
                                    "start": 301,
                                    "end": 311,
                                    "loc": {
                                      "start": {
                                        "line": 10,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 10,
                                        "column": 34
                                      }
                                    },
                                    "name": "parseFloat"
                                  },
                                  "arguments": [
                                    {
                                      "type": "CallExpression",
                                      "start": 312,
                                      "end": 337,
                                      "loc": {
                                        "start": {
                                          "line": 10,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 10,
                                          "column": 60
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 312,
                                        "end": 323,
                                        "loc": {
                                          "start": {
                                            "line": 10,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 10,
                                            "column": 46
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 312,
                                          "end": 319,
                                          "loc": {
                                            "start": {
                                              "line": 10,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 10,
                                              "column": 42
                                            }
                                          },
                                          "name": "Helpers"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 320,
                                          "end": 323,
                                          "loc": {
                                            "start": {
                                              "line": 10,
                                              "column": 43
                                            },
                                            "end": {
                                              "line": 10,
                                              "column": 46
                                            }
                                          },
                                          "name": "url"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Literal",
                                          "start": 324,
                                          "end": 336,
                                          "loc": {
                                            "start": {
                                              "line": 10,
                                              "column": 47
                                            },
                                            "end": {
                                              "line": 10,
                                              "column": 59
                                            }
                                          },
                                          "value": "resolution",
                                          "rawValue": "resolution",
                                          "raw": "'resolution'"
                                        }
                                      ]
                                    }
                                  ]
                                },
                                "operator": "||",
                                "right": {
                                  "type": "Literal",
                                  "start": 342,
                                  "end": 343,
                                  "loc": {
                                    "start": {
                                      "line": 10,
                                      "column": 65
                                    },
                                    "end": {
                                      "line": 10,
                                      "column": 66
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                }
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 357,
                              "end": 401,
                              "loc": {
                                "start": {
                                  "line": 11,
                                  "column": 12
                                },
                                "end": {
                                  "line": 11,
                                  "column": 56
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 357,
                                "end": 366,
                                "loc": {
                                  "start": {
                                    "line": 11,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 11,
                                    "column": 21
                                  }
                                },
                                "name": "pixelated"
                              },
                              "value": {
                                "type": "LogicalExpression",
                                "start": 368,
                                "end": 401,
                                "loc": {
                                  "start": {
                                    "line": 11,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 11,
                                    "column": 56
                                  }
                                },
                                "left": {
                                  "type": "CallExpression",
                                  "start": 368,
                                  "end": 392,
                                  "loc": {
                                    "start": {
                                      "line": 11,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 11,
                                      "column": 47
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 368,
                                    "end": 379,
                                    "loc": {
                                      "start": {
                                        "line": 11,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 11,
                                        "column": 34
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 368,
                                      "end": 375,
                                      "loc": {
                                        "start": {
                                          "line": 11,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 11,
                                          "column": 30
                                        }
                                      },
                                      "name": "Helpers"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 376,
                                      "end": 379,
                                      "loc": {
                                        "start": {
                                          "line": 11,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 11,
                                          "column": 34
                                        }
                                      },
                                      "name": "url"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Literal",
                                      "start": 380,
                                      "end": 391,
                                      "loc": {
                                        "start": {
                                          "line": 11,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 11,
                                          "column": 46
                                        }
                                      },
                                      "value": "pixelated",
                                      "rawValue": "pixelated",
                                      "raw": "'pixelated'"
                                    }
                                  ]
                                },
                                "operator": "||",
                                "right": {
                                  "type": "Literal",
                                  "start": 396,
                                  "end": 401,
                                  "loc": {
                                    "start": {
                                      "line": 11,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 11,
                                      "column": 56
                                    }
                                  },
                                  "value": false,
                                  "rawValue": false,
                                  "raw": "false"
                                }
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 415,
                              "end": 445,
                              "loc": {
                                "start": {
                                  "line": 12,
                                  "column": 12
                                },
                                "end": {
                                  "line": 12,
                                  "column": 42
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 415,
                                "end": 425,
                                "loc": {
                                  "start": {
                                    "line": 12,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 12,
                                    "column": 22
                                  }
                                },
                                "name": "clearColor"
                              },
                              "value": {
                                "type": "NewExpression",
                                "start": 427,
                                "end": 445,
                                "loc": {
                                  "start": {
                                    "line": 12,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 12,
                                    "column": 42
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 431,
                                  "end": 442,
                                  "loc": {
                                    "start": {
                                      "line": 12,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 12,
                                      "column": 39
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 431,
                                    "end": 436,
                                    "loc": {
                                      "start": {
                                        "line": 12,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 12,
                                        "column": 33
                                      }
                                    },
                                    "name": "THREE"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 437,
                                    "end": 442,
                                    "loc": {
                                      "start": {
                                        "line": 12,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 12,
                                        "column": 39
                                      }
                                    },
                                    "name": "Color"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 443,
                                    "end": 444,
                                    "loc": {
                                      "start": {
                                        "line": 12,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 12,
                                        "column": 41
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  }
                                ]
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 459,
                              "end": 473,
                              "loc": {
                                "start": {
                                  "line": 13,
                                  "column": 12
                                },
                                "end": {
                                  "line": 13,
                                  "column": 26
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 459,
                                "end": 464,
                                "loc": {
                                  "start": {
                                    "line": 13,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 13,
                                    "column": 17
                                  }
                                },
                                "name": "place"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 466,
                                "end": 473,
                                "loc": {
                                  "start": {
                                    "line": 13,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 13,
                                    "column": 26
                                  }
                                },
                                "value": "first",
                                "rawValue": "first",
                                "raw": "'first'"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 487,
                              "end": 509,
                              "loc": {
                                "start": {
                                  "line": 14,
                                  "column": 12
                                },
                                "end": {
                                  "line": 14,
                                  "column": 34
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 487,
                                "end": 503,
                                "loc": {
                                  "start": {
                                    "line": 14,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 14,
                                    "column": 28
                                  }
                                },
                                "name": "startImmediately"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 505,
                                "end": 509,
                                "loc": {
                                  "start": {
                                    "line": 14,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 14,
                                    "column": 34
                                  }
                                },
                                "value": true,
                                "rawValue": true,
                                "raw": "true"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 523,
                              "end": 541,
                              "loc": {
                                "start": {
                                  "line": 15,
                                  "column": 12
                                },
                                "end": {
                                  "line": 15,
                                  "column": 30
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 523,
                                "end": 532,
                                "loc": {
                                  "start": {
                                    "line": 15,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 15,
                                    "column": 21
                                  }
                                },
                                "name": "precision"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 534,
                                "end": 541,
                                "loc": {
                                  "start": {
                                    "line": 15,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 15,
                                    "column": 30
                                  }
                                },
                                "value": "highp",
                                "rawValue": "highp",
                                "raw": "'highp'"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 555,
                              "end": 579,
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 12
                                },
                                "end": {
                                  "line": 16,
                                  "column": 36
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 555,
                                "end": 573,
                                "loc": {
                                  "start": {
                                    "line": 16,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 16,
                                    "column": 30
                                  }
                                },
                                "name": "premultipliedAlpha"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 575,
                                "end": 579,
                                "loc": {
                                  "start": {
                                    "line": 16,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 16,
                                    "column": 36
                                  }
                                },
                                "value": true,
                                "rawValue": true,
                                "raw": "true"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 593,
                              "end": 606,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 12
                                },
                                "end": {
                                  "line": 17,
                                  "column": 25
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 593,
                                "end": 600,
                                "loc": {
                                  "start": {
                                    "line": 17,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 17,
                                    "column": 19
                                  }
                                },
                                "name": "stencil"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 602,
                                "end": 606,
                                "loc": {
                                  "start": {
                                    "line": 17,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 17,
                                    "column": 25
                                  }
                                },
                                "value": true,
                                "rawValue": true,
                                "raw": "true"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 620,
                              "end": 631,
                              "loc": {
                                "start": {
                                  "line": 18,
                                  "column": 12
                                },
                                "end": {
                                  "line": 18,
                                  "column": 23
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 620,
                                "end": 625,
                                "loc": {
                                  "start": {
                                    "line": 18,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 18,
                                    "column": 17
                                  }
                                },
                                "name": "depth"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 627,
                                "end": 631,
                                "loc": {
                                  "start": {
                                    "line": 18,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 18,
                                    "column": 23
                                  }
                                },
                                "value": true,
                                "rawValue": true,
                                "raw": "true"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 645,
                              "end": 672,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 12
                                },
                                "end": {
                                  "line": 19,
                                  "column": 39
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 645,
                                "end": 666,
                                "loc": {
                                  "start": {
                                    "line": 19,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 19,
                                    "column": 33
                                  }
                                },
                                "name": "preserveDrawingBuffer"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 668,
                                "end": 672,
                                "loc": {
                                  "start": {
                                    "line": 19,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 19,
                                    "column": 39
                                  }
                                },
                                "value": true,
                                "rawValue": true,
                                "raw": "true"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 686,
                              "end": 697,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 12
                                },
                                "end": {
                                  "line": 20,
                                  "column": 23
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 686,
                                "end": 691,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 17
                                  }
                                },
                                "name": "alpha"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 693,
                                "end": 697,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 23
                                  }
                                },
                                "value": true,
                                "rawValue": true,
                                "raw": "true"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 711,
                              "end": 726,
                              "loc": {
                                "start": {
                                  "line": 21,
                                  "column": 12
                                },
                                "end": {
                                  "line": 21,
                                  "column": 27
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 711,
                                "end": 720,
                                "loc": {
                                  "start": {
                                    "line": 21,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 21,
                                    "column": 21
                                  }
                                },
                                "name": "antialias"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 722,
                                "end": 726,
                                "loc": {
                                  "start": {
                                    "line": 21,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 21,
                                    "column": 27
                                  }
                                },
                                "value": true,
                                "rawValue": true,
                                "raw": "true"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 740,
                              "end": 769,
                              "loc": {
                                "start": {
                                  "line": 22,
                                  "column": 12
                                },
                                "end": {
                                  "line": 22,
                                  "column": 41
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 740,
                                "end": 762,
                                "loc": {
                                  "start": {
                                    "line": 22,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 22,
                                    "column": 34
                                  }
                                },
                                "name": "logarithmicDepthBuffer"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 764,
                                "end": 769,
                                "loc": {
                                  "start": {
                                    "line": 22,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 22,
                                    "column": 41
                                  }
                                },
                                "value": false,
                                "rawValue": false,
                                "raw": "false"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 783,
                              "end": 800,
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 12
                                },
                                "end": {
                                  "line": 23,
                                  "column": 29
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 783,
                                "end": 794,
                                "loc": {
                                  "start": {
                                    "line": 23,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 23,
                                    "column": 23
                                  }
                                },
                                "name": "sortObjects"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 796,
                                "end": 800,
                                "loc": {
                                  "start": {
                                    "line": 23,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 23,
                                    "column": 29
                                  }
                                },
                                "value": true,
                                "rawValue": true,
                                "raw": "true"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 814,
                              "end": 830,
                              "loc": {
                                "start": {
                                  "line": 24,
                                  "column": 12
                                },
                                "end": {
                                  "line": 24,
                                  "column": 28
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 814,
                                "end": 823,
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 21
                                  }
                                },
                                "name": "autoClear"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 825,
                                "end": 830,
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 28
                                  }
                                },
                                "value": false,
                                "rawValue": false,
                                "raw": "false"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 844,
                              "end": 1077,
                              "loc": {
                                "start": {
                                  "line": 25,
                                  "column": 12
                                },
                                "end": {
                                  "line": 25,
                                  "column": 245
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 844,
                                "end": 855,
                                "loc": {
                                  "start": {
                                    "line": 25,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 25,
                                    "column": 23
                                  }
                                },
                                "name": "canvasStyle"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 857,
                                "end": 1077,
                                "loc": {
                                  "start": {
                                    "line": 25,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 25,
                                    "column": 245
                                  }
                                },
                                "value": "position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; overflow: hidden; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none;",
                                "rawValue": "position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; overflow: hidden; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none;",
                                "raw": "'position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; overflow: hidden; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none;'"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 1091,
                              "end": 1113,
                              "loc": {
                                "start": {
                                  "line": 26,
                                  "column": 12
                                },
                                "end": {
                                  "line": 26,
                                  "column": 34
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 1091,
                                "end": 1107,
                                "loc": {
                                  "start": {
                                    "line": 26,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 26,
                                    "column": 28
                                  }
                                },
                                "name": "shadowMapEnabled"
                              },
                              "value": {
                                "type": "Literal",
                                "start": 1109,
                                "end": 1113,
                                "loc": {
                                  "start": {
                                    "line": 26,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 26,
                                    "column": 34
                                  }
                                },
                                "value": true,
                                "rawValue": true,
                                "raw": "true"
                              },
                              "kind": "init"
                            },
                            {
                              "type": "Property",
                              "start": 1127,
                              "end": 1160,
                              "loc": {
                                "start": {
                                  "line": 27,
                                  "column": 12
                                },
                                "end": {
                                  "line": 27,
                                  "column": 45
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 1127,
                                "end": 1140,
                                "loc": {
                                  "start": {
                                    "line": 27,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 27,
                                    "column": 25
                                  }
                                },
                                "name": "shadowMapType"
                              },
                              "value": {
                                "type": "MemberExpression",
                                "start": 1142,
                                "end": 1160,
                                "loc": {
                                  "start": {
                                    "line": 27,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 27,
                                    "column": 45
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1142,
                                  "end": 1147,
                                  "loc": {
                                    "start": {
                                      "line": 27,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 27,
                                      "column": 32
                                    }
                                  },
                                  "name": "THREE"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1148,
                                  "end": 1160,
                                  "loc": {
                                    "start": {
                                      "line": 27,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 27,
                                      "column": 45
                                    }
                                  },
                                  "name": "PCFShadowMap"
                                },
                                "computed": false
                              },
                              "kind": "init"
                            },
                            {
                              "type": "SpreadProperty",
                              "start": 1174,
                              "end": 1184,
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 12
                                },
                                "end": {
                                  "line": 28,
                                  "column": 22
                                }
                              },
                              "argument": {
                                "type": "Identifier",
                                "start": 1177,
                                "end": 1184,
                                "loc": {
                                  "start": {
                                    "line": 28,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 28,
                                    "column": 22
                                  }
                                },
                                "name": "options"
                              }
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1205,
                      "end": 1226,
                      "loc": {
                        "start": {
                          "line": 31,
                          "column": 8
                        },
                        "end": {
                          "line": 31,
                          "column": 29
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1205,
                        "end": 1225,
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 8
                          },
                          "end": {
                            "line": 31,
                            "column": 28
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1205,
                          "end": 1216,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 8
                            },
                            "end": {
                              "line": 31,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1205,
                            "end": 1209,
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 8
                              },
                              "end": {
                                "line": 31,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1210,
                            "end": 1216,
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 13
                              },
                              "end": {
                                "line": 31,
                                "column": 19
                              }
                            },
                            "name": "canvas"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 1219,
                          "end": 1225,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 22
                            },
                            "end": {
                              "line": 31,
                              "column": 28
                            }
                          },
                          "name": "canvas"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1235,
                      "end": 1272,
                      "loc": {
                        "start": {
                          "line": 32,
                          "column": 8
                        },
                        "end": {
                          "line": 32,
                          "column": 45
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1235,
                        "end": 1271,
                        "loc": {
                          "start": {
                            "line": 32,
                            "column": 8
                          },
                          "end": {
                            "line": 32,
                            "column": 44
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1235,
                          "end": 1250,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 8
                            },
                            "end": {
                              "line": 32,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1235,
                            "end": 1239,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 8
                              },
                              "end": {
                                "line": 32,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1240,
                            "end": 1250,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 13
                              },
                              "end": {
                                "line": 32,
                                "column": 23
                              }
                            },
                            "name": "resolution"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 1253,
                          "end": 1271,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 26
                            },
                            "end": {
                              "line": 32,
                              "column": 44
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1253,
                            "end": 1260,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 26
                              },
                              "end": {
                                "line": 32,
                                "column": 33
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1261,
                            "end": 1271,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 34
                              },
                              "end": {
                                "line": 32,
                                "column": 44
                              }
                            },
                            "name": "resolution"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1281,
                      "end": 1318,
                      "loc": {
                        "start": {
                          "line": 33,
                          "column": 8
                        },
                        "end": {
                          "line": 33,
                          "column": 45
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1281,
                        "end": 1317,
                        "loc": {
                          "start": {
                            "line": 33,
                            "column": 8
                          },
                          "end": {
                            "line": 33,
                            "column": 44
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1281,
                          "end": 1296,
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 8
                            },
                            "end": {
                              "line": 33,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1281,
                            "end": 1285,
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 8
                              },
                              "end": {
                                "line": 33,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1286,
                            "end": 1296,
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 13
                              },
                              "end": {
                                "line": 33,
                                "column": 23
                              }
                            },
                            "name": "clearColor"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 1299,
                          "end": 1317,
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 26
                            },
                            "end": {
                              "line": 33,
                              "column": 44
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1299,
                            "end": 1306,
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 26
                              },
                              "end": {
                                "line": 33,
                                "column": 33
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1307,
                            "end": 1317,
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 34
                              },
                              "end": {
                                "line": 33,
                                "column": 44
                              }
                            },
                            "name": "clearColor"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1328,
                      "end": 1758,
                      "loc": {
                        "start": {
                          "line": 35,
                          "column": 8
                        },
                        "end": {
                          "line": 44,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1328,
                        "end": 1757,
                        "loc": {
                          "start": {
                            "line": 35,
                            "column": 8
                          },
                          "end": {
                            "line": 44,
                            "column": 10
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1328,
                          "end": 1335,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 8
                            },
                            "end": {
                              "line": 35,
                              "column": 15
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1328,
                            "end": 1332,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 8
                              },
                              "end": {
                                "line": 35,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1333,
                            "end": 1335,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 13
                              },
                              "end": {
                                "line": 35,
                                "column": 15
                              }
                            },
                            "name": "gl"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 1338,
                          "end": 1757,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 18
                            },
                            "end": {
                              "line": 44,
                              "column": 10
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1342,
                            "end": 1361,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 22
                              },
                              "end": {
                                "line": 35,
                                "column": 41
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1342,
                              "end": 1347,
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 22
                                },
                                "end": {
                                  "line": 35,
                                  "column": 27
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1348,
                              "end": 1361,
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 28
                                },
                                "end": {
                                  "line": 35,
                                  "column": 41
                                }
                              },
                              "name": "WebGLRenderer"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ObjectExpression",
                              "start": 1362,
                              "end": 1756,
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 42
                                },
                                "end": {
                                  "line": 44,
                                  "column": 9
                                }
                              },
                              "properties": [
                                {
                                  "type": "Property",
                                  "start": 1376,
                                  "end": 1404,
                                  "loc": {
                                    "start": {
                                      "line": 36,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 36,
                                      "column": 40
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 1376,
                                    "end": 1385,
                                    "loc": {
                                      "start": {
                                        "line": 36,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 36,
                                        "column": 21
                                      }
                                    },
                                    "name": "precision"
                                  },
                                  "value": {
                                    "type": "MemberExpression",
                                    "start": 1387,
                                    "end": 1404,
                                    "loc": {
                                      "start": {
                                        "line": 36,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 36,
                                        "column": 40
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 1387,
                                      "end": 1394,
                                      "loc": {
                                        "start": {
                                          "line": 36,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 36,
                                          "column": 30
                                        }
                                      },
                                      "name": "options"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1395,
                                      "end": 1404,
                                      "loc": {
                                        "start": {
                                          "line": 36,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 36,
                                          "column": 40
                                        }
                                      },
                                      "name": "precision"
                                    },
                                    "computed": false
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 1418,
                                  "end": 1464,
                                  "loc": {
                                    "start": {
                                      "line": 37,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 37,
                                      "column": 58
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 1418,
                                    "end": 1436,
                                    "loc": {
                                      "start": {
                                        "line": 37,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 37,
                                        "column": 30
                                      }
                                    },
                                    "name": "premultipliedAlpha"
                                  },
                                  "value": {
                                    "type": "MemberExpression",
                                    "start": 1438,
                                    "end": 1464,
                                    "loc": {
                                      "start": {
                                        "line": 37,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 37,
                                        "column": 58
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 1438,
                                      "end": 1445,
                                      "loc": {
                                        "start": {
                                          "line": 37,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 37,
                                          "column": 39
                                        }
                                      },
                                      "name": "options"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1446,
                                      "end": 1464,
                                      "loc": {
                                        "start": {
                                          "line": 37,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 37,
                                          "column": 58
                                        }
                                      },
                                      "name": "premultipliedAlpha"
                                    },
                                    "computed": false
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 1478,
                                  "end": 1502,
                                  "loc": {
                                    "start": {
                                      "line": 38,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 38,
                                      "column": 36
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 1478,
                                    "end": 1485,
                                    "loc": {
                                      "start": {
                                        "line": 38,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 38,
                                        "column": 19
                                      }
                                    },
                                    "name": "stencil"
                                  },
                                  "value": {
                                    "type": "MemberExpression",
                                    "start": 1487,
                                    "end": 1502,
                                    "loc": {
                                      "start": {
                                        "line": 38,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 38,
                                        "column": 36
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 1487,
                                      "end": 1494,
                                      "loc": {
                                        "start": {
                                          "line": 38,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 38,
                                          "column": 28
                                        }
                                      },
                                      "name": "options"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1495,
                                      "end": 1502,
                                      "loc": {
                                        "start": {
                                          "line": 38,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 38,
                                          "column": 36
                                        }
                                      },
                                      "name": "stencil"
                                    },
                                    "computed": false
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 1516,
                                  "end": 1536,
                                  "loc": {
                                    "start": {
                                      "line": 39,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 39,
                                      "column": 32
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 1516,
                                    "end": 1521,
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 17
                                      }
                                    },
                                    "name": "depth"
                                  },
                                  "value": {
                                    "type": "MemberExpression",
                                    "start": 1523,
                                    "end": 1536,
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 32
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 1523,
                                      "end": 1530,
                                      "loc": {
                                        "start": {
                                          "line": 39,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 39,
                                          "column": 26
                                        }
                                      },
                                      "name": "options"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1531,
                                      "end": 1536,
                                      "loc": {
                                        "start": {
                                          "line": 39,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 39,
                                          "column": 32
                                        }
                                      },
                                      "name": "depth"
                                    },
                                    "computed": false
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 1550,
                                  "end": 1602,
                                  "loc": {
                                    "start": {
                                      "line": 40,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 40,
                                      "column": 64
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 1550,
                                    "end": 1571,
                                    "loc": {
                                      "start": {
                                        "line": 40,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 40,
                                        "column": 33
                                      }
                                    },
                                    "name": "preserveDrawingBuffer"
                                  },
                                  "value": {
                                    "type": "MemberExpression",
                                    "start": 1573,
                                    "end": 1602,
                                    "loc": {
                                      "start": {
                                        "line": 40,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 40,
                                        "column": 64
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 1573,
                                      "end": 1580,
                                      "loc": {
                                        "start": {
                                          "line": 40,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 40,
                                          "column": 42
                                        }
                                      },
                                      "name": "options"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1581,
                                      "end": 1602,
                                      "loc": {
                                        "start": {
                                          "line": 40,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 40,
                                          "column": 64
                                        }
                                      },
                                      "name": "preserveDrawingBuffer"
                                    },
                                    "computed": false
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 1616,
                                  "end": 1636,
                                  "loc": {
                                    "start": {
                                      "line": 41,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 41,
                                      "column": 32
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 1616,
                                    "end": 1621,
                                    "loc": {
                                      "start": {
                                        "line": 41,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 41,
                                        "column": 17
                                      }
                                    },
                                    "name": "alpha"
                                  },
                                  "value": {
                                    "type": "MemberExpression",
                                    "start": 1623,
                                    "end": 1636,
                                    "loc": {
                                      "start": {
                                        "line": 41,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 41,
                                        "column": 32
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 1623,
                                      "end": 1630,
                                      "loc": {
                                        "start": {
                                          "line": 41,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 41,
                                          "column": 26
                                        }
                                      },
                                      "name": "options"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1631,
                                      "end": 1636,
                                      "loc": {
                                        "start": {
                                          "line": 41,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 41,
                                          "column": 32
                                        }
                                      },
                                      "name": "alpha"
                                    },
                                    "computed": false
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 1650,
                                  "end": 1678,
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 40
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 1650,
                                    "end": 1659,
                                    "loc": {
                                      "start": {
                                        "line": 42,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 42,
                                        "column": 21
                                      }
                                    },
                                    "name": "antialias"
                                  },
                                  "value": {
                                    "type": "MemberExpression",
                                    "start": 1661,
                                    "end": 1678,
                                    "loc": {
                                      "start": {
                                        "line": 42,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 42,
                                        "column": 40
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 1661,
                                      "end": 1668,
                                      "loc": {
                                        "start": {
                                          "line": 42,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 42,
                                          "column": 30
                                        }
                                      },
                                      "name": "options"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1669,
                                      "end": 1678,
                                      "loc": {
                                        "start": {
                                          "line": 42,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 42,
                                          "column": 40
                                        }
                                      },
                                      "name": "antialias"
                                    },
                                    "computed": false
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 1692,
                                  "end": 1746,
                                  "loc": {
                                    "start": {
                                      "line": 43,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 43,
                                      "column": 66
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 1692,
                                    "end": 1714,
                                    "loc": {
                                      "start": {
                                        "line": 43,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 43,
                                        "column": 34
                                      }
                                    },
                                    "name": "logarithmicDepthBuffer"
                                  },
                                  "value": {
                                    "type": "MemberExpression",
                                    "start": 1716,
                                    "end": 1746,
                                    "loc": {
                                      "start": {
                                        "line": 43,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 43,
                                        "column": 66
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 1716,
                                      "end": 1723,
                                      "loc": {
                                        "start": {
                                          "line": 43,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 43,
                                          "column": 43
                                        }
                                      },
                                      "name": "options"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1724,
                                      "end": 1746,
                                      "loc": {
                                        "start": {
                                          "line": 43,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 43,
                                          "column": 66
                                        }
                                      },
                                      "name": "logarithmicDepthBuffer"
                                    },
                                    "computed": false
                                  },
                                  "kind": "init"
                                }
                              ]
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1768,
                      "end": 1802,
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 8
                        },
                        "end": {
                          "line": 46,
                          "column": 42
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1768,
                        "end": 1801,
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 8
                          },
                          "end": {
                            "line": 46,
                            "column": 41
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1768,
                          "end": 1780,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 8
                            },
                            "end": {
                              "line": 46,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1768,
                            "end": 1772,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 8
                              },
                              "end": {
                                "line": 46,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1773,
                            "end": 1780,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 13
                              },
                              "end": {
                                "line": 46,
                                "column": 20
                              }
                            },
                            "name": "context"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 1783,
                          "end": 1801,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 23
                            },
                            "end": {
                              "line": 46,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1783,
                            "end": 1790,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 23
                              },
                              "end": {
                                "line": 46,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1783,
                              "end": 1787,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 23
                                },
                                "end": {
                                  "line": 46,
                                  "column": 27
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1788,
                              "end": 1790,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 28
                                },
                                "end": {
                                  "line": 46,
                                  "column": 30
                                }
                              },
                              "name": "gl"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1791,
                            "end": 1801,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 31
                              },
                              "end": {
                                "line": 46,
                                "column": 41
                              }
                            },
                            "name": "domElement"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1811,
                      "end": 1867,
                      "loc": {
                        "start": {
                          "line": 47,
                          "column": 8
                        },
                        "end": {
                          "line": 47,
                          "column": 64
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1811,
                        "end": 1866,
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 8
                          },
                          "end": {
                            "line": 47,
                            "column": 63
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1811,
                          "end": 1836,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 8
                            },
                            "end": {
                              "line": 47,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1811,
                            "end": 1823,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 8
                              },
                              "end": {
                                "line": 47,
                                "column": 20
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1811,
                              "end": 1815,
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 8
                                },
                                "end": {
                                  "line": 47,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1816,
                              "end": 1823,
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 13
                                },
                                "end": {
                                  "line": 47,
                                  "column": 20
                                }
                              },
                              "name": "context"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1824,
                            "end": 1836,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 21
                              },
                              "end": {
                                "line": 47,
                                "column": 33
                              }
                            },
                            "name": "setAttribute"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 1837,
                            "end": 1844,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 34
                              },
                              "end": {
                                "line": 47,
                                "column": 41
                              }
                            },
                            "value": "style",
                            "rawValue": "style",
                            "raw": "'style'"
                          },
                          {
                            "type": "MemberExpression",
                            "start": 1846,
                            "end": 1865,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 43
                              },
                              "end": {
                                "line": 47,
                                "column": 62
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1846,
                              "end": 1853,
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 43
                                },
                                "end": {
                                  "line": 47,
                                  "column": 50
                                }
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1854,
                              "end": 1865,
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 51
                                },
                                "end": {
                                  "line": 47,
                                  "column": 62
                                }
                              },
                              "name": "canvasStyle"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 1877,
                      "end": 1962,
                      "loc": {
                        "start": {
                          "line": 49,
                          "column": 8
                        },
                        "end": {
                          "line": 50,
                          "column": 60
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 1881,
                        "end": 1900,
                        "loc": {
                          "start": {
                            "line": 49,
                            "column": 12
                          },
                          "end": {
                            "line": 49,
                            "column": 31
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "UnaryExpression",
                          "start": 1882,
                          "end": 1900,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 13
                            },
                            "end": {
                              "line": 49,
                              "column": 31
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "MemberExpression",
                            "start": 1883,
                            "end": 1900,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 14
                              },
                              "end": {
                                "line": 49,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1883,
                              "end": 1890,
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 14
                                },
                                "end": {
                                  "line": 49,
                                  "column": 21
                                }
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1891,
                              "end": 1900,
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 22
                                },
                                "end": {
                                  "line": 49,
                                  "column": 31
                                }
                              },
                              "name": "pixelated"
                            },
                            "computed": false
                          }
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 1914,
                        "end": 1962,
                        "loc": {
                          "start": {
                            "line": 50,
                            "column": 12
                          },
                          "end": {
                            "line": 50,
                            "column": 60
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 1914,
                          "end": 1961,
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 12
                            },
                            "end": {
                              "line": 50,
                              "column": 59
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 1914,
                            "end": 1947,
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 12
                              },
                              "end": {
                                "line": 50,
                                "column": 45
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1914,
                              "end": 1932,
                              "loc": {
                                "start": {
                                  "line": 50,
                                  "column": 12
                                },
                                "end": {
                                  "line": 50,
                                  "column": 30
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 1914,
                                "end": 1926,
                                "loc": {
                                  "start": {
                                    "line": 50,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 50,
                                    "column": 24
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 1914,
                                  "end": 1918,
                                  "loc": {
                                    "start": {
                                      "line": 50,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 50,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1919,
                                  "end": 1926,
                                  "loc": {
                                    "start": {
                                      "line": 50,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 50,
                                      "column": 24
                                    }
                                  },
                                  "name": "context"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1927,
                                "end": 1932,
                                "loc": {
                                  "start": {
                                    "line": 50,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 50,
                                    "column": 30
                                  }
                                },
                                "name": "style"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1933,
                              "end": 1947,
                              "loc": {
                                "start": {
                                  "line": 50,
                                  "column": 31
                                },
                                "end": {
                                  "line": 50,
                                  "column": 45
                                }
                              },
                              "name": "imageRendering"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "Literal",
                            "start": 1950,
                            "end": 1961,
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 48
                              },
                              "end": {
                                "line": 50,
                                "column": 59
                              }
                            },
                            "value": "pixelated",
                            "rawValue": "pixelated",
                            "raw": "'pixelated'"
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1972,
                      "end": 2014,
                      "loc": {
                        "start": {
                          "line": 52,
                          "column": 8
                        },
                        "end": {
                          "line": 52,
                          "column": 50
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1972,
                        "end": 2013,
                        "loc": {
                          "start": {
                            "line": 52,
                            "column": 8
                          },
                          "end": {
                            "line": 52,
                            "column": 49
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1972,
                          "end": 1991,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 8
                            },
                            "end": {
                              "line": 52,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1972,
                            "end": 1979,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 8
                              },
                              "end": {
                                "line": 52,
                                "column": 15
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1972,
                              "end": 1976,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 8
                                },
                                "end": {
                                  "line": 52,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1977,
                              "end": 1979,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 13
                                },
                                "end": {
                                  "line": 52,
                                  "column": 15
                                }
                              },
                              "name": "gl"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1980,
                            "end": 1991,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 16
                              },
                              "end": {
                                "line": 52,
                                "column": 27
                              }
                            },
                            "name": "sortObjects"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 1994,
                          "end": 2013,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 30
                            },
                            "end": {
                              "line": 52,
                              "column": 49
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1994,
                            "end": 2001,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 30
                              },
                              "end": {
                                "line": 52,
                                "column": 37
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2002,
                            "end": 2013,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 38
                              },
                              "end": {
                                "line": 52,
                                "column": 49
                              }
                            },
                            "name": "sortObjects"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2023,
                      "end": 2061,
                      "loc": {
                        "start": {
                          "line": 53,
                          "column": 8
                        },
                        "end": {
                          "line": 53,
                          "column": 46
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2023,
                        "end": 2060,
                        "loc": {
                          "start": {
                            "line": 53,
                            "column": 8
                          },
                          "end": {
                            "line": 53,
                            "column": 45
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2023,
                          "end": 2040,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 8
                            },
                            "end": {
                              "line": 53,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2023,
                            "end": 2030,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 8
                              },
                              "end": {
                                "line": 53,
                                "column": 15
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2023,
                              "end": 2027,
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 8
                                },
                                "end": {
                                  "line": 53,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2028,
                              "end": 2030,
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 13
                                },
                                "end": {
                                  "line": 53,
                                  "column": 15
                                }
                              },
                              "name": "gl"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2031,
                            "end": 2040,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 16
                              },
                              "end": {
                                "line": 53,
                                "column": 25
                              }
                            },
                            "name": "autoClear"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 2043,
                          "end": 2060,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 28
                            },
                            "end": {
                              "line": 53,
                              "column": 45
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2043,
                            "end": 2050,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 28
                              },
                              "end": {
                                "line": 53,
                                "column": 35
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2051,
                            "end": 2060,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 36
                              },
                              "end": {
                                "line": 53,
                                "column": 45
                              }
                            },
                            "name": "autoClear"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2070,
                      "end": 2123,
                      "loc": {
                        "start": {
                          "line": 54,
                          "column": 8
                        },
                        "end": {
                          "line": 54,
                          "column": 61
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2070,
                        "end": 2122,
                        "loc": {
                          "start": {
                            "line": 54,
                            "column": 8
                          },
                          "end": {
                            "line": 54,
                            "column": 60
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2070,
                          "end": 2095,
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 8
                            },
                            "end": {
                              "line": 54,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2070,
                            "end": 2087,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 8
                              },
                              "end": {
                                "line": 54,
                                "column": 25
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 2070,
                              "end": 2077,
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 8
                                },
                                "end": {
                                  "line": 54,
                                  "column": 15
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2070,
                                "end": 2074,
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2075,
                                "end": 2077,
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 15
                                  }
                                },
                                "name": "gl"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2078,
                              "end": 2087,
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 16
                                },
                                "end": {
                                  "line": 54,
                                  "column": 25
                                }
                              },
                              "name": "shadowMap"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2088,
                            "end": 2095,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 26
                              },
                              "end": {
                                "line": 54,
                                "column": 33
                              }
                            },
                            "name": "enabled"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 2098,
                          "end": 2122,
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 36
                            },
                            "end": {
                              "line": 54,
                              "column": 60
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2098,
                            "end": 2105,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 36
                              },
                              "end": {
                                "line": 54,
                                "column": 43
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2106,
                            "end": 2122,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 44
                              },
                              "end": {
                                "line": 54,
                                "column": 60
                              }
                            },
                            "name": "shadowMapEnabled"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2132,
                      "end": 2179,
                      "loc": {
                        "start": {
                          "line": 55,
                          "column": 8
                        },
                        "end": {
                          "line": 55,
                          "column": 55
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2132,
                        "end": 2178,
                        "loc": {
                          "start": {
                            "line": 55,
                            "column": 8
                          },
                          "end": {
                            "line": 55,
                            "column": 54
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2132,
                          "end": 2154,
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 8
                            },
                            "end": {
                              "line": 55,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2132,
                            "end": 2149,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 8
                              },
                              "end": {
                                "line": 55,
                                "column": 25
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 2132,
                              "end": 2139,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 8
                                },
                                "end": {
                                  "line": 55,
                                  "column": 15
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2132,
                                "end": 2136,
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2137,
                                "end": 2139,
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 15
                                  }
                                },
                                "name": "gl"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2140,
                              "end": 2149,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 16
                                },
                                "end": {
                                  "line": 55,
                                  "column": 25
                                }
                              },
                              "name": "shadowMap"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2150,
                            "end": 2154,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 26
                              },
                              "end": {
                                "line": 55,
                                "column": 30
                              }
                            },
                            "name": "type"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 2157,
                          "end": 2178,
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 33
                            },
                            "end": {
                              "line": 55,
                              "column": 54
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2157,
                            "end": 2164,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 33
                              },
                              "end": {
                                "line": 55,
                                "column": 40
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2165,
                            "end": 2178,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 41
                              },
                              "end": {
                                "line": 55,
                                "column": 54
                              }
                            },
                            "name": "shadowMapType"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 2189,
                      "end": 2355,
                      "loc": {
                        "start": {
                          "line": 57,
                          "column": 8
                        },
                        "end": {
                          "line": 60,
                          "column": 73
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 2193,
                        "end": 2217,
                        "loc": {
                          "start": {
                            "line": 57,
                            "column": 12
                          },
                          "end": {
                            "line": 57,
                            "column": 36
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 2193,
                          "end": 2206,
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 12
                            },
                            "end": {
                              "line": 57,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2193,
                            "end": 2200,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 12
                              },
                              "end": {
                                "line": 57,
                                "column": 19
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2201,
                            "end": 2206,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 20
                              },
                              "end": {
                                "line": 57,
                                "column": 25
                              }
                            },
                            "name": "place"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Literal",
                          "start": 2211,
                          "end": 2217,
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 30
                            },
                            "end": {
                              "line": 57,
                              "column": 36
                            }
                          },
                          "value": "last",
                          "rawValue": "last",
                          "raw": "'last'"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 2231,
                        "end": 2268,
                        "loc": {
                          "start": {
                            "line": 58,
                            "column": 12
                          },
                          "end": {
                            "line": 58,
                            "column": 49
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 2231,
                          "end": 2267,
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 12
                            },
                            "end": {
                              "line": 58,
                              "column": 48
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2231,
                            "end": 2253,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 12
                              },
                              "end": {
                                "line": 58,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 2231,
                              "end": 2241,
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 12
                                },
                                "end": {
                                  "line": 58,
                                  "column": 22
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2231,
                                "end": 2237,
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 18
                                  }
                                },
                                "name": "canvas"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2238,
                                "end": 2241,
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 22
                                  }
                                },
                                "name": "dom"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2242,
                              "end": 2253,
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 23
                                },
                                "end": {
                                  "line": 58,
                                  "column": 34
                                }
                              },
                              "name": "appendChild"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 2254,
                              "end": 2266,
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 35
                                },
                                "end": {
                                  "line": 58,
                                  "column": 47
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2254,
                                "end": 2258,
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 39
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2259,
                                "end": 2266,
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 47
                                  }
                                },
                                "name": "context"
                              },
                              "computed": false
                            }
                          ]
                        }
                      },
                      "alternate": {
                        "type": "ExpressionStatement",
                        "start": 2294,
                        "end": 2355,
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 12
                          },
                          "end": {
                            "line": 60,
                            "column": 73
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 2294,
                          "end": 2354,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 12
                            },
                            "end": {
                              "line": 60,
                              "column": 72
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2294,
                            "end": 2317,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 12
                              },
                              "end": {
                                "line": 60,
                                "column": 35
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 2294,
                              "end": 2304,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 12
                                },
                                "end": {
                                  "line": 60,
                                  "column": 22
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2294,
                                "end": 2300,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 18
                                  }
                                },
                                "name": "canvas"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2301,
                                "end": 2304,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 22
                                  }
                                },
                                "name": "dom"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2305,
                              "end": 2317,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 23
                                },
                                "end": {
                                  "line": 60,
                                  "column": 35
                                }
                              },
                              "name": "insertBefore"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 2318,
                              "end": 2330,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 36
                                },
                                "end": {
                                  "line": 60,
                                  "column": 48
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2318,
                                "end": 2322,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 40
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2323,
                                "end": 2330,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 48
                                  }
                                },
                                "name": "context"
                              },
                              "computed": false
                            },
                            {
                              "type": "MemberExpression",
                              "start": 2332,
                              "end": 2353,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 50
                                },
                                "end": {
                                  "line": 60,
                                  "column": 71
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 2332,
                                "end": 2342,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 50
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 60
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2332,
                                  "end": 2338,
                                  "loc": {
                                    "start": {
                                      "line": 60,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 60,
                                      "column": 56
                                    }
                                  },
                                  "name": "canvas"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2339,
                                  "end": 2342,
                                  "loc": {
                                    "start": {
                                      "line": 60,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 60,
                                      "column": 60
                                    }
                                  },
                                  "name": "dom"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2343,
                                "end": 2353,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 61
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 71
                                  }
                                },
                                "name": "firstChild"
                              },
                              "computed": false
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2365,
                      "end": 2427,
                      "loc": {
                        "start": {
                          "line": 62,
                          "column": 8
                        },
                        "end": {
                          "line": 62,
                          "column": 70
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2365,
                        "end": 2426,
                        "loc": {
                          "start": {
                            "line": 62,
                            "column": 8
                          },
                          "end": {
                            "line": 62,
                            "column": 69
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2365,
                          "end": 2388,
                          "loc": {
                            "start": {
                              "line": 62,
                              "column": 8
                            },
                            "end": {
                              "line": 62,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2365,
                            "end": 2371,
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 8
                              },
                              "end": {
                                "line": 62,
                                "column": 14
                              }
                            },
                            "name": "window"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2372,
                            "end": 2388,
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 15
                              },
                              "end": {
                                "line": 62,
                                "column": 31
                              }
                            },
                            "name": "addEventListener"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 2389,
                            "end": 2397,
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 32
                              },
                              "end": {
                                "line": 62,
                                "column": 40
                              }
                            },
                            "value": "resize",
                            "rawValue": "resize",
                            "raw": "'resize'"
                          },
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 2399,
                            "end": 2418,
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 42
                              },
                              "end": {
                                "line": 62,
                                "column": 61
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [],
                            "body": {
                              "type": "CallExpression",
                              "start": 2405,
                              "end": 2418,
                              "loc": {
                                "start": {
                                  "line": 62,
                                  "column": 48
                                },
                                "end": {
                                  "line": 62,
                                  "column": 61
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 2405,
                                "end": 2416,
                                "loc": {
                                  "start": {
                                    "line": 62,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 62,
                                    "column": 59
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 2405,
                                  "end": 2409,
                                  "loc": {
                                    "start": {
                                      "line": 62,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 62,
                                      "column": 52
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2410,
                                  "end": 2416,
                                  "loc": {
                                    "start": {
                                      "line": 62,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 62,
                                      "column": 59
                                    }
                                  },
                                  "name": "resize"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 2420,
                            "end": 2425,
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 63
                              },
                              "end": {
                                "line": 62,
                                "column": 68
                              }
                            },
                            "value": false,
                            "rawValue": false,
                            "raw": "false"
                          }
                        ]
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " View frameworks can sometimes swallow resize events",
                          "start": 2437,
                          "end": 2491,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 8
                            },
                            "end": {
                              "line": 64,
                              "column": 62
                            }
                          },
                          "range": [
                            2437,
                            2491
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2500,
                      "end": 2513,
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 8
                        },
                        "end": {
                          "line": 65,
                          "column": 21
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2500,
                        "end": 2513,
                        "loc": {
                          "start": {
                            "line": 65,
                            "column": 8
                          },
                          "end": {
                            "line": 65,
                            "column": 21
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2500,
                          "end": 2511,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 8
                            },
                            "end": {
                              "line": 65,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2500,
                            "end": 2504,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 8
                              },
                              "end": {
                                "line": 65,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2505,
                            "end": 2511,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 13
                              },
                              "end": {
                                "line": 65,
                                "column": 19
                              }
                            },
                            "name": "resize"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " View frameworks can sometimes swallow resize events",
                          "start": 2437,
                          "end": 2491,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 8
                            },
                            "end": {
                              "line": 64,
                              "column": 62
                            }
                          },
                          "range": [
                            2437,
                            2491
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2522,
                      "end": 2557,
                      "loc": {
                        "start": {
                          "line": 66,
                          "column": 8
                        },
                        "end": {
                          "line": 66,
                          "column": 43
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2522,
                        "end": 2556,
                        "loc": {
                          "start": {
                            "line": 66,
                            "column": 8
                          },
                          "end": {
                            "line": 66,
                            "column": 42
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 2522,
                          "end": 2532,
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 8
                            },
                            "end": {
                              "line": 66,
                              "column": 18
                            }
                          },
                          "name": "setTimeout"
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 2533,
                            "end": 2552,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 19
                              },
                              "end": {
                                "line": 66,
                                "column": 38
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [],
                            "body": {
                              "type": "CallExpression",
                              "start": 2539,
                              "end": 2552,
                              "loc": {
                                "start": {
                                  "line": 66,
                                  "column": 25
                                },
                                "end": {
                                  "line": 66,
                                  "column": 38
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 2539,
                                "end": 2550,
                                "loc": {
                                  "start": {
                                    "line": 66,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 66,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 2539,
                                  "end": 2543,
                                  "loc": {
                                    "start": {
                                      "line": 66,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 66,
                                      "column": 29
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2544,
                                  "end": 2550,
                                  "loc": {
                                    "start": {
                                      "line": 66,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 66,
                                      "column": 36
                                    }
                                  },
                                  "name": "resize"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 2554,
                            "end": 2555,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 40
                              },
                              "end": {
                                "line": 66,
                                "column": 41
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2566,
                      "end": 2603,
                      "loc": {
                        "start": {
                          "line": 67,
                          "column": 8
                        },
                        "end": {
                          "line": 67,
                          "column": 45
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2566,
                        "end": 2602,
                        "loc": {
                          "start": {
                            "line": 67,
                            "column": 8
                          },
                          "end": {
                            "line": 67,
                            "column": 44
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 2566,
                          "end": 2576,
                          "loc": {
                            "start": {
                              "line": 67,
                              "column": 8
                            },
                            "end": {
                              "line": 67,
                              "column": 18
                            }
                          },
                          "name": "setTimeout"
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 2577,
                            "end": 2596,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 19
                              },
                              "end": {
                                "line": 67,
                                "column": 38
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [],
                            "body": {
                              "type": "CallExpression",
                              "start": 2583,
                              "end": 2596,
                              "loc": {
                                "start": {
                                  "line": 67,
                                  "column": 25
                                },
                                "end": {
                                  "line": 67,
                                  "column": 38
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 2583,
                                "end": 2594,
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 67,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 2583,
                                  "end": 2587,
                                  "loc": {
                                    "start": {
                                      "line": 67,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 67,
                                      "column": 29
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2588,
                                  "end": 2594,
                                  "loc": {
                                    "start": {
                                      "line": 67,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 67,
                                      "column": 36
                                    }
                                  },
                                  "name": "resize"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 2598,
                            "end": 2601,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 40
                              },
                              "end": {
                                "line": 67,
                                "column": 43
                              }
                            },
                            "value": 100,
                            "rawValue": 100,
                            "raw": "100"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2612,
                      "end": 2649,
                      "loc": {
                        "start": {
                          "line": 68,
                          "column": 8
                        },
                        "end": {
                          "line": 68,
                          "column": 45
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2612,
                        "end": 2648,
                        "loc": {
                          "start": {
                            "line": 68,
                            "column": 8
                          },
                          "end": {
                            "line": 68,
                            "column": 44
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 2612,
                          "end": 2622,
                          "loc": {
                            "start": {
                              "line": 68,
                              "column": 8
                            },
                            "end": {
                              "line": 68,
                              "column": 18
                            }
                          },
                          "name": "setTimeout"
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 2623,
                            "end": 2642,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 19
                              },
                              "end": {
                                "line": 68,
                                "column": 38
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [],
                            "body": {
                              "type": "CallExpression",
                              "start": 2629,
                              "end": 2642,
                              "loc": {
                                "start": {
                                  "line": 68,
                                  "column": 25
                                },
                                "end": {
                                  "line": 68,
                                  "column": 38
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 2629,
                                "end": 2640,
                                "loc": {
                                  "start": {
                                    "line": 68,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 68,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 2629,
                                  "end": 2633,
                                  "loc": {
                                    "start": {
                                      "line": 68,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 68,
                                      "column": 29
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2634,
                                  "end": 2640,
                                  "loc": {
                                    "start": {
                                      "line": 68,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 68,
                                      "column": 36
                                    }
                                  },
                                  "name": "resize"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 2644,
                            "end": 2647,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 40
                              },
                              "end": {
                                "line": 68,
                                "column": 43
                              }
                            },
                            "value": 500,
                            "rawValue": 500,
                            "raw": "500"
                          }
                        ]
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Clear canvas",
                          "start": 2659,
                          "end": 2674,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 8
                            },
                            "end": {
                              "line": 70,
                              "column": 23
                            }
                          },
                          "range": [
                            2659,
                            2674
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2683,
                      "end": 2713,
                      "loc": {
                        "start": {
                          "line": 71,
                          "column": 8
                        },
                        "end": {
                          "line": 71,
                          "column": 38
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2683,
                        "end": 2712,
                        "loc": {
                          "start": {
                            "line": 71,
                            "column": 8
                          },
                          "end": {
                            "line": 71,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2683,
                          "end": 2705,
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 8
                            },
                            "end": {
                              "line": 71,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2683,
                            "end": 2690,
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 8
                              },
                              "end": {
                                "line": 71,
                                "column": 15
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2683,
                              "end": 2687,
                              "loc": {
                                "start": {
                                  "line": 71,
                                  "column": 8
                                },
                                "end": {
                                  "line": 71,
                                  "column": 12
                                }
                              },
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2688,
                              "end": 2690,
                              "loc": {
                                "start": {
                                  "line": 71,
                                  "column": 13
                                },
                                "end": {
                                  "line": 71,
                                  "column": 15
                                }
                              },
                              "name": "gl"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2691,
                            "end": 2705,
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 16
                              },
                              "end": {
                                "line": 71,
                                "column": 30
                              }
                            },
                            "name": "setScissorTest"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 2706,
                            "end": 2711,
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 31
                              },
                              "end": {
                                "line": 71,
                                "column": 36
                              }
                            },
                            "value": false,
                            "rawValue": false,
                            "raw": "false"
                          }
                        ],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Clear canvas",
                          "start": 2659,
                          "end": 2674,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 8
                            },
                            "end": {
                              "line": 70,
                              "column": 23
                            }
                          },
                          "range": [
                            2659,
                            2674
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2722,
                      "end": 2764,
                      "loc": {
                        "start": {
                          "line": 72,
                          "column": 8
                        },
                        "end": {
                          "line": 72,
                          "column": 50
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2722,
                        "end": 2763,
                        "loc": {
                          "start": {
                            "line": 72,
                            "column": 8
                          },
                          "end": {
                            "line": 72,
                            "column": 49
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2722,
                          "end": 2743,
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 8
                            },
                            "end": {
                              "line": 72,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2722,
                            "end": 2729,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 8
                              },
                              "end": {
                                "line": 72,
                                "column": 15
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2722,
                              "end": 2726,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 8
                                },
                                "end": {
                                  "line": 72,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2727,
                              "end": 2729,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 13
                                },
                                "end": {
                                  "line": 72,
                                  "column": 15
                                }
                              },
                              "name": "gl"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2730,
                            "end": 2743,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 16
                              },
                              "end": {
                                "line": 72,
                                "column": 29
                              }
                            },
                            "name": "setClearColor"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 2744,
                            "end": 2759,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 30
                              },
                              "end": {
                                "line": 72,
                                "column": 45
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2744,
                              "end": 2748,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 30
                                },
                                "end": {
                                  "line": 72,
                                  "column": 34
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2749,
                              "end": 2759,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 35
                                },
                                "end": {
                                  "line": 72,
                                  "column": 45
                                }
                              },
                              "name": "clearColor"
                            },
                            "computed": false
                          },
                          {
                            "type": "Literal",
                            "start": 2761,
                            "end": 2762,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 47
                              },
                              "end": {
                                "line": 72,
                                "column": 48
                              }
                            },
                            "value": 0,
                            "rawValue": 0,
                            "raw": "0"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2773,
                      "end": 2789,
                      "loc": {
                        "start": {
                          "line": 73,
                          "column": 8
                        },
                        "end": {
                          "line": 73,
                          "column": 24
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2773,
                        "end": 2788,
                        "loc": {
                          "start": {
                            "line": 73,
                            "column": 8
                          },
                          "end": {
                            "line": 73,
                            "column": 23
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2773,
                          "end": 2786,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 8
                            },
                            "end": {
                              "line": 73,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2773,
                            "end": 2780,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 8
                              },
                              "end": {
                                "line": 73,
                                "column": 15
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2773,
                              "end": 2777,
                              "loc": {
                                "start": {
                                  "line": 73,
                                  "column": 8
                                },
                                "end": {
                                  "line": 73,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2778,
                              "end": 2780,
                              "loc": {
                                "start": {
                                  "line": 73,
                                  "column": 13
                                },
                                "end": {
                                  "line": 73,
                                  "column": 15
                                }
                              },
                              "name": "gl"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2781,
                            "end": 2786,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 16
                              },
                              "end": {
                                "line": 73,
                                "column": 21
                              }
                            },
                            "name": "clear"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2798,
                      "end": 2827,
                      "loc": {
                        "start": {
                          "line": 74,
                          "column": 8
                        },
                        "end": {
                          "line": 74,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2798,
                        "end": 2826,
                        "loc": {
                          "start": {
                            "line": 74,
                            "column": 8
                          },
                          "end": {
                            "line": 74,
                            "column": 36
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2798,
                          "end": 2820,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 8
                            },
                            "end": {
                              "line": 74,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2798,
                            "end": 2805,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 8
                              },
                              "end": {
                                "line": 74,
                                "column": 15
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2798,
                              "end": 2802,
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 8
                                },
                                "end": {
                                  "line": 74,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2803,
                              "end": 2805,
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 13
                                },
                                "end": {
                                  "line": 74,
                                  "column": 15
                                }
                              },
                              "name": "gl"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2806,
                            "end": 2820,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 16
                              },
                              "end": {
                                "line": 74,
                                "column": 30
                              }
                            },
                            "name": "setScissorTest"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 2821,
                            "end": 2825,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 31
                              },
                              "end": {
                                "line": 74,
                                "column": 35
                              }
                            },
                            "value": true,
                            "rawValue": true,
                            "raw": "true"
                          }
                        ]
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Declare render loop here, because doing it on the prototype will lexically",
                          "start": 2837,
                          "end": 2914,
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 8
                            },
                            "end": {
                              "line": 76,
                              "column": 85
                            }
                          },
                          "range": [
                            2837,
                            2914
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " bind 'this' using nested functions which would impact performance.",
                          "start": 2923,
                          "end": 2992,
                          "loc": {
                            "start": {
                              "line": 77,
                              "column": 8
                            },
                            "end": {
                              "line": 77,
                              "column": 77
                            }
                          },
                          "range": [
                            2923,
                            2992
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 3001,
                      "end": 3018,
                      "loc": {
                        "start": {
                          "line": 78,
                          "column": 8
                        },
                        "end": {
                          "line": 78,
                          "column": 25
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 3005,
                          "end": 3017,
                          "loc": {
                            "start": {
                              "line": 78,
                              "column": 12
                            },
                            "end": {
                              "line": 78,
                              "column": 24
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 3005,
                            "end": 3010,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 12
                              },
                              "end": {
                                "line": 78,
                                "column": 17
                              }
                            },
                            "name": "scope",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "ThisExpression",
                            "start": 3013,
                            "end": 3017,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 20
                              },
                              "end": {
                                "line": 78,
                                "column": 24
                              }
                            }
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "var",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Declare render loop here, because doing it on the prototype will lexically",
                          "start": 2837,
                          "end": 2914,
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 8
                            },
                            "end": {
                              "line": 76,
                              "column": 85
                            }
                          },
                          "range": [
                            2837,
                            2914
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " bind 'this' using nested functions which would impact performance.",
                          "start": 2923,
                          "end": 2992,
                          "loc": {
                            "start": {
                              "line": 77,
                              "column": 8
                            },
                            "end": {
                              "line": 77,
                              "column": 77
                            }
                          },
                          "range": [
                            2923,
                            2992
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "this.perf = new Helpers.Performance();",
                          "start": 3027,
                          "end": 3067,
                          "loc": {
                            "start": {
                              "line": 79,
                              "column": 8
                            },
                            "end": {
                              "line": 79,
                              "column": 48
                            }
                          },
                          "range": [
                            3027,
                            3067
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3076,
                      "end": 3102,
                      "loc": {
                        "start": {
                          "line": 80,
                          "column": 8
                        },
                        "end": {
                          "line": 80,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3076,
                        "end": 3101,
                        "loc": {
                          "start": {
                            "line": 80,
                            "column": 8
                          },
                          "end": {
                            "line": 80,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3076,
                          "end": 3097,
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 8
                            },
                            "end": {
                              "line": 80,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3076,
                            "end": 3080,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 8
                              },
                              "end": {
                                "line": 80,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3081,
                            "end": 3097,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 13
                              },
                              "end": {
                                "line": 80,
                                "column": 29
                              }
                            },
                            "name": "invalidateFrames"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "Literal",
                          "start": 3100,
                          "end": 3101,
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 32
                            },
                            "end": {
                              "line": 80,
                              "column": 33
                            }
                          },
                          "value": 1,
                          "rawValue": 1,
                          "raw": "1"
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "this.perf = new Helpers.Performance();",
                          "start": 3027,
                          "end": 3067,
                          "loc": {
                            "start": {
                              "line": 79,
                              "column": 8
                            },
                            "end": {
                              "line": 79,
                              "column": 48
                            }
                          },
                          "range": [
                            3027,
                            3067
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3111,
                      "end": 3129,
                      "loc": {
                        "start": {
                          "line": 81,
                          "column": 8
                        },
                        "end": {
                          "line": 81,
                          "column": 26
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3111,
                        "end": 3128,
                        "loc": {
                          "start": {
                            "line": 81,
                            "column": 8
                          },
                          "end": {
                            "line": 81,
                            "column": 25
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3111,
                          "end": 3121,
                          "loc": {
                            "start": {
                              "line": 81,
                              "column": 8
                            },
                            "end": {
                              "line": 81,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3111,
                            "end": 3115,
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 8
                              },
                              "end": {
                                "line": 81,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3116,
                            "end": 3121,
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 13
                              },
                              "end": {
                                "line": 81,
                                "column": 18
                              }
                            },
                            "name": "dirty"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 3124,
                          "end": 3128,
                          "loc": {
                            "start": {
                              "line": 81,
                              "column": 21
                            },
                            "end": {
                              "line": 81,
                              "column": 25
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3138,
                      "end": 3152,
                      "loc": {
                        "start": {
                          "line": 82,
                          "column": 8
                        },
                        "end": {
                          "line": 82,
                          "column": 22
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3138,
                        "end": 3151,
                        "loc": {
                          "start": {
                            "line": 82,
                            "column": 8
                          },
                          "end": {
                            "line": 82,
                            "column": 21
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3138,
                          "end": 3147,
                          "loc": {
                            "start": {
                              "line": 82,
                              "column": 8
                            },
                            "end": {
                              "line": 82,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3138,
                            "end": 3142,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 8
                              },
                              "end": {
                                "line": 82,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3143,
                            "end": 3147,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 13
                              },
                              "end": {
                                "line": 82,
                                "column": 17
                              }
                            },
                            "name": "time"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 3150,
                          "end": 3151,
                          "loc": {
                            "start": {
                              "line": 82,
                              "column": 20
                            },
                            "end": {
                              "line": 82,
                              "column": 21
                            }
                          },
                          "value": 0,
                          "rawValue": 0,
                          "raw": "0"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3161,
                      "end": 4899,
                      "loc": {
                        "start": {
                          "line": 83,
                          "column": 8
                        },
                        "end": {
                          "line": 124,
                          "column": 9
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3161,
                        "end": 4899,
                        "loc": {
                          "start": {
                            "line": 83,
                            "column": 8
                          },
                          "end": {
                            "line": 124,
                            "column": 9
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3161,
                          "end": 3172,
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 8
                            },
                            "end": {
                              "line": 83,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3161,
                            "end": 3165,
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 8
                              },
                              "end": {
                                "line": 83,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3166,
                            "end": 3172,
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 13
                              },
                              "end": {
                                "line": 83,
                                "column": 19
                              }
                            },
                            "name": "render"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "start": 3175,
                          "end": 4899,
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 22
                            },
                            "end": {
                              "line": 124,
                              "column": 9
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": false,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 3184,
                              "end": 3188,
                              "loc": {
                                "start": {
                                  "line": 83,
                                  "column": 31
                                },
                                "end": {
                                  "line": 83,
                                  "column": 35
                                }
                              },
                              "name": "time"
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "start": 3190,
                            "end": 4899,
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 37
                              },
                              "end": {
                                "line": 124,
                                "column": 9
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 3204,
                                "end": 3222,
                                "loc": {
                                  "start": {
                                    "line": 84,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 84,
                                    "column": 30
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 3204,
                                  "end": 3221,
                                  "loc": {
                                    "start": {
                                      "line": 84,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 84,
                                      "column": 29
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 3204,
                                    "end": 3214,
                                    "loc": {
                                      "start": {
                                        "line": 84,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 84,
                                        "column": 22
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 3204,
                                      "end": 3209,
                                      "loc": {
                                        "start": {
                                          "line": 84,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 84,
                                          "column": 17
                                        }
                                      },
                                      "name": "scope"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3210,
                                      "end": 3214,
                                      "loc": {
                                        "start": {
                                          "line": 84,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 84,
                                          "column": 22
                                        }
                                      },
                                      "name": "time"
                                    },
                                    "computed": false
                                  },
                                  "right": {
                                    "type": "Identifier",
                                    "start": 3217,
                                    "end": 3221,
                                    "loc": {
                                      "start": {
                                        "line": 84,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 84,
                                        "column": 29
                                      }
                                    },
                                    "name": "time"
                                  }
                                },
                                "trailingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Request next frame",
                                    "start": 3236,
                                    "end": 3257,
                                    "loc": {
                                      "start": {
                                        "line": 86,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 86,
                                        "column": 33
                                      }
                                    },
                                    "range": [
                                      3236,
                                      3257
                                    ]
                                  }
                                ]
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 3270,
                                "end": 3306,
                                "loc": {
                                  "start": {
                                    "line": 87,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 87,
                                    "column": 48
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 3270,
                                  "end": 3305,
                                  "loc": {
                                    "start": {
                                      "line": 87,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 87,
                                      "column": 47
                                    }
                                  },
                                  "callee": {
                                    "type": "Identifier",
                                    "start": 3270,
                                    "end": 3291,
                                    "loc": {
                                      "start": {
                                        "line": 87,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 87,
                                        "column": 33
                                      }
                                    },
                                    "name": "requestAnimationFrame",
                                    "leadingComments": null
                                  },
                                  "arguments": [
                                    {
                                      "type": "MemberExpression",
                                      "start": 3292,
                                      "end": 3304,
                                      "loc": {
                                        "start": {
                                          "line": 87,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 87,
                                          "column": 46
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 3292,
                                        "end": 3297,
                                        "loc": {
                                          "start": {
                                            "line": 87,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 87,
                                            "column": 39
                                          }
                                        },
                                        "name": "scope"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 3298,
                                        "end": 3304,
                                        "loc": {
                                          "start": {
                                            "line": 87,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 87,
                                            "column": 46
                                          }
                                        },
                                        "name": "render"
                                      },
                                      "computed": false
                                    }
                                  ],
                                  "leadingComments": null
                                },
                                "leadingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Request next frame",
                                    "start": 3236,
                                    "end": 3257,
                                    "loc": {
                                      "start": {
                                        "line": 86,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 86,
                                        "column": 33
                                      }
                                    },
                                    "range": [
                                      3236,
                                      3257
                                    ]
                                  }
                                ],
                                "trailingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Pass 1: measure canvas; do this only when the canvas is dirty",
                                    "start": 3320,
                                    "end": 3384,
                                    "loc": {
                                      "start": {
                                        "line": 89,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 89,
                                        "column": 76
                                      }
                                    },
                                    "range": [
                                      3320,
                                      3384
                                    ]
                                  }
                                ]
                              },
                              {
                                "type": "IfStatement",
                                "start": 3397,
                                "end": 4230,
                                "loc": {
                                  "start": {
                                    "line": 90,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 105,
                                    "column": 13
                                  }
                                },
                                "test": {
                                  "type": "LogicalExpression",
                                  "start": 3401,
                                  "end": 3442,
                                  "loc": {
                                    "start": {
                                      "line": 90,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 90,
                                      "column": 57
                                    }
                                  },
                                  "left": {
                                    "type": "BinaryExpression",
                                    "start": 3401,
                                    "end": 3427,
                                    "loc": {
                                      "start": {
                                        "line": 90,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 90,
                                        "column": 42
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 3401,
                                      "end": 3423,
                                      "loc": {
                                        "start": {
                                          "line": 90,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 38
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 3401,
                                        "end": 3406,
                                        "loc": {
                                          "start": {
                                            "line": 90,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 90,
                                            "column": 21
                                          }
                                        },
                                        "name": "scope",
                                        "leadingComments": null
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 3407,
                                        "end": 3423,
                                        "loc": {
                                          "start": {
                                            "line": 90,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 90,
                                            "column": 38
                                          }
                                        },
                                        "name": "invalidateFrames"
                                      },
                                      "computed": false,
                                      "leadingComments": null
                                    },
                                    "operator": ">",
                                    "right": {
                                      "type": "Literal",
                                      "start": 3426,
                                      "end": 3427,
                                      "loc": {
                                        "start": {
                                          "line": 90,
                                          "column": 41
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 42
                                        }
                                      },
                                      "value": 0,
                                      "rawValue": 0,
                                      "raw": "0"
                                    },
                                    "leadingComments": null
                                  },
                                  "operator": "&&",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 3431,
                                    "end": 3442,
                                    "loc": {
                                      "start": {
                                        "line": 90,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 90,
                                        "column": 57
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 3431,
                                      "end": 3436,
                                      "loc": {
                                        "start": {
                                          "line": 90,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 51
                                        }
                                      },
                                      "name": "scope"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3437,
                                      "end": 3442,
                                      "loc": {
                                        "start": {
                                          "line": 90,
                                          "column": 52
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 57
                                        }
                                      },
                                      "name": "dirty"
                                    },
                                    "computed": false
                                  },
                                  "leadingComments": null
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "start": 3444,
                                  "end": 4230,
                                  "loc": {
                                    "start": {
                                      "line": 90,
                                      "column": 59
                                    },
                                    "end": {
                                      "line": 105,
                                      "column": 13
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "VariableDeclaration",
                                      "start": 3462,
                                      "end": 3513,
                                      "loc": {
                                        "start": {
                                          "line": 91,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 91,
                                          "column": 67
                                        }
                                      },
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "start": 3466,
                                          "end": 3512,
                                          "loc": {
                                            "start": {
                                              "line": 91,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 91,
                                              "column": 66
                                            }
                                          },
                                          "id": {
                                            "type": "Identifier",
                                            "start": 3466,
                                            "end": 3472,
                                            "loc": {
                                              "start": {
                                                "line": 91,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 91,
                                                "column": 26
                                              }
                                            },
                                            "name": "bounds"
                                          },
                                          "init": {
                                            "type": "CallExpression",
                                            "start": 3475,
                                            "end": 3512,
                                            "loc": {
                                              "start": {
                                                "line": 91,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 91,
                                                "column": 66
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 3475,
                                              "end": 3510,
                                              "loc": {
                                                "start": {
                                                  "line": 91,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 91,
                                                  "column": 64
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 3475,
                                                "end": 3488,
                                                "loc": {
                                                  "start": {
                                                    "line": 91,
                                                    "column": 29
                                                  },
                                                  "end": {
                                                    "line": 91,
                                                    "column": 42
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 3475,
                                                  "end": 3480,
                                                  "loc": {
                                                    "start": {
                                                      "line": 91,
                                                      "column": 29
                                                    },
                                                    "end": {
                                                      "line": 91,
                                                      "column": 34
                                                    }
                                                  },
                                                  "name": "scope"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3481,
                                                  "end": 3488,
                                                  "loc": {
                                                    "start": {
                                                      "line": 91,
                                                      "column": 35
                                                    },
                                                    "end": {
                                                      "line": 91,
                                                      "column": 42
                                                    }
                                                  },
                                                  "name": "context"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3489,
                                                "end": 3510,
                                                "loc": {
                                                  "start": {
                                                    "line": 91,
                                                    "column": 43
                                                  },
                                                  "end": {
                                                    "line": 91,
                                                    "column": 64
                                                  }
                                                },
                                                "name": "getBoundingClientRect"
                                              },
                                              "computed": false
                                            },
                                            "arguments": []
                                          }
                                        }
                                      ],
                                      "kind": "let",
                                      "trailingComments": [
                                        {
                                          "type": "CommentLine",
                                          "value": " Test for changes, position & size",
                                          "start": 3531,
                                          "end": 3567,
                                          "loc": {
                                            "start": {
                                              "line": 93,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 93,
                                              "column": 52
                                            }
                                          },
                                          "range": [
                                            3531,
                                            3567
                                          ]
                                        }
                                      ]
                                    },
                                    {
                                      "type": "IfStatement",
                                      "start": 3584,
                                      "end": 4174,
                                      "loc": {
                                        "start": {
                                          "line": 94,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 103,
                                          "column": 17
                                        }
                                      },
                                      "test": {
                                        "type": "LogicalExpression",
                                        "start": 3588,
                                        "end": 3752,
                                        "loc": {
                                          "start": {
                                            "line": 94,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 95,
                                            "column": 94
                                          }
                                        },
                                        "left": {
                                          "type": "LogicalExpression",
                                          "start": 3588,
                                          "end": 3712,
                                          "loc": {
                                            "start": {
                                              "line": 94,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 95,
                                              "column": 54
                                            }
                                          },
                                          "left": {
                                            "type": "LogicalExpression",
                                            "start": 3588,
                                            "end": 3654,
                                            "loc": {
                                              "start": {
                                                "line": 94,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 94,
                                                "column": 86
                                              }
                                            },
                                            "left": {
                                              "type": "BinaryExpression",
                                              "start": 3588,
                                              "end": 3620,
                                              "loc": {
                                                "start": {
                                                  "line": 94,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 94,
                                                  "column": 52
                                                }
                                              },
                                              "left": {
                                                "type": "MemberExpression",
                                                "start": 3588,
                                                "end": 3599,
                                                "loc": {
                                                  "start": {
                                                    "line": 94,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 94,
                                                    "column": 31
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 3588,
                                                  "end": 3594,
                                                  "loc": {
                                                    "start": {
                                                      "line": 94,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 94,
                                                      "column": 26
                                                    }
                                                  },
                                                  "name": "bounds",
                                                  "leadingComments": null
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3595,
                                                  "end": 3599,
                                                  "loc": {
                                                    "start": {
                                                      "line": 94,
                                                      "column": 27
                                                    },
                                                    "end": {
                                                      "line": 94,
                                                      "column": 31
                                                    }
                                                  },
                                                  "name": "left"
                                                },
                                                "computed": false,
                                                "leadingComments": null
                                              },
                                              "operator": "!=",
                                              "right": {
                                                "type": "MemberExpression",
                                                "start": 3603,
                                                "end": 3620,
                                                "loc": {
                                                  "start": {
                                                    "line": 94,
                                                    "column": 35
                                                  },
                                                  "end": {
                                                    "line": 94,
                                                    "column": 52
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 3603,
                                                  "end": 3615,
                                                  "loc": {
                                                    "start": {
                                                      "line": 94,
                                                      "column": 35
                                                    },
                                                    "end": {
                                                      "line": 94,
                                                      "column": 47
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 3603,
                                                    "end": 3608,
                                                    "loc": {
                                                      "start": {
                                                        "line": 94,
                                                        "column": 35
                                                      },
                                                      "end": {
                                                        "line": 94,
                                                        "column": 40
                                                      }
                                                    },
                                                    "name": "scope"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3609,
                                                    "end": 3615,
                                                    "loc": {
                                                      "start": {
                                                        "line": 94,
                                                        "column": 41
                                                      },
                                                      "end": {
                                                        "line": 94,
                                                        "column": 47
                                                      }
                                                    },
                                                    "name": "offset"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3616,
                                                  "end": 3620,
                                                  "loc": {
                                                    "start": {
                                                      "line": 94,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 94,
                                                      "column": 52
                                                    }
                                                  },
                                                  "name": "left"
                                                },
                                                "computed": false
                                              },
                                              "leadingComments": null
                                            },
                                            "operator": "||",
                                            "right": {
                                              "type": "BinaryExpression",
                                              "start": 3624,
                                              "end": 3654,
                                              "loc": {
                                                "start": {
                                                  "line": 94,
                                                  "column": 56
                                                },
                                                "end": {
                                                  "line": 94,
                                                  "column": 86
                                                }
                                              },
                                              "left": {
                                                "type": "MemberExpression",
                                                "start": 3624,
                                                "end": 3634,
                                                "loc": {
                                                  "start": {
                                                    "line": 94,
                                                    "column": 56
                                                  },
                                                  "end": {
                                                    "line": 94,
                                                    "column": 66
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 3624,
                                                  "end": 3630,
                                                  "loc": {
                                                    "start": {
                                                      "line": 94,
                                                      "column": 56
                                                    },
                                                    "end": {
                                                      "line": 94,
                                                      "column": 62
                                                    }
                                                  },
                                                  "name": "bounds"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3631,
                                                  "end": 3634,
                                                  "loc": {
                                                    "start": {
                                                      "line": 94,
                                                      "column": 63
                                                    },
                                                    "end": {
                                                      "line": 94,
                                                      "column": 66
                                                    }
                                                  },
                                                  "name": "top"
                                                },
                                                "computed": false
                                              },
                                              "operator": "!=",
                                              "right": {
                                                "type": "MemberExpression",
                                                "start": 3638,
                                                "end": 3654,
                                                "loc": {
                                                  "start": {
                                                    "line": 94,
                                                    "column": 70
                                                  },
                                                  "end": {
                                                    "line": 94,
                                                    "column": 86
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 3638,
                                                  "end": 3650,
                                                  "loc": {
                                                    "start": {
                                                      "line": 94,
                                                      "column": 70
                                                    },
                                                    "end": {
                                                      "line": 94,
                                                      "column": 82
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 3638,
                                                    "end": 3643,
                                                    "loc": {
                                                      "start": {
                                                        "line": 94,
                                                        "column": 70
                                                      },
                                                      "end": {
                                                        "line": 94,
                                                        "column": 75
                                                      }
                                                    },
                                                    "name": "scope"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3644,
                                                    "end": 3650,
                                                    "loc": {
                                                      "start": {
                                                        "line": 94,
                                                        "column": 76
                                                      },
                                                      "end": {
                                                        "line": 94,
                                                        "column": 82
                                                      }
                                                    },
                                                    "name": "offset"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3651,
                                                  "end": 3654,
                                                  "loc": {
                                                    "start": {
                                                      "line": 94,
                                                      "column": 83
                                                    },
                                                    "end": {
                                                      "line": 94,
                                                      "column": 86
                                                    }
                                                  },
                                                  "name": "top"
                                                },
                                                "computed": false
                                              }
                                            },
                                            "leadingComments": null
                                          },
                                          "operator": "||",
                                          "right": {
                                            "type": "BinaryExpression",
                                            "start": 3678,
                                            "end": 3712,
                                            "loc": {
                                              "start": {
                                                "line": 95,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 95,
                                                "column": 54
                                              }
                                            },
                                            "left": {
                                              "type": "MemberExpression",
                                              "start": 3678,
                                              "end": 3690,
                                              "loc": {
                                                "start": {
                                                  "line": 95,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 95,
                                                  "column": 32
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 3678,
                                                "end": 3684,
                                                "loc": {
                                                  "start": {
                                                    "line": 95,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 95,
                                                    "column": 26
                                                  }
                                                },
                                                "name": "bounds"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3685,
                                                "end": 3690,
                                                "loc": {
                                                  "start": {
                                                    "line": 95,
                                                    "column": 27
                                                  },
                                                  "end": {
                                                    "line": 95,
                                                    "column": 32
                                                  }
                                                },
                                                "name": "width"
                                              },
                                              "computed": false
                                            },
                                            "operator": "!=",
                                            "right": {
                                              "type": "MemberExpression",
                                              "start": 3694,
                                              "end": 3712,
                                              "loc": {
                                                "start": {
                                                  "line": 95,
                                                  "column": 36
                                                },
                                                "end": {
                                                  "line": 95,
                                                  "column": 54
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 3694,
                                                "end": 3706,
                                                "loc": {
                                                  "start": {
                                                    "line": 95,
                                                    "column": 36
                                                  },
                                                  "end": {
                                                    "line": 95,
                                                    "column": 48
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 3694,
                                                  "end": 3699,
                                                  "loc": {
                                                    "start": {
                                                      "line": 95,
                                                      "column": 36
                                                    },
                                                    "end": {
                                                      "line": 95,
                                                      "column": 41
                                                    }
                                                  },
                                                  "name": "scope"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3700,
                                                  "end": 3706,
                                                  "loc": {
                                                    "start": {
                                                      "line": 95,
                                                      "column": 42
                                                    },
                                                    "end": {
                                                      "line": 95,
                                                      "column": 48
                                                    }
                                                  },
                                                  "name": "offset"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3707,
                                                "end": 3712,
                                                "loc": {
                                                  "start": {
                                                    "line": 95,
                                                    "column": 49
                                                  },
                                                  "end": {
                                                    "line": 95,
                                                    "column": 54
                                                  }
                                                },
                                                "name": "width"
                                              },
                                              "computed": false
                                            }
                                          },
                                          "leadingComments": null
                                        },
                                        "operator": "||",
                                        "right": {
                                          "type": "BinaryExpression",
                                          "start": 3716,
                                          "end": 3752,
                                          "loc": {
                                            "start": {
                                              "line": 95,
                                              "column": 58
                                            },
                                            "end": {
                                              "line": 95,
                                              "column": 94
                                            }
                                          },
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 3716,
                                            "end": 3729,
                                            "loc": {
                                              "start": {
                                                "line": 95,
                                                "column": 58
                                              },
                                              "end": {
                                                "line": 95,
                                                "column": 71
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 3716,
                                              "end": 3722,
                                              "loc": {
                                                "start": {
                                                  "line": 95,
                                                  "column": 58
                                                },
                                                "end": {
                                                  "line": 95,
                                                  "column": 64
                                                }
                                              },
                                              "name": "bounds"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 3723,
                                              "end": 3729,
                                              "loc": {
                                                "start": {
                                                  "line": 95,
                                                  "column": 65
                                                },
                                                "end": {
                                                  "line": 95,
                                                  "column": 71
                                                }
                                              },
                                              "name": "height"
                                            },
                                            "computed": false
                                          },
                                          "operator": "!=",
                                          "right": {
                                            "type": "MemberExpression",
                                            "start": 3733,
                                            "end": 3752,
                                            "loc": {
                                              "start": {
                                                "line": 95,
                                                "column": 75
                                              },
                                              "end": {
                                                "line": 95,
                                                "column": 94
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 3733,
                                              "end": 3745,
                                              "loc": {
                                                "start": {
                                                  "line": 95,
                                                  "column": 75
                                                },
                                                "end": {
                                                  "line": 95,
                                                  "column": 87
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 3733,
                                                "end": 3738,
                                                "loc": {
                                                  "start": {
                                                    "line": 95,
                                                    "column": 75
                                                  },
                                                  "end": {
                                                    "line": 95,
                                                    "column": 80
                                                  }
                                                },
                                                "name": "scope"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3739,
                                                "end": 3745,
                                                "loc": {
                                                  "start": {
                                                    "line": 95,
                                                    "column": 81
                                                  },
                                                  "end": {
                                                    "line": 95,
                                                    "column": 87
                                                  }
                                                },
                                                "name": "offset"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 3746,
                                              "end": 3752,
                                              "loc": {
                                                "start": {
                                                  "line": 95,
                                                  "column": 88
                                                },
                                                "end": {
                                                  "line": 95,
                                                  "column": 94
                                                }
                                              },
                                              "name": "height"
                                            },
                                            "computed": false
                                          }
                                        },
                                        "leadingComments": null
                                      },
                                      "consequent": {
                                        "type": "BlockStatement",
                                        "start": 3754,
                                        "end": 4174,
                                        "loc": {
                                          "start": {
                                            "line": 95,
                                            "column": 96
                                          },
                                          "end": {
                                            "line": 103,
                                            "column": 17
                                          }
                                        },
                                        "body": [
                                          {
                                            "type": "ExpressionStatement",
                                            "start": 3776,
                                            "end": 3798,
                                            "loc": {
                                              "start": {
                                                "line": 96,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 96,
                                                "column": 42
                                              }
                                            },
                                            "expression": {
                                              "type": "AssignmentExpression",
                                              "start": 3776,
                                              "end": 3797,
                                              "loc": {
                                                "start": {
                                                  "line": 96,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 96,
                                                  "column": 41
                                                }
                                              },
                                              "operator": "=",
                                              "left": {
                                                "type": "MemberExpression",
                                                "start": 3776,
                                                "end": 3788,
                                                "loc": {
                                                  "start": {
                                                    "line": 96,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 96,
                                                    "column": 32
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 3776,
                                                  "end": 3781,
                                                  "loc": {
                                                    "start": {
                                                      "line": 96,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 96,
                                                      "column": 25
                                                    }
                                                  },
                                                  "name": "scope"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3782,
                                                  "end": 3788,
                                                  "loc": {
                                                    "start": {
                                                      "line": 96,
                                                      "column": 26
                                                    },
                                                    "end": {
                                                      "line": 96,
                                                      "column": 32
                                                    }
                                                  },
                                                  "name": "offset"
                                                },
                                                "computed": false
                                              },
                                              "right": {
                                                "type": "Identifier",
                                                "start": 3791,
                                                "end": 3797,
                                                "loc": {
                                                  "start": {
                                                    "line": 96,
                                                    "column": 35
                                                  },
                                                  "end": {
                                                    "line": 96,
                                                    "column": 41
                                                  }
                                                },
                                                "name": "bounds"
                                              }
                                            }
                                          },
                                          {
                                            "type": "ExpressionStatement",
                                            "start": 3819,
                                            "end": 3844,
                                            "loc": {
                                              "start": {
                                                "line": 97,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 97,
                                                "column": 45
                                              }
                                            },
                                            "expression": {
                                              "type": "CallExpression",
                                              "start": 3819,
                                              "end": 3843,
                                              "loc": {
                                                "start": {
                                                  "line": 97,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 97,
                                                  "column": 44
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 3819,
                                                "end": 3841,
                                                "loc": {
                                                  "start": {
                                                    "line": 97,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 97,
                                                    "column": 42
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 3819,
                                                  "end": 3824,
                                                  "loc": {
                                                    "start": {
                                                      "line": 97,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 97,
                                                      "column": 25
                                                    }
                                                  },
                                                  "name": "scope"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3825,
                                                  "end": 3841,
                                                  "loc": {
                                                    "start": {
                                                      "line": 97,
                                                      "column": 26
                                                    },
                                                    "end": {
                                                      "line": 97,
                                                      "column": 42
                                                    }
                                                  },
                                                  "name": "invalidateCanvas"
                                                },
                                                "computed": false
                                              },
                                              "arguments": []
                                            },
                                            "trailingComments": [
                                              {
                                                "type": "CommentLine",
                                                "value": " Size changed, canvas needs to adapt",
                                                "start": 3866,
                                                "end": 3904,
                                                "loc": {
                                                  "start": {
                                                    "line": 99,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 99,
                                                    "column": 58
                                                  }
                                                },
                                                "range": [
                                                  3866,
                                                  3904
                                                ]
                                              }
                                            ]
                                          },
                                          {
                                            "type": "IfStatement",
                                            "start": 3925,
                                            "end": 4156,
                                            "loc": {
                                              "start": {
                                                "line": 100,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 102,
                                                "column": 21
                                              }
                                            },
                                            "test": {
                                              "type": "LogicalExpression",
                                              "start": 3929,
                                              "end": 4003,
                                              "loc": {
                                                "start": {
                                                  "line": 100,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 100,
                                                  "column": 98
                                                }
                                              },
                                              "left": {
                                                "type": "BinaryExpression",
                                                "start": 3929,
                                                "end": 3963,
                                                "loc": {
                                                  "start": {
                                                    "line": 100,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 100,
                                                    "column": 58
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 3929,
                                                  "end": 3941,
                                                  "loc": {
                                                    "start": {
                                                      "line": 100,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 100,
                                                      "column": 36
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 3929,
                                                    "end": 3935,
                                                    "loc": {
                                                      "start": {
                                                        "line": 100,
                                                        "column": 24
                                                      },
                                                      "end": {
                                                        "line": 100,
                                                        "column": 30
                                                      }
                                                    },
                                                    "name": "bounds",
                                                    "leadingComments": null
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3936,
                                                    "end": 3941,
                                                    "loc": {
                                                      "start": {
                                                        "line": 100,
                                                        "column": 31
                                                      },
                                                      "end": {
                                                        "line": 100,
                                                        "column": 36
                                                      }
                                                    },
                                                    "name": "width"
                                                  },
                                                  "computed": false,
                                                  "leadingComments": null
                                                },
                                                "operator": "!=",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 3945,
                                                  "end": 3963,
                                                  "loc": {
                                                    "start": {
                                                      "line": 100,
                                                      "column": 40
                                                    },
                                                    "end": {
                                                      "line": 100,
                                                      "column": 58
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "start": 3945,
                                                    "end": 3957,
                                                    "loc": {
                                                      "start": {
                                                        "line": 100,
                                                        "column": 40
                                                      },
                                                      "end": {
                                                        "line": 100,
                                                        "column": 52
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 3945,
                                                      "end": 3950,
                                                      "loc": {
                                                        "start": {
                                                          "line": 100,
                                                          "column": 40
                                                        },
                                                        "end": {
                                                          "line": 100,
                                                          "column": 45
                                                        }
                                                      },
                                                      "name": "scope"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 3951,
                                                      "end": 3957,
                                                      "loc": {
                                                        "start": {
                                                          "line": 100,
                                                          "column": 46
                                                        },
                                                        "end": {
                                                          "line": 100,
                                                          "column": 52
                                                        }
                                                      },
                                                      "name": "offset"
                                                    },
                                                    "computed": false
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3958,
                                                    "end": 3963,
                                                    "loc": {
                                                      "start": {
                                                        "line": 100,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 100,
                                                        "column": 58
                                                      }
                                                    },
                                                    "name": "width"
                                                  },
                                                  "computed": false
                                                },
                                                "leadingComments": null
                                              },
                                              "operator": "||",
                                              "right": {
                                                "type": "BinaryExpression",
                                                "start": 3967,
                                                "end": 4003,
                                                "loc": {
                                                  "start": {
                                                    "line": 100,
                                                    "column": 62
                                                  },
                                                  "end": {
                                                    "line": 100,
                                                    "column": 98
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 3967,
                                                  "end": 3980,
                                                  "loc": {
                                                    "start": {
                                                      "line": 100,
                                                      "column": 62
                                                    },
                                                    "end": {
                                                      "line": 100,
                                                      "column": 75
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 3967,
                                                    "end": 3973,
                                                    "loc": {
                                                      "start": {
                                                        "line": 100,
                                                        "column": 62
                                                      },
                                                      "end": {
                                                        "line": 100,
                                                        "column": 68
                                                      }
                                                    },
                                                    "name": "bounds"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3974,
                                                    "end": 3980,
                                                    "loc": {
                                                      "start": {
                                                        "line": 100,
                                                        "column": 69
                                                      },
                                                      "end": {
                                                        "line": 100,
                                                        "column": 75
                                                      }
                                                    },
                                                    "name": "height"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "!=",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 3984,
                                                  "end": 4003,
                                                  "loc": {
                                                    "start": {
                                                      "line": 100,
                                                      "column": 79
                                                    },
                                                    "end": {
                                                      "line": 100,
                                                      "column": 98
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "start": 3984,
                                                    "end": 3996,
                                                    "loc": {
                                                      "start": {
                                                        "line": 100,
                                                        "column": 79
                                                      },
                                                      "end": {
                                                        "line": 100,
                                                        "column": 91
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 3984,
                                                      "end": 3989,
                                                      "loc": {
                                                        "start": {
                                                          "line": 100,
                                                          "column": 79
                                                        },
                                                        "end": {
                                                          "line": 100,
                                                          "column": 84
                                                        }
                                                      },
                                                      "name": "scope"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 3990,
                                                      "end": 3996,
                                                      "loc": {
                                                        "start": {
                                                          "line": 100,
                                                          "column": 85
                                                        },
                                                        "end": {
                                                          "line": 100,
                                                          "column": 91
                                                        }
                                                      },
                                                      "name": "offset"
                                                    },
                                                    "computed": false
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3997,
                                                    "end": 4003,
                                                    "loc": {
                                                      "start": {
                                                        "line": 100,
                                                        "column": 92
                                                      },
                                                      "end": {
                                                        "line": 100,
                                                        "column": 98
                                                      }
                                                    },
                                                    "name": "height"
                                                  },
                                                  "computed": false
                                                }
                                              },
                                              "leadingComments": null
                                            },
                                            "consequent": {
                                              "type": "BlockStatement",
                                              "start": 4005,
                                              "end": 4156,
                                              "loc": {
                                                "start": {
                                                  "line": 100,
                                                  "column": 100
                                                },
                                                "end": {
                                                  "line": 102,
                                                  "column": 21
                                                }
                                              },
                                              "body": [
                                                {
                                                  "type": "ExpressionStatement",
                                                  "start": 4031,
                                                  "end": 4134,
                                                  "loc": {
                                                    "start": {
                                                      "line": 101,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 101,
                                                      "column": 127
                                                    }
                                                  },
                                                  "expression": {
                                                    "type": "CallExpression",
                                                    "start": 4031,
                                                    "end": 4133,
                                                    "loc": {
                                                      "start": {
                                                        "line": 101,
                                                        "column": 24
                                                      },
                                                      "end": {
                                                        "line": 101,
                                                        "column": 126
                                                      }
                                                    },
                                                    "callee": {
                                                      "type": "MemberExpression",
                                                      "start": 4031,
                                                      "end": 4047,
                                                      "loc": {
                                                        "start": {
                                                          "line": 101,
                                                          "column": 24
                                                        },
                                                        "end": {
                                                          "line": 101,
                                                          "column": 40
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "MemberExpression",
                                                        "start": 4031,
                                                        "end": 4039,
                                                        "loc": {
                                                          "start": {
                                                            "line": 101,
                                                            "column": 24
                                                          },
                                                          "end": {
                                                            "line": 101,
                                                            "column": 32
                                                          }
                                                        },
                                                        "object": {
                                                          "type": "Identifier",
                                                          "start": 4031,
                                                          "end": 4036,
                                                          "loc": {
                                                            "start": {
                                                              "line": 101,
                                                              "column": 24
                                                            },
                                                            "end": {
                                                              "line": 101,
                                                              "column": 29
                                                            }
                                                          },
                                                          "name": "scope"
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "start": 4037,
                                                          "end": 4039,
                                                          "loc": {
                                                            "start": {
                                                              "line": 101,
                                                              "column": 30
                                                            },
                                                            "end": {
                                                              "line": 101,
                                                              "column": 32
                                                            }
                                                          },
                                                          "name": "gl"
                                                        },
                                                        "computed": false
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 4040,
                                                        "end": 4047,
                                                        "loc": {
                                                          "start": {
                                                            "line": 101,
                                                            "column": 33
                                                          },
                                                          "end": {
                                                            "line": 101,
                                                            "column": 40
                                                          }
                                                        },
                                                        "name": "setSize"
                                                      },
                                                      "computed": false
                                                    },
                                                    "arguments": [
                                                      {
                                                        "type": "BinaryExpression",
                                                        "start": 4048,
                                                        "end": 4085,
                                                        "loc": {
                                                          "start": {
                                                            "line": 101,
                                                            "column": 41
                                                          },
                                                          "end": {
                                                            "line": 101,
                                                            "column": 78
                                                          }
                                                        },
                                                        "left": {
                                                          "type": "MemberExpression",
                                                          "start": 4048,
                                                          "end": 4066,
                                                          "loc": {
                                                            "start": {
                                                              "line": 101,
                                                              "column": 41
                                                            },
                                                            "end": {
                                                              "line": 101,
                                                              "column": 59
                                                            }
                                                          },
                                                          "object": {
                                                            "type": "MemberExpression",
                                                            "start": 4048,
                                                            "end": 4060,
                                                            "loc": {
                                                              "start": {
                                                                "line": 101,
                                                                "column": 41
                                                              },
                                                              "end": {
                                                                "line": 101,
                                                                "column": 53
                                                              }
                                                            },
                                                            "object": {
                                                              "type": "Identifier",
                                                              "start": 4048,
                                                              "end": 4053,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 101,
                                                                  "column": 41
                                                                },
                                                                "end": {
                                                                  "line": 101,
                                                                  "column": 46
                                                                }
                                                              },
                                                              "name": "scope"
                                                            },
                                                            "property": {
                                                              "type": "Identifier",
                                                              "start": 4054,
                                                              "end": 4060,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 101,
                                                                  "column": 47
                                                                },
                                                                "end": {
                                                                  "line": 101,
                                                                  "column": 53
                                                                }
                                                              },
                                                              "name": "offset"
                                                            },
                                                            "computed": false
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "start": 4061,
                                                            "end": 4066,
                                                            "loc": {
                                                              "start": {
                                                                "line": 101,
                                                                "column": 54
                                                              },
                                                              "end": {
                                                                "line": 101,
                                                                "column": 59
                                                              }
                                                            },
                                                            "name": "width"
                                                          },
                                                          "computed": false
                                                        },
                                                        "operator": "*",
                                                        "right": {
                                                          "type": "MemberExpression",
                                                          "start": 4069,
                                                          "end": 4085,
                                                          "loc": {
                                                            "start": {
                                                              "line": 101,
                                                              "column": 62
                                                            },
                                                            "end": {
                                                              "line": 101,
                                                              "column": 78
                                                            }
                                                          },
                                                          "object": {
                                                            "type": "Identifier",
                                                            "start": 4069,
                                                            "end": 4074,
                                                            "loc": {
                                                              "start": {
                                                                "line": 101,
                                                                "column": 62
                                                              },
                                                              "end": {
                                                                "line": 101,
                                                                "column": 67
                                                              }
                                                            },
                                                            "name": "scope"
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "start": 4075,
                                                            "end": 4085,
                                                            "loc": {
                                                              "start": {
                                                                "line": 101,
                                                                "column": 68
                                                              },
                                                              "end": {
                                                                "line": 101,
                                                                "column": 78
                                                              }
                                                            },
                                                            "name": "resolution"
                                                          },
                                                          "computed": false
                                                        }
                                                      },
                                                      {
                                                        "type": "BinaryExpression",
                                                        "start": 4087,
                                                        "end": 4125,
                                                        "loc": {
                                                          "start": {
                                                            "line": 101,
                                                            "column": 80
                                                          },
                                                          "end": {
                                                            "line": 101,
                                                            "column": 118
                                                          }
                                                        },
                                                        "left": {
                                                          "type": "MemberExpression",
                                                          "start": 4087,
                                                          "end": 4106,
                                                          "loc": {
                                                            "start": {
                                                              "line": 101,
                                                              "column": 80
                                                            },
                                                            "end": {
                                                              "line": 101,
                                                              "column": 99
                                                            }
                                                          },
                                                          "object": {
                                                            "type": "MemberExpression",
                                                            "start": 4087,
                                                            "end": 4099,
                                                            "loc": {
                                                              "start": {
                                                                "line": 101,
                                                                "column": 80
                                                              },
                                                              "end": {
                                                                "line": 101,
                                                                "column": 92
                                                              }
                                                            },
                                                            "object": {
                                                              "type": "Identifier",
                                                              "start": 4087,
                                                              "end": 4092,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 101,
                                                                  "column": 80
                                                                },
                                                                "end": {
                                                                  "line": 101,
                                                                  "column": 85
                                                                }
                                                              },
                                                              "name": "scope"
                                                            },
                                                            "property": {
                                                              "type": "Identifier",
                                                              "start": 4093,
                                                              "end": 4099,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 101,
                                                                  "column": 86
                                                                },
                                                                "end": {
                                                                  "line": 101,
                                                                  "column": 92
                                                                }
                                                              },
                                                              "name": "offset"
                                                            },
                                                            "computed": false
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "start": 4100,
                                                            "end": 4106,
                                                            "loc": {
                                                              "start": {
                                                                "line": 101,
                                                                "column": 93
                                                              },
                                                              "end": {
                                                                "line": 101,
                                                                "column": 99
                                                              }
                                                            },
                                                            "name": "height"
                                                          },
                                                          "computed": false
                                                        },
                                                        "operator": "*",
                                                        "right": {
                                                          "type": "MemberExpression",
                                                          "start": 4109,
                                                          "end": 4125,
                                                          "loc": {
                                                            "start": {
                                                              "line": 101,
                                                              "column": 102
                                                            },
                                                            "end": {
                                                              "line": 101,
                                                              "column": 118
                                                            }
                                                          },
                                                          "object": {
                                                            "type": "Identifier",
                                                            "start": 4109,
                                                            "end": 4114,
                                                            "loc": {
                                                              "start": {
                                                                "line": 101,
                                                                "column": 102
                                                              },
                                                              "end": {
                                                                "line": 101,
                                                                "column": 107
                                                              }
                                                            },
                                                            "name": "scope"
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "start": 4115,
                                                            "end": 4125,
                                                            "loc": {
                                                              "start": {
                                                                "line": 101,
                                                                "column": 108
                                                              },
                                                              "end": {
                                                                "line": 101,
                                                                "column": 118
                                                              }
                                                            },
                                                            "name": "resolution"
                                                          },
                                                          "computed": false
                                                        }
                                                      },
                                                      {
                                                        "type": "Literal",
                                                        "start": 4127,
                                                        "end": 4132,
                                                        "loc": {
                                                          "start": {
                                                            "line": 101,
                                                            "column": 120
                                                          },
                                                          "end": {
                                                            "line": 101,
                                                            "column": 125
                                                          }
                                                        },
                                                        "value": false,
                                                        "rawValue": false,
                                                        "raw": "false"
                                                      }
                                                    ]
                                                  }
                                                }
                                              ]
                                            },
                                            "alternate": null,
                                            "leadingComments": [
                                              {
                                                "type": "CommentLine",
                                                "value": " Size changed, canvas needs to adapt",
                                                "start": 3866,
                                                "end": 3904,
                                                "loc": {
                                                  "start": {
                                                    "line": 99,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 99,
                                                    "column": 58
                                                  }
                                                },
                                                "range": [
                                                  3866,
                                                  3904
                                                ]
                                              }
                                            ]
                                          }
                                        ]
                                      },
                                      "alternate": null,
                                      "leadingComments": [
                                        {
                                          "type": "CommentLine",
                                          "value": " Test for changes, position & size",
                                          "start": 3531,
                                          "end": 3567,
                                          "loc": {
                                            "start": {
                                              "line": 93,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 93,
                                              "column": 52
                                            }
                                          },
                                          "range": [
                                            3531,
                                            3567
                                          ]
                                        }
                                      ]
                                    },
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 4191,
                                      "end": 4216,
                                      "loc": {
                                        "start": {
                                          "line": 104,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 104,
                                          "column": 41
                                        }
                                      },
                                      "expression": {
                                        "type": "UpdateExpression",
                                        "start": 4191,
                                        "end": 4215,
                                        "loc": {
                                          "start": {
                                            "line": 104,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 104,
                                            "column": 40
                                          }
                                        },
                                        "operator": "--",
                                        "prefix": false,
                                        "argument": {
                                          "type": "MemberExpression",
                                          "start": 4191,
                                          "end": 4213,
                                          "loc": {
                                            "start": {
                                              "line": 104,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 104,
                                              "column": 38
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 4191,
                                            "end": 4196,
                                            "loc": {
                                              "start": {
                                                "line": 104,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 104,
                                                "column": 21
                                              }
                                            },
                                            "name": "scope"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 4197,
                                            "end": 4213,
                                            "loc": {
                                              "start": {
                                                "line": 104,
                                                "column": 22
                                              },
                                              "end": {
                                                "line": 104,
                                                "column": 38
                                              }
                                            },
                                            "name": "invalidateFrames"
                                          },
                                          "computed": false
                                        }
                                      }
                                    }
                                  ],
                                  "trailingComments": null
                                },
                                "alternate": null,
                                "leadingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Pass 1: measure canvas; do this only when the canvas is dirty",
                                    "start": 3320,
                                    "end": 3384,
                                    "loc": {
                                      "start": {
                                        "line": 89,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 89,
                                        "column": 76
                                      }
                                    },
                                    "range": [
                                      3320,
                                      3384
                                    ]
                                  }
                                ],
                                "trailingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Update animations",
                                    "start": 4244,
                                    "end": 4264,
                                    "loc": {
                                      "start": {
                                        "line": 107,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 107,
                                        "column": 32
                                      }
                                    },
                                    "range": [
                                      4244,
                                      4264
                                    ]
                                  }
                                ]
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 4277,
                                "end": 4296,
                                "loc": {
                                  "start": {
                                    "line": 108,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 108,
                                    "column": 31
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 4277,
                                  "end": 4295,
                                  "loc": {
                                    "start": {
                                      "line": 108,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 108,
                                      "column": 30
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 4277,
                                    "end": 4289,
                                    "loc": {
                                      "start": {
                                        "line": 108,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 108,
                                        "column": 24
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 4277,
                                      "end": 4282,
                                      "loc": {
                                        "start": {
                                          "line": 108,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 108,
                                          "column": 17
                                        }
                                      },
                                      "name": "Tween",
                                      "leadingComments": null
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4283,
                                      "end": 4289,
                                      "loc": {
                                        "start": {
                                          "line": 108,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 108,
                                          "column": 24
                                        }
                                      },
                                      "name": "update"
                                    },
                                    "computed": false,
                                    "leadingComments": null
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 4290,
                                      "end": 4294,
                                      "loc": {
                                        "start": {
                                          "line": 108,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 108,
                                          "column": 29
                                        }
                                      },
                                      "name": "time"
                                    }
                                  ],
                                  "leadingComments": null
                                },
                                "leadingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Update animations",
                                    "start": 4244,
                                    "end": 4264,
                                    "loc": {
                                      "start": {
                                        "line": 107,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 107,
                                        "column": 32
                                      }
                                    },
                                    "range": [
                                      4244,
                                      4264
                                    ]
                                  }
                                ],
                                "trailingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Pass 2: measure view changes, stamp out old space",
                                    "start": 4310,
                                    "end": 4362,
                                    "loc": {
                                      "start": {
                                        "line": 110,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 110,
                                        "column": 64
                                      }
                                    },
                                    "range": [
                                      4310,
                                      4362
                                    ]
                                  }
                                ]
                              },
                              {
                                "type": "VariableDeclaration",
                                "start": 4375,
                                "end": 4402,
                                "loc": {
                                  "start": {
                                    "line": 111,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 111,
                                    "column": 39
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 4379,
                                    "end": 4401,
                                    "loc": {
                                      "start": {
                                        "line": 111,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 111,
                                        "column": 38
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 4379,
                                      "end": 4394,
                                      "loc": {
                                        "start": {
                                          "line": 111,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 111,
                                          "column": 31
                                        }
                                      },
                                      "name": "revokeDirtyFlag",
                                      "leadingComments": null
                                    },
                                    "init": {
                                      "type": "Literal",
                                      "start": 4397,
                                      "end": 4401,
                                      "loc": {
                                        "start": {
                                          "line": 111,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 111,
                                          "column": 38
                                        }
                                      },
                                      "value": true,
                                      "rawValue": true,
                                      "raw": "true"
                                    },
                                    "leadingComments": null
                                  }
                                ],
                                "kind": "let",
                                "leadingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Pass 2: measure view changes, stamp out old space",
                                    "start": 4310,
                                    "end": 4362,
                                    "loc": {
                                      "start": {
                                        "line": 110,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 110,
                                        "column": 64
                                      }
                                    },
                                    "range": [
                                      4310,
                                      4362
                                    ]
                                  }
                                ]
                              },
                              {
                                "type": "ForOfStatement",
                                "start": 4415,
                                "end": 4612,
                                "loc": {
                                  "start": {
                                    "line": 112,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 115,
                                    "column": 13
                                  }
                                },
                                "left": {
                                  "type": "VariableDeclaration",
                                  "start": 4420,
                                  "end": 4428,
                                  "loc": {
                                    "start": {
                                      "line": 112,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 112,
                                      "column": 25
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 4424,
                                      "end": 4428,
                                      "loc": {
                                        "start": {
                                          "line": 112,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 112,
                                          "column": 25
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 4424,
                                        "end": 4428,
                                        "loc": {
                                          "start": {
                                            "line": 112,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 112,
                                            "column": 25
                                          }
                                        },
                                        "name": "view"
                                      },
                                      "init": null
                                    }
                                  ],
                                  "kind": "let"
                                },
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 4432,
                                  "end": 4450,
                                  "loc": {
                                    "start": {
                                      "line": 112,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 112,
                                      "column": 47
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4432,
                                    "end": 4444,
                                    "loc": {
                                      "start": {
                                        "line": 112,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 112,
                                        "column": 41
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 4432,
                                      "end": 4437,
                                      "loc": {
                                        "start": {
                                          "line": 112,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 112,
                                          "column": 34
                                        }
                                      },
                                      "name": "scope"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4438,
                                      "end": 4444,
                                      "loc": {
                                        "start": {
                                          "line": 112,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 112,
                                          "column": 41
                                        }
                                      },
                                      "name": "canvas"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4445,
                                    "end": 4450,
                                    "loc": {
                                      "start": {
                                        "line": 112,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 112,
                                        "column": 47
                                      }
                                    },
                                    "name": "views"
                                  },
                                  "computed": false
                                },
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 4452,
                                  "end": 4612,
                                  "loc": {
                                    "start": {
                                      "line": 112,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 115,
                                      "column": 13
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "IfStatement",
                                      "start": 4552,
                                      "end": 4598,
                                      "loc": {
                                        "start": {
                                          "line": 114,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 114,
                                          "column": 62
                                        }
                                      },
                                      "test": {
                                        "type": "CallExpression",
                                        "start": 4556,
                                        "end": 4572,
                                        "loc": {
                                          "start": {
                                            "line": 114,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 114,
                                            "column": 36
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 4556,
                                          "end": 4566,
                                          "loc": {
                                            "start": {
                                              "line": 114,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 114,
                                              "column": 30
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 4556,
                                            "end": 4560,
                                            "loc": {
                                              "start": {
                                                "line": 114,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 114,
                                                "column": 24
                                              }
                                            },
                                            "name": "view",
                                            "leadingComments": null
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 4561,
                                            "end": 4566,
                                            "loc": {
                                              "start": {
                                                "line": 114,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 114,
                                                "column": 30
                                              }
                                            },
                                            "name": "clear"
                                          },
                                          "computed": false,
                                          "leadingComments": null
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 4567,
                                            "end": 4571,
                                            "loc": {
                                              "start": {
                                                "line": 114,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 114,
                                                "column": 35
                                              }
                                            },
                                            "name": "time"
                                          }
                                        ],
                                        "leadingComments": null
                                      },
                                      "consequent": {
                                        "type": "ExpressionStatement",
                                        "start": 4574,
                                        "end": 4598,
                                        "loc": {
                                          "start": {
                                            "line": 114,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 114,
                                            "column": 62
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 4574,
                                          "end": 4597,
                                          "loc": {
                                            "start": {
                                              "line": 114,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 114,
                                              "column": 61
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "Identifier",
                                            "start": 4574,
                                            "end": 4589,
                                            "loc": {
                                              "start": {
                                                "line": 114,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 114,
                                                "column": 53
                                              }
                                            },
                                            "name": "revokeDirtyFlag"
                                          },
                                          "right": {
                                            "type": "Literal",
                                            "start": 4592,
                                            "end": 4597,
                                            "loc": {
                                              "start": {
                                                "line": 114,
                                                "column": 56
                                              },
                                              "end": {
                                                "line": 114,
                                                "column": 61
                                              }
                                            },
                                            "value": false,
                                            "rawValue": false,
                                            "raw": "false"
                                          }
                                        }
                                      },
                                      "alternate": null,
                                      "leadingComments": [
                                        {
                                          "type": "CommentLine",
                                          "value": " If any view has measured changes, the canvas will remain dirty",
                                          "start": 4470,
                                          "end": 4535,
                                          "loc": {
                                            "start": {
                                              "line": 113,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 113,
                                              "column": 81
                                            }
                                          },
                                          "range": [
                                            4470,
                                            4535
                                          ]
                                        }
                                      ]
                                    }
                                  ],
                                  "trailingComments": null
                                },
                                "trailingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Pass 3: render view content",
                                    "start": 4626,
                                    "end": 4656,
                                    "loc": {
                                      "start": {
                                        "line": 117,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 117,
                                        "column": 42
                                      }
                                    },
                                    "range": [
                                      4626,
                                      4656
                                    ]
                                  }
                                ]
                              },
                              {
                                "type": "ForOfStatement",
                                "start": 4669,
                                "end": 4740,
                                "loc": {
                                  "start": {
                                    "line": 118,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 119,
                                    "column": 34
                                  }
                                },
                                "left": {
                                  "type": "VariableDeclaration",
                                  "start": 4674,
                                  "end": 4682,
                                  "loc": {
                                    "start": {
                                      "line": 118,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 25
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 4678,
                                      "end": 4682,
                                      "loc": {
                                        "start": {
                                          "line": 118,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 118,
                                          "column": 25
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 4678,
                                        "end": 4682,
                                        "loc": {
                                          "start": {
                                            "line": 118,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 118,
                                            "column": 25
                                          }
                                        },
                                        "name": "view",
                                        "leadingComments": null
                                      },
                                      "init": null,
                                      "leadingComments": null
                                    }
                                  ],
                                  "kind": "let",
                                  "leadingComments": null
                                },
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 4686,
                                  "end": 4704,
                                  "loc": {
                                    "start": {
                                      "line": 118,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 47
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4686,
                                    "end": 4698,
                                    "loc": {
                                      "start": {
                                        "line": 118,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 118,
                                        "column": 41
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 4686,
                                      "end": 4691,
                                      "loc": {
                                        "start": {
                                          "line": 118,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 118,
                                          "column": 34
                                        }
                                      },
                                      "name": "scope"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4692,
                                      "end": 4698,
                                      "loc": {
                                        "start": {
                                          "line": 118,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 118,
                                          "column": 41
                                        }
                                      },
                                      "name": "canvas"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4699,
                                    "end": 4704,
                                    "loc": {
                                      "start": {
                                        "line": 118,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 118,
                                        "column": 47
                                      }
                                    },
                                    "name": "views"
                                  },
                                  "computed": false
                                },
                                "body": {
                                  "type": "ExpressionStatement",
                                  "start": 4722,
                                  "end": 4740,
                                  "loc": {
                                    "start": {
                                      "line": 119,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 119,
                                      "column": 34
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 4722,
                                    "end": 4739,
                                    "loc": {
                                      "start": {
                                        "line": 119,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 119,
                                        "column": 33
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 4722,
                                      "end": 4733,
                                      "loc": {
                                        "start": {
                                          "line": 119,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 119,
                                          "column": 27
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 4722,
                                        "end": 4726,
                                        "loc": {
                                          "start": {
                                            "line": 119,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 119,
                                            "column": 20
                                          }
                                        },
                                        "name": "view"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4727,
                                        "end": 4733,
                                        "loc": {
                                          "start": {
                                            "line": 119,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 119,
                                            "column": 27
                                          }
                                        },
                                        "name": "render"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 4734,
                                        "end": 4738,
                                        "loc": {
                                          "start": {
                                            "line": 119,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 119,
                                            "column": 32
                                          }
                                        },
                                        "name": "time"
                                      }
                                    ]
                                  },
                                  "trailingComments": null
                                },
                                "leadingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Pass 3: render view content",
                                    "start": 4626,
                                    "end": 4656,
                                    "loc": {
                                      "start": {
                                        "line": 117,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 117,
                                        "column": 42
                                      }
                                    },
                                    "range": [
                                      4626,
                                      4656
                                    ]
                                  }
                                ],
                                "trailingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " If nothing has changed in size or position the canvas is clean",
                                    "start": 4754,
                                    "end": 4819,
                                    "loc": {
                                      "start": {
                                        "line": 121,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 121,
                                        "column": 77
                                      }
                                    },
                                    "range": [
                                      4754,
                                      4819
                                    ]
                                  }
                                ]
                              },
                              {
                                "type": "IfStatement",
                                "start": 4832,
                                "end": 4889,
                                "loc": {
                                  "start": {
                                    "line": 122,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 123,
                                    "column": 36
                                  }
                                },
                                "test": {
                                  "type": "Identifier",
                                  "start": 4836,
                                  "end": 4851,
                                  "loc": {
                                    "start": {
                                      "line": 122,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 122,
                                      "column": 31
                                    }
                                  },
                                  "name": "revokeDirtyFlag",
                                  "leadingComments": null
                                },
                                "consequent": {
                                  "type": "ExpressionStatement",
                                  "start": 4869,
                                  "end": 4889,
                                  "loc": {
                                    "start": {
                                      "line": 123,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 123,
                                      "column": 36
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 4869,
                                    "end": 4888,
                                    "loc": {
                                      "start": {
                                        "line": 123,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 123,
                                        "column": 35
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 4869,
                                      "end": 4880,
                                      "loc": {
                                        "start": {
                                          "line": 123,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 123,
                                          "column": 27
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 4869,
                                        "end": 4874,
                                        "loc": {
                                          "start": {
                                            "line": 123,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 123,
                                            "column": 21
                                          }
                                        },
                                        "name": "scope"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4875,
                                        "end": 4880,
                                        "loc": {
                                          "start": {
                                            "line": 123,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 123,
                                            "column": 27
                                          }
                                        },
                                        "name": "dirty"
                                      },
                                      "computed": false
                                    },
                                    "right": {
                                      "type": "Literal",
                                      "start": 4883,
                                      "end": 4888,
                                      "loc": {
                                        "start": {
                                          "line": 123,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 123,
                                          "column": 35
                                        }
                                      },
                                      "value": false,
                                      "rawValue": false,
                                      "raw": "false"
                                    }
                                  }
                                },
                                "alternate": null,
                                "leadingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " If nothing has changed in size or position the canvas is clean",
                                    "start": 4754,
                                    "end": 4819,
                                    "loc": {
                                      "start": {
                                        "line": 121,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 121,
                                        "column": 77
                                      }
                                    },
                                    "range": [
                                      4754,
                                      4819
                                    ]
                                  }
                                ]
                              }
                            ],
                            "trailingComments": null
                          },
                          "trailingComments": null
                        },
                        "trailingComments": null
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Start render loop",
                          "start": 4909,
                          "end": 4929,
                          "loc": {
                            "start": {
                              "line": 126,
                              "column": 8
                            },
                            "end": {
                              "line": 126,
                              "column": 28
                            }
                          },
                          "range": [
                            4909,
                            4929
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 4938,
                      "end": 4993,
                      "loc": {
                        "start": {
                          "line": 127,
                          "column": 8
                        },
                        "end": {
                          "line": 128,
                          "column": 25
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 4942,
                        "end": 4966,
                        "loc": {
                          "start": {
                            "line": 127,
                            "column": 12
                          },
                          "end": {
                            "line": 127,
                            "column": 36
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 4942,
                          "end": 4949,
                          "loc": {
                            "start": {
                              "line": 127,
                              "column": 12
                            },
                            "end": {
                              "line": 127,
                              "column": 19
                            }
                          },
                          "name": "options",
                          "leadingComments": null
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 4950,
                          "end": 4966,
                          "loc": {
                            "start": {
                              "line": 127,
                              "column": 20
                            },
                            "end": {
                              "line": 127,
                              "column": 36
                            }
                          },
                          "name": "startImmediately"
                        },
                        "computed": false,
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 4980,
                        "end": 4993,
                        "loc": {
                          "start": {
                            "line": 128,
                            "column": 12
                          },
                          "end": {
                            "line": 128,
                            "column": 25
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 4980,
                          "end": 4992,
                          "loc": {
                            "start": {
                              "line": 128,
                              "column": 12
                            },
                            "end": {
                              "line": 128,
                              "column": 24
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 4980,
                            "end": 4990,
                            "loc": {
                              "start": {
                                "line": 128,
                                "column": 12
                              },
                              "end": {
                                "line": 128,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 4980,
                              "end": 4984,
                              "loc": {
                                "start": {
                                  "line": 128,
                                  "column": 12
                                },
                                "end": {
                                  "line": 128,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4985,
                              "end": 4990,
                              "loc": {
                                "start": {
                                  "line": 128,
                                  "column": 17
                                },
                                "end": {
                                  "line": 128,
                                  "column": 22
                                }
                              },
                              "name": "start"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Start render loop",
                          "start": 4909,
                          "end": 4929,
                          "loc": {
                            "start": {
                              "line": 126,
                              "column": 8
                            },
                            "end": {
                              "line": 126,
                              "column": 28
                            }
                          },
                          "range": [
                            4909,
                            4929
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 5005,
              "end": 5060,
              "loc": {
                "start": {
                  "line": 131,
                  "column": 4
                },
                "end": {
                  "line": 133,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5005,
                "end": 5010,
                "loc": {
                  "start": {
                    "line": 131,
                    "column": 4
                  },
                  "end": {
                    "line": 131,
                    "column": 9
                  }
                },
                "name": "start"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 5010,
                "end": 5060,
                "loc": {
                  "start": {
                    "line": 131,
                    "column": 9
                  },
                  "end": {
                    "line": 133,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 5013,
                  "end": 5060,
                  "loc": {
                    "start": {
                      "line": 131,
                      "column": 12
                    },
                    "end": {
                      "line": 133,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 5023,
                      "end": 5054,
                      "loc": {
                        "start": {
                          "line": 132,
                          "column": 8
                        },
                        "end": {
                          "line": 132,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5023,
                        "end": 5053,
                        "loc": {
                          "start": {
                            "line": 132,
                            "column": 8
                          },
                          "end": {
                            "line": 132,
                            "column": 38
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5023,
                          "end": 5034,
                          "loc": {
                            "start": {
                              "line": 132,
                              "column": 8
                            },
                            "end": {
                              "line": 132,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5023,
                            "end": 5027,
                            "loc": {
                              "start": {
                                "line": 132,
                                "column": 8
                              },
                              "end": {
                                "line": 132,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5028,
                            "end": 5034,
                            "loc": {
                              "start": {
                                "line": 132,
                                "column": 13
                              },
                              "end": {
                                "line": 132,
                                "column": 19
                              }
                            },
                            "name": "render"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 5035,
                            "end": 5052,
                            "loc": {
                              "start": {
                                "line": 132,
                                "column": 20
                              },
                              "end": {
                                "line": 132,
                                "column": 37
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 5035,
                              "end": 5050,
                              "loc": {
                                "start": {
                                  "line": 132,
                                  "column": 20
                                },
                                "end": {
                                  "line": 132,
                                  "column": 35
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 5035,
                                "end": 5046,
                                "loc": {
                                  "start": {
                                    "line": 132,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 132,
                                    "column": 31
                                  }
                                },
                                "name": "performance"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5047,
                                "end": 5050,
                                "loc": {
                                  "start": {
                                    "line": 132,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 132,
                                    "column": 35
                                  }
                                },
                                "name": "now"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 5066,
              "end": 5318,
              "loc": {
                "start": {
                  "line": 135,
                  "column": 4
                },
                "end": {
                  "line": 140,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5066,
                "end": 5072,
                "loc": {
                  "start": {
                    "line": 135,
                    "column": 4
                  },
                  "end": {
                    "line": 135,
                    "column": 10
                  }
                },
                "name": "resize"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 5072,
                "end": 5318,
                "loc": {
                  "start": {
                    "line": 135,
                    "column": 10
                  },
                  "end": {
                    "line": 140,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 5075,
                  "end": 5318,
                  "loc": {
                    "start": {
                      "line": 135,
                      "column": 13
                    },
                    "end": {
                      "line": 140,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 5085,
                      "end": 5136,
                      "loc": {
                        "start": {
                          "line": 136,
                          "column": 8
                        },
                        "end": {
                          "line": 136,
                          "column": 59
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5085,
                        "end": 5135,
                        "loc": {
                          "start": {
                            "line": 136,
                            "column": 8
                          },
                          "end": {
                            "line": 136,
                            "column": 58
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5085,
                          "end": 5096,
                          "loc": {
                            "start": {
                              "line": 136,
                              "column": 8
                            },
                            "end": {
                              "line": 136,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5085,
                            "end": 5089,
                            "loc": {
                              "start": {
                                "line": 136,
                                "column": 8
                              },
                              "end": {
                                "line": 136,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5090,
                            "end": 5096,
                            "loc": {
                              "start": {
                                "line": 136,
                                "column": 13
                              },
                              "end": {
                                "line": 136,
                                "column": 19
                              }
                            },
                            "name": "offset"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 5099,
                          "end": 5135,
                          "loc": {
                            "start": {
                              "line": 136,
                              "column": 22
                            },
                            "end": {
                              "line": 136,
                              "column": 58
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 5099,
                            "end": 5133,
                            "loc": {
                              "start": {
                                "line": 136,
                                "column": 22
                              },
                              "end": {
                                "line": 136,
                                "column": 56
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 5099,
                              "end": 5111,
                              "loc": {
                                "start": {
                                  "line": 136,
                                  "column": 22
                                },
                                "end": {
                                  "line": 136,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 5099,
                                "end": 5103,
                                "loc": {
                                  "start": {
                                    "line": 136,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 136,
                                    "column": 26
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5104,
                                "end": 5111,
                                "loc": {
                                  "start": {
                                    "line": 136,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 136,
                                    "column": 34
                                  }
                                },
                                "name": "context"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5112,
                              "end": 5133,
                              "loc": {
                                "start": {
                                  "line": 136,
                                  "column": 35
                                },
                                "end": {
                                  "line": 136,
                                  "column": 56
                                }
                              },
                              "name": "getBoundingClientRect"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5145,
                      "end": 5243,
                      "loc": {
                        "start": {
                          "line": 137,
                          "column": 8
                        },
                        "end": {
                          "line": 137,
                          "column": 106
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5145,
                        "end": 5242,
                        "loc": {
                          "start": {
                            "line": 137,
                            "column": 8
                          },
                          "end": {
                            "line": 137,
                            "column": 105
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5145,
                          "end": 5160,
                          "loc": {
                            "start": {
                              "line": 137,
                              "column": 8
                            },
                            "end": {
                              "line": 137,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 5145,
                            "end": 5152,
                            "loc": {
                              "start": {
                                "line": 137,
                                "column": 8
                              },
                              "end": {
                                "line": 137,
                                "column": 15
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5145,
                              "end": 5149,
                              "loc": {
                                "start": {
                                  "line": 137,
                                  "column": 8
                                },
                                "end": {
                                  "line": 137,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5150,
                              "end": 5152,
                              "loc": {
                                "start": {
                                  "line": 137,
                                  "column": 13
                                },
                                "end": {
                                  "line": 137,
                                  "column": 15
                                }
                              },
                              "name": "gl"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5153,
                            "end": 5160,
                            "loc": {
                              "start": {
                                "line": 137,
                                "column": 16
                              },
                              "end": {
                                "line": 137,
                                "column": 23
                              }
                            },
                            "name": "setSize"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 5161,
                            "end": 5196,
                            "loc": {
                              "start": {
                                "line": 137,
                                "column": 24
                              },
                              "end": {
                                "line": 137,
                                "column": 59
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 5161,
                              "end": 5178,
                              "loc": {
                                "start": {
                                  "line": 137,
                                  "column": 24
                                },
                                "end": {
                                  "line": 137,
                                  "column": 41
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 5161,
                                "end": 5172,
                                "loc": {
                                  "start": {
                                    "line": 137,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 137,
                                    "column": 35
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 5161,
                                  "end": 5165,
                                  "loc": {
                                    "start": {
                                      "line": 137,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 137,
                                      "column": 28
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5166,
                                  "end": 5172,
                                  "loc": {
                                    "start": {
                                      "line": 137,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 137,
                                      "column": 35
                                    }
                                  },
                                  "name": "offset"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5173,
                                "end": 5178,
                                "loc": {
                                  "start": {
                                    "line": 137,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 137,
                                    "column": 41
                                  }
                                },
                                "name": "width"
                              },
                              "computed": false
                            },
                            "operator": "*",
                            "right": {
                              "type": "MemberExpression",
                              "start": 5181,
                              "end": 5196,
                              "loc": {
                                "start": {
                                  "line": 137,
                                  "column": 44
                                },
                                "end": {
                                  "line": 137,
                                  "column": 59
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 5181,
                                "end": 5185,
                                "loc": {
                                  "start": {
                                    "line": 137,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 137,
                                    "column": 48
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5186,
                                "end": 5196,
                                "loc": {
                                  "start": {
                                    "line": 137,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 137,
                                    "column": 59
                                  }
                                },
                                "name": "resolution"
                              },
                              "computed": false
                            }
                          },
                          {
                            "type": "BinaryExpression",
                            "start": 5198,
                            "end": 5234,
                            "loc": {
                              "start": {
                                "line": 137,
                                "column": 61
                              },
                              "end": {
                                "line": 137,
                                "column": 97
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 5198,
                              "end": 5216,
                              "loc": {
                                "start": {
                                  "line": 137,
                                  "column": 61
                                },
                                "end": {
                                  "line": 137,
                                  "column": 79
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 5198,
                                "end": 5209,
                                "loc": {
                                  "start": {
                                    "line": 137,
                                    "column": 61
                                  },
                                  "end": {
                                    "line": 137,
                                    "column": 72
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 5198,
                                  "end": 5202,
                                  "loc": {
                                    "start": {
                                      "line": 137,
                                      "column": 61
                                    },
                                    "end": {
                                      "line": 137,
                                      "column": 65
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5203,
                                  "end": 5209,
                                  "loc": {
                                    "start": {
                                      "line": 137,
                                      "column": 66
                                    },
                                    "end": {
                                      "line": 137,
                                      "column": 72
                                    }
                                  },
                                  "name": "offset"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5210,
                                "end": 5216,
                                "loc": {
                                  "start": {
                                    "line": 137,
                                    "column": 73
                                  },
                                  "end": {
                                    "line": 137,
                                    "column": 79
                                  }
                                },
                                "name": "height"
                              },
                              "computed": false
                            },
                            "operator": "*",
                            "right": {
                              "type": "MemberExpression",
                              "start": 5219,
                              "end": 5234,
                              "loc": {
                                "start": {
                                  "line": 137,
                                  "column": 82
                                },
                                "end": {
                                  "line": 137,
                                  "column": 97
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 5219,
                                "end": 5223,
                                "loc": {
                                  "start": {
                                    "line": 137,
                                    "column": 82
                                  },
                                  "end": {
                                    "line": 137,
                                    "column": 86
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5224,
                                "end": 5234,
                                "loc": {
                                  "start": {
                                    "line": 137,
                                    "column": 87
                                  },
                                  "end": {
                                    "line": 137,
                                    "column": 97
                                  }
                                },
                                "name": "resolution"
                              },
                              "computed": false
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 5236,
                            "end": 5241,
                            "loc": {
                              "start": {
                                "line": 137,
                                "column": 99
                              },
                              "end": {
                                "line": 137,
                                "column": 104
                              }
                            },
                            "value": false,
                            "rawValue": false,
                            "raw": "false"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5252,
                      "end": 5278,
                      "loc": {
                        "start": {
                          "line": 138,
                          "column": 8
                        },
                        "end": {
                          "line": 138,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5252,
                        "end": 5277,
                        "loc": {
                          "start": {
                            "line": 138,
                            "column": 8
                          },
                          "end": {
                            "line": 138,
                            "column": 33
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5252,
                          "end": 5273,
                          "loc": {
                            "start": {
                              "line": 138,
                              "column": 8
                            },
                            "end": {
                              "line": 138,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5252,
                            "end": 5256,
                            "loc": {
                              "start": {
                                "line": 138,
                                "column": 8
                              },
                              "end": {
                                "line": 138,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5257,
                            "end": 5273,
                            "loc": {
                              "start": {
                                "line": 138,
                                "column": 13
                              },
                              "end": {
                                "line": 138,
                                "column": 29
                              }
                            },
                            "name": "invalidateCanvas"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 5274,
                            "end": 5276,
                            "loc": {
                              "start": {
                                "line": 138,
                                "column": 30
                              },
                              "end": {
                                "line": 138,
                                "column": 32
                              }
                            },
                            "value": 30,
                            "rawValue": 30,
                            "raw": "30"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5287,
                      "end": 5312,
                      "loc": {
                        "start": {
                          "line": 139,
                          "column": 8
                        },
                        "end": {
                          "line": 139,
                          "column": 33
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5287,
                        "end": 5311,
                        "loc": {
                          "start": {
                            "line": 139,
                            "column": 8
                          },
                          "end": {
                            "line": 139,
                            "column": 32
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5287,
                          "end": 5307,
                          "loc": {
                            "start": {
                              "line": 139,
                              "column": 8
                            },
                            "end": {
                              "line": 139,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5287,
                            "end": 5291,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 8
                              },
                              "end": {
                                "line": 139,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5292,
                            "end": 5307,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 13
                              },
                              "end": {
                                "line": 139,
                                "column": 28
                              }
                            },
                            "name": "invalidateViews"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 5308,
                            "end": 5310,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 29
                              },
                              "end": {
                                "line": 139,
                                "column": 31
                              }
                            },
                            "value": 30,
                            "rawValue": 30,
                            "raw": "30"
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 5324,
              "end": 5481,
              "loc": {
                "start": {
                  "line": 142,
                  "column": 4
                },
                "end": {
                  "line": 146,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5324,
                "end": 5340,
                "loc": {
                  "start": {
                    "line": 142,
                    "column": 4
                  },
                  "end": {
                    "line": 142,
                    "column": 20
                  }
                },
                "name": "invalidateCanvas"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 5340,
                "end": 5481,
                "loc": {
                  "start": {
                    "line": 142,
                    "column": 20
                  },
                  "end": {
                    "line": 146,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "AssignmentPattern",
                    "start": 5341,
                    "end": 5351,
                    "loc": {
                      "start": {
                        "line": 142,
                        "column": 21
                      },
                      "end": {
                        "line": 142,
                        "column": 31
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 5341,
                      "end": 5347,
                      "loc": {
                        "start": {
                          "line": 142,
                          "column": 21
                        },
                        "end": {
                          "line": 142,
                          "column": 27
                        }
                      },
                      "name": "frames"
                    },
                    "right": {
                      "type": "Literal",
                      "start": 5350,
                      "end": 5351,
                      "loc": {
                        "start": {
                          "line": 142,
                          "column": 30
                        },
                        "end": {
                          "line": 142,
                          "column": 31
                        }
                      },
                      "value": 1,
                      "rawValue": 1,
                      "raw": "1"
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 5353,
                  "end": 5481,
                  "loc": {
                    "start": {
                      "line": 142,
                      "column": 33
                    },
                    "end": {
                      "line": 146,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 5363,
                      "end": 5395,
                      "loc": {
                        "start": {
                          "line": 143,
                          "column": 8
                        },
                        "end": {
                          "line": 143,
                          "column": 40
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5363,
                        "end": 5394,
                        "loc": {
                          "start": {
                            "line": 143,
                            "column": 8
                          },
                          "end": {
                            "line": 143,
                            "column": 39
                          }
                        },
                        "operator": "+=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5363,
                          "end": 5384,
                          "loc": {
                            "start": {
                              "line": 143,
                              "column": 8
                            },
                            "end": {
                              "line": 143,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5363,
                            "end": 5367,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 8
                              },
                              "end": {
                                "line": 143,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5368,
                            "end": 5384,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 13
                              },
                              "end": {
                                "line": 143,
                                "column": 29
                              }
                            },
                            "name": "invalidateFrames"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 5388,
                          "end": 5394,
                          "loc": {
                            "start": {
                              "line": 143,
                              "column": 33
                            },
                            "end": {
                              "line": 143,
                              "column": 39
                            }
                          },
                          "name": "frames"
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 5404,
                      "end": 5475,
                      "loc": {
                        "start": {
                          "line": 144,
                          "column": 8
                        },
                        "end": {
                          "line": 145,
                          "column": 39
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 5408,
                        "end": 5434,
                        "loc": {
                          "start": {
                            "line": 144,
                            "column": 12
                          },
                          "end": {
                            "line": 144,
                            "column": 38
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 5408,
                          "end": 5429,
                          "loc": {
                            "start": {
                              "line": 144,
                              "column": 12
                            },
                            "end": {
                              "line": 144,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5408,
                            "end": 5412,
                            "loc": {
                              "start": {
                                "line": 144,
                                "column": 12
                              },
                              "end": {
                                "line": 144,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5413,
                            "end": 5429,
                            "loc": {
                              "start": {
                                "line": 144,
                                "column": 17
                              },
                              "end": {
                                "line": 144,
                                "column": 33
                              }
                            },
                            "name": "invalidateFrames"
                          },
                          "computed": false
                        },
                        "operator": ">",
                        "right": {
                          "type": "Literal",
                          "start": 5432,
                          "end": 5434,
                          "loc": {
                            "start": {
                              "line": 144,
                              "column": 36
                            },
                            "end": {
                              "line": 144,
                              "column": 38
                            }
                          },
                          "value": 60,
                          "rawValue": 60,
                          "raw": "60"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 5448,
                        "end": 5475,
                        "loc": {
                          "start": {
                            "line": 145,
                            "column": 12
                          },
                          "end": {
                            "line": 145,
                            "column": 39
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 5448,
                          "end": 5474,
                          "loc": {
                            "start": {
                              "line": 145,
                              "column": 12
                            },
                            "end": {
                              "line": 145,
                              "column": 38
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 5448,
                            "end": 5469,
                            "loc": {
                              "start": {
                                "line": 145,
                                "column": 12
                              },
                              "end": {
                                "line": 145,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5448,
                              "end": 5452,
                              "loc": {
                                "start": {
                                  "line": 145,
                                  "column": 12
                                },
                                "end": {
                                  "line": 145,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5453,
                              "end": 5469,
                              "loc": {
                                "start": {
                                  "line": 145,
                                  "column": 17
                                },
                                "end": {
                                  "line": 145,
                                  "column": 33
                                }
                              },
                              "name": "invalidateFrames"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "Literal",
                            "start": 5472,
                            "end": 5474,
                            "loc": {
                              "start": {
                                "line": 145,
                                "column": 36
                              },
                              "end": {
                                "line": 145,
                                "column": 38
                              }
                            },
                            "value": 60,
                            "rawValue": 60,
                            "raw": "60"
                          }
                        }
                      },
                      "alternate": null
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 5487,
              "end": 5630,
              "loc": {
                "start": {
                  "line": 148,
                  "column": 4
                },
                "end": {
                  "line": 152,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5487,
                "end": 5502,
                "loc": {
                  "start": {
                    "line": 148,
                    "column": 4
                  },
                  "end": {
                    "line": 148,
                    "column": 19
                  }
                },
                "name": "invalidateViews"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 5502,
                "end": 5630,
                "loc": {
                  "start": {
                    "line": 148,
                    "column": 19
                  },
                  "end": {
                    "line": 152,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "AssignmentPattern",
                    "start": 5503,
                    "end": 5513,
                    "loc": {
                      "start": {
                        "line": 148,
                        "column": 20
                      },
                      "end": {
                        "line": 148,
                        "column": 30
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 5503,
                      "end": 5509,
                      "loc": {
                        "start": {
                          "line": 148,
                          "column": 20
                        },
                        "end": {
                          "line": 148,
                          "column": 26
                        }
                      },
                      "name": "frames"
                    },
                    "right": {
                      "type": "Literal",
                      "start": 5512,
                      "end": 5513,
                      "loc": {
                        "start": {
                          "line": 148,
                          "column": 29
                        },
                        "end": {
                          "line": 148,
                          "column": 30
                        }
                      },
                      "value": 1,
                      "rawValue": 1,
                      "raw": "1"
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 5515,
                  "end": 5630,
                  "loc": {
                    "start": {
                      "line": 148,
                      "column": 32
                    },
                    "end": {
                      "line": 152,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 5525,
                      "end": 5543,
                      "loc": {
                        "start": {
                          "line": 149,
                          "column": 8
                        },
                        "end": {
                          "line": 149,
                          "column": 26
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5525,
                        "end": 5542,
                        "loc": {
                          "start": {
                            "line": 149,
                            "column": 8
                          },
                          "end": {
                            "line": 149,
                            "column": 25
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5525,
                          "end": 5535,
                          "loc": {
                            "start": {
                              "line": 149,
                              "column": 8
                            },
                            "end": {
                              "line": 149,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5525,
                            "end": 5529,
                            "loc": {
                              "start": {
                                "line": 149,
                                "column": 8
                              },
                              "end": {
                                "line": 149,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5530,
                            "end": 5535,
                            "loc": {
                              "start": {
                                "line": 149,
                                "column": 13
                              },
                              "end": {
                                "line": 149,
                                "column": 18
                              }
                            },
                            "name": "dirty"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 5538,
                          "end": 5542,
                          "loc": {
                            "start": {
                              "line": 149,
                              "column": 21
                            },
                            "end": {
                              "line": 149,
                              "column": 25
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      }
                    },
                    {
                      "type": "ForOfStatement",
                      "start": 5552,
                      "end": 5624,
                      "loc": {
                        "start": {
                          "line": 150,
                          "column": 8
                        },
                        "end": {
                          "line": 151,
                          "column": 36
                        }
                      },
                      "left": {
                        "type": "VariableDeclaration",
                        "start": 5557,
                        "end": 5565,
                        "loc": {
                          "start": {
                            "line": 150,
                            "column": 13
                          },
                          "end": {
                            "line": 150,
                            "column": 21
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 5561,
                            "end": 5565,
                            "loc": {
                              "start": {
                                "line": 150,
                                "column": 17
                              },
                              "end": {
                                "line": 150,
                                "column": 21
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 5561,
                              "end": 5565,
                              "loc": {
                                "start": {
                                  "line": 150,
                                  "column": 17
                                },
                                "end": {
                                  "line": 150,
                                  "column": 21
                                }
                              },
                              "name": "view"
                            },
                            "init": null
                          }
                        ],
                        "kind": "let"
                      },
                      "right": {
                        "type": "MemberExpression",
                        "start": 5569,
                        "end": 5586,
                        "loc": {
                          "start": {
                            "line": 150,
                            "column": 25
                          },
                          "end": {
                            "line": 150,
                            "column": 42
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 5569,
                          "end": 5580,
                          "loc": {
                            "start": {
                              "line": 150,
                              "column": 25
                            },
                            "end": {
                              "line": 150,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5569,
                            "end": 5573,
                            "loc": {
                              "start": {
                                "line": 150,
                                "column": 25
                              },
                              "end": {
                                "line": 150,
                                "column": 29
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5574,
                            "end": 5580,
                            "loc": {
                              "start": {
                                "line": 150,
                                "column": 30
                              },
                              "end": {
                                "line": 150,
                                "column": 36
                              }
                            },
                            "name": "canvas"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 5581,
                          "end": 5586,
                          "loc": {
                            "start": {
                              "line": 150,
                              "column": 37
                            },
                            "end": {
                              "line": 150,
                              "column": 42
                            }
                          },
                          "name": "views"
                        },
                        "computed": false
                      },
                      "body": {
                        "type": "ExpressionStatement",
                        "start": 5600,
                        "end": 5624,
                        "loc": {
                          "start": {
                            "line": 151,
                            "column": 12
                          },
                          "end": {
                            "line": 151,
                            "column": 36
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 5600,
                          "end": 5623,
                          "loc": {
                            "start": {
                              "line": 151,
                              "column": 12
                            },
                            "end": {
                              "line": 151,
                              "column": 35
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 5600,
                            "end": 5615,
                            "loc": {
                              "start": {
                                "line": 151,
                                "column": 12
                              },
                              "end": {
                                "line": 151,
                                "column": 27
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5600,
                              "end": 5604,
                              "loc": {
                                "start": {
                                  "line": 151,
                                  "column": 12
                                },
                                "end": {
                                  "line": 151,
                                  "column": 16
                                }
                              },
                              "name": "view"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5605,
                              "end": 5615,
                              "loc": {
                                "start": {
                                  "line": 151,
                                  "column": 17
                                },
                                "end": {
                                  "line": 151,
                                  "column": 27
                                }
                              },
                              "name": "invalidate"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 5616,
                              "end": 5622,
                              "loc": {
                                "start": {
                                  "line": 151,
                                  "column": 28
                                },
                                "end": {
                                  "line": 151,
                                  "column": 34
                                }
                              },
                              "name": "frames"
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          ]
        },
        "leadingComments": [],
        "trailingComments": []
      }
    }
  ]
}